我正在 Azure 机器学习服务上构建数据转换和训练管道。我想将我安装的变压器(例如 tf-idf)保存到 blob,以便我的预测管道以后可以访问它。
transformed_data = PipelineData("transformed_data",
datastore = default_datastore,
output_path_on_compute="my_project/tfidf")
step_tfidf = PythonScriptStep(name = "tfidf_step",
script_name = "transform.py",
arguments = ['--input_data', blob_train_data,
'--output_folder', transformed_data],
inputs = [blob_train_data],
outputs = [transformed_data],
compute_target = aml_compute,
source_directory = project_folder,
runconfig = run_config,
allow_reuse = False)
上面的代码将转换器保存到当前运行的文件夹中,该文件夹在每次运行期间动态生成。
我想将转换器保存到 blob 上的固定位置,以便稍后在调用预测管道时访问它。
我尝试使用DataReference
类的实例作为PythonScriptStep
输出,但会导致错误:
ValueError: Unexpected output type: <class 'azureml.data.data_reference.DataReference'>
这是因为PythonScriptStep
只接受PipelineData
或OutputPortBinding
对象作为输出。
我怎样才能保存我安装的变压器,以便以后可以通过任何任意过程(例如我的预测管道)访问它?