MCPcopy
hub / github.com/showlab/Show-o / flatten_omega_conf

Function flatten_omega_conf

show-o2/utils.py:23–51  ·  view source on GitHub ↗
(cfg: Any, resolve: bool = False)

Source from the content-addressed store, hash-verified

21
22
23def flatten_omega_conf(cfg: Any, resolve: bool = False) -> List[Tuple[str, Any]]:
24 ret = []
25
26 def handle_dict(key: Any, value: Any, resolve: bool) -> List[Tuple[str, Any]]:
27 return [(f"{key}.{k1}", v1) for k1, v1 in flatten_omega_conf(value, resolve=resolve)]
28
29 def handle_list(key: Any, value: Any, resolve: bool) -> List[Tuple[str, Any]]:
30 return [(f"{key}.{idx}", v1) for idx, v1 in flatten_omega_conf(value, resolve=resolve)]
31
32 if isinstance(cfg, DictConfig):
33 for k, v in cfg.items_ex(resolve=resolve):
34 if isinstance(v, DictConfig):
35 ret.extend(handle_dict(k, v, resolve=resolve))
36 elif isinstance(v, ListConfig):
37 ret.extend(handle_list(k, v, resolve=resolve))
38 else:
39 ret.append((str(k), v))
40 elif isinstance(cfg, ListConfig):
41 for idx, v in enumerate(cfg._iter_ex(resolve=resolve)):
42 if isinstance(v, DictConfig):
43 ret.extend(handle_dict(idx, v, resolve=resolve))
44 elif isinstance(v, ListConfig):
45 ret.extend(handle_list(idx, v, resolve=resolve))
46 else:
47 ret.append((str(idx), v))
48 else:
49 assert False
50
51 return ret
52
53
54##################################################

Callers 12

inference_mmu.pyFile · 0.90
inference_t2i.pyFile · 0.90
inference_mmu.pyFile · 0.90
mainFunction · 0.90
mainFunction · 0.90
inference_t2i.pyFile · 0.90
mainFunction · 0.90
inference_dpg.pyFile · 0.90
handle_dictFunction · 0.70
handle_listFunction · 0.70

Calls 2

handle_dictFunction · 0.70
handle_listFunction · 0.70

Tested by

no test coverage detected