目录
安装:
pip install hydra-core
Hydra 中用来加载配置文件
_cfg = hydra.compose(
config_name=config_name if config_name is not None else spu.FLAGS.config_name)
_cfg = hydra.compose(config_name="config")
这将会加载 config.yaml
文件,并将其内容解析到 _cfg
变量中,供后续的代码使用。
加载解决方法:
@functools.lru_cache()
def get_config(config_name=None):
global _cfg
if _cfg is not None:
return _cfg
hydra.core.global_hydra.GlobalHydra.instance().clear()
config_name=config_name if config_name is not None else spu.FLAGS.config_name
if config_name is not None and osp.isabs(config_name):
config_path = osp.dirname(config_name)
config_name = osp.basename(config_name)
hydra.initialize_config_dir(config_path, version_base='1.1')
else:
hydra.initialize(config_path='config', version_base='1.1')
_cfg = hydra.compose(config_name=config_name)
return _cfg
pyyaml也可以加载:
import yaml
#加载 YAML 配置文件
with open(f'{config_name}.yaml', 'r') as file:
_cfg = yaml.safe_load(file)