如何在命令行上指定列表

Luc*_*uca 0 python zsh fb-hydra

我对 Hydra 有以下配置:

data_files: null
theta: 0.2
use_weights: true
Run Code Online (Sandbox Code Playgroud)

我可以将其重写为:

python -m apps.test_hydra data.data_files=x 
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试将列表指定为:

python -m apps.test_hydra data.data_files=[x,y] 
Run Code Online (Sandbox Code Playgroud)

然后我收到以下错误:

zsh: no matches found: data.data_files=[x,y]
Run Code Online (Sandbox Code Playgroud)

我不确定这是否是 zsh shell 或 Hydra 问题

Jak*_*kub 8

将字符串括在引号中以避免[被解释为全局表达式。

python -m apps.test_hydra 'data.data_files=[x,y]' 
Run Code Online (Sandbox Code Playgroud)

Hydra github 问题上,他们使用以下语法。你可能需要做类似的事情。

$ python -m apps.test_hydra 'data@data_files=[x, y]'
Run Code Online (Sandbox Code Playgroud)