首页 > 解决方案 > 如何将 Azure 机器学习批量评分结果写入数据湖?

问题描述

我正在尝试将批处理评分的输出写入数据湖:

    parallel_step_name = "batchscoring-" + datetime.now().strftime("%Y%m%d%H%M")
    
    output_dir = PipelineData(name="scores", 
                              datastore=def_ADL_store,
                              output_mode="upload",
                              output_path_on_compute="path in data lake")

parallel_run_config = ParallelRunConfig(
    environment=curated_environment,
    entry_script="use_model.py",
    source_directory="./",
    output_action="append_row",
    mini_batch_size="20",
    error_threshold=1,
    compute_target=compute_target,
    process_count_per_node=2,
    node_count=2
)
    
    batch_score_step = ParallelRunStep(
        name=parallel_step_name,
        inputs=[test_data.as_named_input("test_data")],
        output=output_dir,
        parallel_run_config=parallel_run_config,
        allow_reuse=False
    )

但是我遇到了错误:“code”:“UserError”,“message”:“用户程序失败并出现异常:缺少参数--输出或其值为空。”

如何将批处理分数的结果写入数据湖?

标签: azure-data-lakeazure-machine-learning-service

解决方案


我不认为 ADLS 支持PipelineData. 我的建议是使用工作区的默认 blob 存储PipelineData,然后在完成后使用DataTransferStepfor ParallelRunStep


推荐阅读