hydora 中的 get_original_cwd() 函数请求初始化。
你能帮我吗?
import os
import hydra
from hydra.core.utils import setup_globals
from hydra.utils import get_original_cwd
from omegaconf import OmegaConf
with hydra.initialize(config_path="conf", version_base=None):
cfg = hydra.compose(config_name="try_config")
print(OmegaConf.to_yaml(cfg))
# reinitialize hydra
setup_globals()
output_dir = get_original_cwd() # ValueError: get_original_cwd() must only be used after HydraConfig is initialized
os.makedirs(output_dir, exist_ok=True)
with open(os.path.join(output_dir, "result.txt"), "w") as f:
f.write("Test")
错误
ValueError: get_original_cwd() must only be used after HydraConfig is initialized
try_config.yaml
a: 1
b: 2
hydra:
run:
dir: "outputs"
我将代码更改为以下。我想按类结构编写代码。也许代码满足了我的要求和九头蛇设计(规范)。
import hydra
from omegaconf import DictConfig
@hydra.main(config_path="conf",config_name="config")
def under_hydra(cfg:DictConfig):
Test(cfg_para=cfg,hydra_cfg=HydraConfig().get())