def _searchSpaceList(self, space: SearchSpaceArray, *, size: int) -> List[SearchSpaceGrid]: sub_spaces = space.items(max=size) param_grids: List[List[SearchSpaceGrid]] = [ nest_all_HPparams( str(index), self.fixupDegenerateSearchSpaces(accept(sub, self))) for index, sub in enumerate(sub_spaces) ] param_grids_product: Iterable[ Iterable[SearchSpaceGrid]] = itertools.product(*param_grids) chained_grids: List[SearchSpaceGrid] = [ dict(ChainMap(*gridline, )) for gridline in param_grids_product ] if space.is_tuple: st_val = structure_type_tuple else: st_val = structure_type_list discriminated_grids: List[SearchSpaceGrid] = [{ **d, structure_type_name: SearchSpaceConstant(st_val) } for d in chained_grids] return discriminated_grids
def array_single_str_(self, space: SearchSpaceArray, path: str, num, useCounter=True) -> str: p = _mk_label(path, num, useCounter=useCounter) + "_" ret = "(" if space.is_tuple else "[" items: Iterable[SearchSpace] = space.items() ret += ",".join((accept(sub, self, p, counter=x, useCounter=useCounter) for x, sub in enumerate(items))) ret += ")" if space.is_tuple else "]" return ret
def array_single_expr_(self, space: SearchSpaceArray, path: str, num): p = _mk_label(path, num) + "_" items: Iterable[SearchSpace] = space.items() ret = [accept(sub, self, p, counter=x) for x, sub in enumerate(items)] return tuple(ret) if space.is_tuple else ret