问题标签 [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 回答
77 浏览

python - 一起使用 Typer 和 Hydra

我有一个简单的Typer应用程序:

我想使用Hydra来管理应用程序的配置,但是我不确定如何在不失去从 CLI 覆盖配置的能力的情况下做到这一点。

我的第一次尝试是:

但我收到一条错误消息:

如果我删除DictConfig类型注释,我会收到一个cfg缺失的错误。

我在Hydra文档中看到了Compose API,它允许在没有装饰器的情况下初始化配置:

但在这种情况下,我似乎无法从命令行覆盖配置,因为Typer应用程序无法识别这些值。

有什么建议可以解决吗?

0 投票
1 回答
41 浏览

pytorch - 如何使用枚举重新加载 hydra 配置

有没有更好的方法从枚举实验中重新加载 hydra 配置?现在我像这样重新加载它:

但 ENUM1 实际上是一个枚举,通常加载为

我可以通过向实验 hydra 文件添加 configstore 默认值来解决此问题:

现在导致

有没有更好的方法来做到这一点而不添加这个?或者我可以在 python 代码中添加默认值吗?

0 投票
1 回答
26 浏览

fb-hydra - Hydra 配置文档

Hydra提供了一种通过组合动态创建分层配置的方法,并通过配置文件和命令行覆盖它,利用OmegaConf。我寻找一种推荐的方法来记录参数,但我找不到(记录的)一个。什么是最佳实践?来自 argparse,我喜欢内联记录参数的方式,即接近代码。

0 投票
1 回答
12 浏览

fb-hydra - 如何正确生成多层次构图?

目前,我的 hydra 配置组织如下:

配置.yaml:

数据集 (IMDB.yamlREUT.yaml) 设置格式为:

模型 (BERT.yamlGPT.yaml) 设置格式为:

最后,损失函数设置 (CrossEntropyLoss.yamlTripletMarginLoss.yam) 采用以下结构:

运行以下入口点:

生成正确的配置组合:

但是,覆盖损失函数会生成错误的配置:

那么,如何正确生成多层次的构图呢?