mirror of
https://github.com/NousResearch/atropos.git
synced 2026-04-24 17:04:55 +00:00
Convert FOB submodule to regular folder
This commit is contained in:
parent
94f046ad40
commit
94825011a0
74 changed files with 4563 additions and 0 deletions
32
environments/optimizer/FOB/pytorch_fob/engine/grid_search.py
Normal file
32
environments/optimizer/FOB/pytorch_fob/engine/grid_search.py
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
from typing import Any
|
||||
|
||||
|
||||
def unique(xs: list) -> list:
|
||||
"""Returns deduplicated list"""
|
||||
res = []
|
||||
for x in xs:
|
||||
if x not in res:
|
||||
res.append(x)
|
||||
return res
|
||||
|
||||
|
||||
def grid_search(d: dict[str, Any]) -> list[dict[str, Any]]:
|
||||
ret = []
|
||||
if isinstance(d, dict):
|
||||
if len(d) == 0:
|
||||
return [dict()]
|
||||
copy = d.copy()
|
||||
k, v = copy.popitem()
|
||||
configs = unique(grid_search(v))
|
||||
rest = grid_search(copy)
|
||||
for r in rest:
|
||||
for config in configs:
|
||||
ret.append(r | {k: config})
|
||||
elif isinstance(d, list):
|
||||
for v in d:
|
||||
configs = grid_search(v)
|
||||
for config in configs:
|
||||
ret.append(config)
|
||||
else:
|
||||
ret.append(d)
|
||||
return ret
|
||||
Loading…
Add table
Add a link
Reference in a new issue