我在yaml文件中有一个类似的配置
training_variables:
- var1
- var2
我想使用一个额外的变量来扩展列表,并且我想从命令行进行扩展。怎么做?这似乎不可能,但我认为如果你想在每次都不更改配置文件的情况下尝试新的设置,这会非常有用。我想知道这样的事情:
train.py training_variables=$training_variables+['var3']
这是不支持的,也不打算在您请求的表单中得到支持。
一个实用的解决方案是将列表拆分为两个变量,并将它们连接到代码中。
base_list:
- a
- b
extra_list: []
train.py:
...
combined_list = cfg.base_list + cfg.extra_list
...
$ python train.py 'extra_list=[c,d,e]'
我不能100%确定上面的命令行是否能直接用于使用OmegaConf的应用程序,但它应该能用于Hydra 1.0或更新版本。