带有AML上的数据存储参考的ScriptRunConfig

时间:2019-09-19 21:48:40

标签: azure-machine-learning-service

在尝试运行ScriptRunConfig时,请使用:

src = ScriptRunConfig(source_directory=project_folder, 
                      script='train.py', 
                      arguments=['--input-data-dir', ds.as_mount(),
                                 '--reg', '0.99'],
                      run_config=run_config) 
run = experiment.submit(config=src)

它不起作用,并且在我提交工作时与此有关:

... lots of things... and then
TypeError: Object of type 'DataReference' is not JSON serializable

但是,如果我使用Estimator运行它,它将起作用。区别之一是事实,ScriptRunConfig使用的是参数列表,另一个是字典。

感谢任何指针!

1 个答案:

答案 0 :(得分:2)

DataReference中使用ScriptRunConfig比仅进行ds.as_mount()要复杂得多。您需要将其转换为arguments中的字符串,然后使用从RunConfiguration创建的data_references更新DataReferenceConfiguration的{​​{1}}部分。请see here获取有关如何执行此操作的示例笔记本。

如果您只是从输入位置读取内容而未对其进行任何写操作,请签出Dataset。它使您可以精确地执行自己的工作而无需做任何额外的事情。 Here is an example notebook展示了这一点。

下面是笔记本的简短版本

ds