从与主文件不同的文件夹中使用 Hydra 实例化对象

问题描述 投票:0回答:2

我的文件夹结构如下所示:

  • Hydra_配置
    • 数据集
      • dataset_config.yaml
    • config.yaml
  • 源代码
    • 数据集.py
  • 回购协议
    • 主.py

在main.py中,我可以将Hydra装饰器的config_path设置为“../Hydra_configs”。 在 config.yaml 中我有

datasets: dataset_config

在 dataset_config.yaml 中我有

_target_: src.KIBA_gluonts_dataset.py

在主文件中,我想用

实例化我的数据集
dataset = hydra.utils.instatiate(cfg.datasets)

但是当我运行它时,我收到错误

定位目标“src.KIBA_gluonts_dataset.py”时出错。 ModuleNotFoundError:没有名为“src”的模块

如何从与主文件所在文件夹不同的文件夹中实例化对象?

我尝试对

_target_
使用相对路径,但这是不允许的。我还搜索了类似于 run dir 或 swing dir 的 HydraConf 参数,但无济于事。

fb-hydra
2个回答
0
投票

Hydra 使用 Python 导入逻辑来查找引用的模块。 如果您可以导入模块,您应该能够在配置文件中使用相同的导入字符串来引用它。


0
投票

我错过了同样的问题,你解决了吗?

© www.soinside.com 2019 - 2024. All rights reserved.