我想在一个变量中传递所有参数。为了实现这一点,我在我的 Python 客户端中为 Papermill 传递了一个字典,使用:
params = {"aviral":"srivastava"}
pm.execute_notebook( 'path/to/input.ipynb', 'path/to/output.ipynb', parameters = params )
现在,我想从 bash 运行相应的命令。在文件中它指出:
papermill local/input.ipynb s3://bkt/output.ipynb -p alpha 0.6 -p l1_ratio 0.1
但是没有给出如何传递字典。
我尝试了许多排列和组合,例如:
papermill test_params.ipynb params_output.ipynb -p params {"aviral":"srivastava"}
papermill test_params.ipynb params_output.ipynb -p params '{"aviral":"srivastava"}'
dict
我还阅读了以格式传递 a :'{"aviral":"srivastava"}'
然后 json.loads 将完成这项工作。但我没有自由转换输入。它必须立即在脚本中使用。
只是一个最小的脚本来实际检查传递的变量的类型:
params = {} # I tag this with `parameter`
print(type(params))
print(params)
是的,我看到使用 papermill 运行时 params 变量发生了变化,但传递的值是一个完整的字符串。