如何将数据集输入作为参数提交给 AZ ML CLI 运行 提交管道命令?

How to submit Dataset Input as a Parameter to AZ ML CLI run submit-pipeline command?

要在 az ml cli run submit-pipeline 命令中提交参数,我们使用语法:

az ml run submit-pipeline –datapaths [DataPATHS Name=datastore/datapath] --experiment-name [Experiment_Name] --parameters [String_parameters Name=Value] --pipeline-id [ID]--resource-group [RGP] --subscription-id [SUB_ID] --workspace-name [AML_WS_NAME]

这将通过管道提交数据路径和一些字符串参数。我们如何使用 az ml cli run submit-pipeline 命令提交数据集引用?

例如,文档笔记本:aml-pipelines-showcasing-dataset-and-pipelineparameter

要提交数据集 Class 参考,我们会这样做:

iris_tabular_ds = Dataset.Tabular.from_delimited_files('link/iris.csv')
pipeline_run_with_params = experiment.submit(pipeline, pipeline_parameters={'tabular_ds_param': iris_tabular_ds})

使用 REST 调用的语法是:

response = requests.post(rest_endpoint, 
                         headers=aad_token, 
                         json={"ExperimentName": "MyRestPipeline",
                               "RunSource": "SDK",
                               "DataSetDefinitionValueAssignments": { "tabular_ds_param": {"SavedDataSetReference": {"Id": iris_tabular_ds.id}}}
                              }
                        )

使用 az ml cli 实现此目的的语法是什么?

要从 AZ ML CLI 使用它,我们使用以下语法:

    curl -X POST [Pipeline_REST_Endpoint] -H "Authorization: Bearer $(az account get-access-token --query accessToken -o tsv)" -H "Content-Type: application/json" --data-binary @- <<DATA
{"ExperimentName": "[ExperimentName]",
                               "RunSource": "SDK",
                               "DataSetDefinitionValueAssignments": {"tabular_ds_param": 
                                                                     {"SavedDataSetReference": 
                                                                      {"Id":"[Dataset_ID]"}
                                                                     }
                                                                    }
                              }
DATA

我们使用简单的 REST 调用,因为 az ml run submit-pipeline 没有数据集参数并且数据路径没有达到预期的结果。