首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从命令行扩展omegaconf中的列表

从命令行扩展omegaconf中的列表
EN

Stack Overflow用户
提问于 2020-12-23 22:16:21
回答 1查看 193关注 0票数 1

我在一个yaml文件中有一个类似的配置

代码语言:javascript
复制
training_variables:
   - var1
   - var2

我想使用一个额外的变量来扩展这个列表,并且我想从命令行来完成。该怎么做呢?这似乎是不可能的,但我认为,如果您想尝试一个新的设置,而不是每次都更改配置文件,那么它会非常有用。我在想像这样的事情:

代码语言:javascript
复制
train.py training_variables=$training_variables+['var3']
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-24 01:20:52

这是不受支持的,并且计划在您请求的表单中不受支持。

一个实用的解决方案是将列表拆分为两个变量,并在代码中将它们连接起来。

代码语言:javascript
复制
base_list:
 - a
 - b
extra_list: []

train.py:

代码语言:javascript
复制
  ...
  combined_list = cfg.base_list + cfg.extra_list
  ...
代码语言:javascript
复制
$ python train.py 'extra_list=[c,d,e]'

我不能100%确定上面的命令行可以直接与使用OmegaConf的应用程序一起工作,但它应该可以与Hydra1.0或更新版本一起工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65425756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档