Я хочу передать все параметры в одной переменной.Чтобы это произошло, я передаю словарь в своем 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
в формате: '{"aviral":"srivastava"}'
, и тогда json.loads сделает эту работу.Но у меня нет свободы для преобразования входных данных.Он должен использоваться сразу в скрипте.
Просто минимальный скрипт для проверки типа передаваемой переменной:
params = {} # I tag this with `parameter`
print(type(params))
print(params)
Да, я вижу, что переменная params изменилась, когдаработает на бумажной фабрике, но переданное значение является полной строкой.