问题标签 [hydra-python]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1262 浏览

fb-hydra - 使用 hydra 组合的值插值

我正在使用具有以下结构的 hydra 组合物:

  • 配置.yaml
  • 数据/dataset_01.yaml
  • 模型/bert.yaml
  • 入口点

在 的上下文中hparams.model,OmegaConf 无法插入密钥data.name,因为它不在范围内。因此,如果有一种方法可以在应用程序开始时进行插值,那就太好了。

0 投票
1 回答
373 浏览

fb-hydra - Hydra 参数并行扫描(例如,Ray Tune)

我见过最近添加的ray_launcher插件和Ax插件。

我想知道:有没有办法使用当前支持的插件并行启动参数扫描?我们应该等待“ray_tune”插件能够这样做吗?

提前非常感谢!

0 投票
1 回答
183 浏览

fb-hydra - 在装饰方法中访问 hydra 配置

我想从装饰功能访问 hydra 配置,例如清扫器:

是否有任何参数可以传递给@hydra.main()不删除该配置,或者是否有其他地方可以找到它?谢谢。

0 投票
2 回答
644 浏览

fb-hydra - 将配置节点列表设置为 yaml 中的值条目,与 Hydra 中的结构化配置形成对比

我想获取一个配置列表作为(默认)值条目,并使用结构化模式来验证输入列表。

例如,在trainer.yaml

callbacks/checkpointer.yamlcallbacks/early_stopping.yaml我有一个链接到适当的结构化配置作为默认值,例如:

结构化架构:

和配置存储:

我不确定完成此操作的正确语法是什么(我尝试过的方法失败了)。我得到一个omegaconf.errors.ConfigTypeError: Cannot merge DictConfig with ListConfig.

有没有办法做到这一点?谢谢。

0 投票
1 回答
152 浏览

fb-hydra - 将结构化配置设置为 yaml 配置文件中属性的节点值

我想将结构化配置设置为某些条目的默认节点值。我不知道如何做到这一点。我尝试了以下方法:

where/trainer_lib/trainer/base_trainer已添加到我的脚本中的 ConfigStore。

我能够正确初始化它的唯一方法是通过

trainer/some_trainer.yaml写入默认值/trainer_lib/trainer/base_trainer@_here_

有没有一种方法可以跳过创建trainer/some_trainer.yaml文件?谢谢你。

0 投票
1 回答
55 浏览

fb-hydra - hydras 用 Ax 扫过不同的配置组

我有一个名为 scheduler 的配置组,其中包含许多优化器调度程序,每个都有自己的参数。是否可以创建一个扫描,以便我可以探索许多调度程序,并在每个调度程序同时探索该调度程序的不同参数。

我目前拥有的是以下内容:

我想要这样的东西:

0 投票
1 回答
594 浏览

fb-hydra - 使用文件而不是 Hydra 配置中的变量专门配置

我想根据 Hydra 文档在 Common Patterns -> Specializing Configuration 中使用专门的配置。不同之处在于我的专门配置是在一个文件中,而不仅仅是一个变量。在下面的示例中,我想根据模型和数据集选择转换。不同转换的配置在文件中。如果我在 dataset_model/cifar10_alexnet.yaml 文件中指定了所有转换配置,这将起作用,但这会破坏目的,因为在这种情况下我无法重用转换配置。在 Hydra 的其他地方,如果您指定文件名,它会自动获取该文件中的配置,但它似乎不适用于专门的配置。

我已将文档中的示例修改如下:

配置.yaml:

在该目录中添加了名为 transform 的目录和两个文件:

作物.yaml:

调整大小.yaml:

更改文件 dataset_model/cifar10_alexnet.yaml:

其他一切都完全按照文档。当我运行它时,我得到一个异常:

所以,问题是 - 是否支持此功能,如果支持,我做错了什么?

0 投票
2 回答
434 浏览

python - 使用 Pytorch Lightning 时关闭 Hydra 的控制台日志记录

有没有办法关闭 Hydra 的控制台日志记录,但保留文件日志记录?我遇到了 Hydra 复制所有控制台打印的问题。这些打印由 Pytorch Lightning 处理,我希望它们保持这种状态。但是,我很喜欢 hydra 将它们记录到文件中(每次打印一次),但我不想在控制台中看到我的打印两次。

0 投票
1 回答
178 浏览

python - Hydra runtime type checking does not work when config name specified in command line

The following code snippet works as expected when running the script without any parameters (execution stops because of missing argument in config):

How ever, when i specify this config name via command line, it seems that type checking is not happening:

0 投票
1 回答
586 浏览

python - 在深度学习模型推理期间使用 hydra 的最佳方式

我目前正在为我的深度学习项目试验 hydra-conf。对于培训,我遵循文档中显示的方式:

  • 配置文件的文件夹,一个主要的config.yml文件,在额外的文件夹中有额外的配置组
  • 我的主要方法用 @hydra.main(...) 装饰来初始化/加载配置

当我的模型被训练时,我保存了相应的状态字典。

现在的问题是,使用 hydra 进行模型推理的预期方法是什么?我的想法是在加载状态字典之前,使用模型检查点以及 .hydra 文件夹中特定于运行config.yml文件来获取实例化模型所需的构造函数参数。

有没有更好的方法来实现我的目标?

编辑 1: 当尝试使用 @hydra.main() 方法时,我不知道如何将动态配置文件路径传递给装饰器,因为这将由用户提供(场景:我想对通过在 hydra 创建的 training-run 文件夹中提供配置文件的路径来创建特定模型)