我想通过命令行控制kedro参数
根据docs,kedro可以如下指定运行时参数:
kedro run --params key:value
> {'key': 'value'}
它起作用了。同样,我尝试指定列表参数,如下所示:
kedro run --params keys:['value1']
> {'keys': '[value1]'}
它不起作用,因为kedro interplets不是list而是str。也许,this answer可能有关联
希望提及一些事情,使kedro能够评估列表参数,如yaml
Tags:
默认情况下,
kedro
命令行不会将参数类型转换为更简单的数字类型。更复杂的参数应该通过parameters.yml
文件处理也就是说,如果您真的想这样做,您可以修改
kedro_cli.py
来支持这一点。具体来说,您需要修改文件中的_split_params
回调函数。这里最简单的一件事可能是更改以下行它处理将简单数字类型解析为
使它能够解析更广泛的类型。也就是说,解析作为
json
传入的CLI参数(因此还需要注意引号,并确保传入有效的json
语法如果不起作用,您可以尝试添加自己的语法并在该函数中对其进行解析。但是,我的建议是避免依赖CLI中的脆弱字符串参数计算,而是使用
parameters.yml
除了Zain的answer之外,还可以使用CLI config指定额外的参数。其中
config.yml
将类似于:但要再次强调:我们强烈建议不要在额外的CLI参数中添加复杂结构。一种建议的方法是利用configuration environments来实现这一点
相关问题 更多 >
编程相关推荐