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

SageMaker重打包推理模型如何避免自动安装requirements.txt依赖?

解决SageMaker模型重打包时自动安装requirements依赖的问题

核心问题

你遇到的问题是SageMaker流水线在创建推理模型时,重打包流程默认使用ml.m5.large实例和scikit-learn:0.23-1-cpu-py3训练镜像(Python 3.7环境),但你的requirements.txt中指定了需要Python 3.8+的依赖版本,导致安装失败。而实际上你只需要把requirements.txt和推理代码一起打包,不需要在重打包阶段安装依赖。

直接解决方案:跳过打包阶段的依赖安装

在创建Model对象时,添加skip_requirements_install=True参数,即可阻止重打包流程尝试安装requirements.txt中的依赖包,仅完成文件打包操作:

pytorch_model = Model(
    image_uri=inf_img_uri,
    model_data=step_train.properties.ModelArtifacts.S3ModelArtifacts,
    role=role,
    entry_point='inference.py',
    sagemaker_session=PipelineSession(),
    source_dir=os.path.join(LIB_DIR, "test"),  # 包含inference.py和requirements.txt
    name=model_name,
    skip_requirements_install=True  # 关键参数:跳过打包阶段的依赖安装
)

原理说明

  • 该参数会让SageMaker仅将source_dir下的所有文件(包括requirements.txt)打包成tar.gz,不会触发依赖安装流程,避免了旧训练镜像的Python版本不兼容问题。
  • 推理阶段,你指定的PyTorch推理镜像(Python 3.8版本)会自动读取requirements.txt并安装所需依赖,无需手动在inference.py中执行pip install,解决了Batch Inference重复安装的问题。

内容的提问来源于stack exchange,提问作者Giuseppe La Gualano

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 09:01:12