附加参数通过in传递给KedroContext
对象。在这里,您可以看到有一个回调(受保护)函数调用,它将键值对拆分为.load_context(Path.cwd(), env=env, extra_params=params)
kedro_cli.py
_split_params
:
这_split_params
首先将字符串拆分为逗号(以获取多个参数),然后拆分为冒号。实际上添加一个打印/日志记录的语句extra_params
将向您显示如下内容:
{'train.batch_size': 64, 'train.epochs': 50}
我认为你有几个选择:
- 取消嵌套参数。这样你就可以正确地覆盖它们。
- 将自定义逻辑添加到
_split_params
inkedro_cli.py
以在字符上创建嵌套字典,该字典.
将传递到上述 func 中。我认为你可以重用很多现有的逻辑。
注意:这是在kedro==0.16.2
.
NB2:kedro
拆分嵌套参数_get_feed_dict
的方式是_add_param_to_feed_dict
使用context.py
. 具体来说,_add_param_to_feed_dict
是一个递归函数,它解包字典并格式化为"{}.{}".format(key, value)
. IMO 你可以使用这里的逻辑。