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

Amazon SageMaker训练模型无法识别,推理任务启动失败求助

问题分析与解决

核心问题

  1. 模型路径错误:你指定的model_s3_path指向的是训练任务的代码包sourcedir.tar.gz,而非训练完成后生成的模型文件。训练任务的S3目录中,source文件夹存放上传的训练代码,output文件夹才包含训练好的model.tar.gz。
  2. 模型未在SageMaker中注册:创建Model对象后未执行创建/部署操作,导致SageMaker系统中不存在该模型实例,model.name对应的模型无法被识别。

修正后的代码

import sagemaker
from sagemaker.model import Model

# 设置会话参数
sagemaker_session = sagemaker.Session()
role = sagemaker.get_execution_role()

# 修正模型路径:指向训练任务output目录下的model.tar.gz
model_s3_path = 's3://sagemaker-us-west-1-6584743930/pytorch-training-2024-05-16-15-18-34-042/output/model.tar.gz'
input_s3_path = 's3://some-bucket/inference/beauty_annotations_simple_transformer.csv' 
output_s3_path = 's3://some-bucket/inference/output/'

# 定义实例类型
instance_type = 'ml.m5.large'

# 创建Model对象
model = Model(
    model_data=model_s3_path,
    role=role,
    framework_version='2.0',
    entry_point='inference.py',
    source_dir='./source_dir'
)

# 直接通过Model创建Transformer(自动完成模型注册)
transformer = model.transformer(
    instance_count=1,
    instance_type=instance_type,
    output_path=output_s3_path,
    assemble_with='Line',
    accept='application/jsonlines',
)

# 启动批量转换任务
transformer.transform(
    data=input_s3_path,
    content_type='text/csv',
    split_type='Line',
)

# 等待任务完成
transformer.wait()

额外说明

  • 确认model.tar.gz存在于指定的S3路径中,训练任务完成后会自动将模型打包上传至该位置。
  • 使用model.transformer()方法可跳过手动注册模型的步骤,该方法会自动处理模型在SageMaker系统中的注册逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 16:27:11