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

SageMaker CreateTransformJob报找不到DeepAR模型错误如何解决

报错原因
  • 核心问题是混淆了SageMaker训练作业和可调用模型实体的概念:训练作业完成后仅会在S3存储桶生成模型权重压缩包,不会自动在SageMaker推理模块注册可被批量转换、端点部署调用的模型资源。你从训练作业详情页复制的字符串只是训练作业的命名后缀,并非SageMaker模型列表中真实存在的模型名,接口按传入名称拼接资源ARN后自然查询不到对应模型。
  • 潜在风险点:你代码中初始化boto3 SageMaker客户端时未显式指定区域,如果本地/运行环境默认区域和模型所在的eu-central-1不一致,也会触发跨区找不到资源的问题;另外你写的DEEPAR_INFERENCE_CONFIG环境变量存在JSON语法错误,双引号未转义,就算模型匹配成功也会报参数校验失败。
修复方法
  1. 先注册可供批量转换调用的SageMaker模型
    两种实现方式二选一即可:
    • 控制台操作:进入SageMaker控制台的「推理」-「模型」板块,点击创建模型,填写和训练作业一致的IAM执行角色,模型数据源选择本次训练作业输出到S3的model.tar.gz文件路径,算法镜像选择对应版本的DeepAR内置算法镜像,模型名称可直接使用你之前写的forecasting-deepar-2022-06-21-14-12-51-560,创建完成后回到模型列表确认该名称存在即可。
    • 代码操作:如果你是通过SageMaker Python SDK完成的训练,直接调用训练生成的estimator对象的create_model()方法,即可自动完成镜像、模型路径、角色的配置,完成模型注册。
  2. 修正代码参数问题
    初始化boto3客户端时显式指定区域,避免跨区调用:
    import boto3
    boto3_sm = boto3.client('sagemaker', region_name='eu-central-1')
    
    修复环境变量的JSON转义错误:
    "Environment": {
        "DEEPAR_INFERENCE_CONFIG" : "{ \"num_samples\": 200, \"output_types\": [\"mean\"] }"
    }
    
  3. 补全批量转换任务的输入参数
    你贴出的代码中省略了TransformInput配置块,注意要将该配置块中的ContentType设置为application/jsonlines,匹配DeepAR批量推理的输入格式要求,同时确认输入S3路径、输出S3路径填写正确。
  4. 重新调用create_transform_job接口提交任务即可正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 17:51:22