You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure ML提交命令作业报错:作业输入路径不能为空

排查Azure ML命令作业“输入路径不能为空”错误

1. 核对前置预处理作业的输出传递

  • 确认预处理作业的train_data和test_data输出已正确保存为MLflow制品或Azure ML数据资产,且路径不为空。
  • 检查训练作业中引用这两个输入的格式是否正确,比如:
    from azure.ai.ml import Input
    train_data = Input(type="uri_folder", path=f"azureml://jobs/{prep_job.name}/outputs/train_data")
    test_data = Input(type="uri_folder", path=f"azureml://jobs/{prep_job.name}/outputs/test_data")
    
  • 确认预处理作业状态是Completed,如果作业失败,输出路径必然为空。

2. 验证训练作业的输入定义

  • 确保训练作业inputs字典里,train_data和test_data的type参数(比如uri_folder或uri_file)和预处理输出类型匹配,且path参数没被意外设为空字符串。
  • 排查是否存在变量未正确赋值就传入输入路径的情况,比如:
    # 错误示例:prep_train_output未正确获取预处理作业输出
    training_job.inputs.train_data = Input(type="uri_folder", path=prep_train_output)
    

3. 检查train.py的输入读取逻辑

  • 确认train.py里通过args.train_data和args.test_data获取输入路径的代码正常,没有把路径设为空的操作。比如参数解析部分:
    import argparse
    parser = argparse.ArgumentParser()
    parser.add_argument("--train_data", type=str, required=True)
    parser.add_argument("--test_data", type=str, required=True)
    args = parser.parse_args()
    # 排查是否有代码将args.train_data/args.test_data置空
    

4. 检查作业提交前的参数状态

  • 在调用ml_client.create_or_update(training_job)之前,打印training_job.inputs确认四个输入都已正确赋值,没有空值或遗漏:
    print(training_job.inputs)
    ml_client.create_or_update(training_job)
    
  • 核对输入参数名称是否拼写正确,比如别把train_data写成train_data_,导致实际传递的输入不匹配。

5. 排查数据资产的权限与路径有效性

  • 如果预处理输出是注册的数据资产,确认训练作业用的计算集群有权限访问该资产的存储路径(比如Blob存储的SAS权限或托管标识权限)。
  • 登录Azure ML Studio查看数据资产详情,确认路径指向的存储位置确实存在文件或文件夹。

内容的提问来源于stack exchange,提问作者Karthik S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 15:42:08