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

AWS SageMaker XGBoost容器加载模型遇AttributeError问题求助

问题原因与解决方案

问题根源

你用SageMaker XGBoost容器1.5-1加载的是scikit-learn接口的XGBClassifier对象,但容器的算法模式服务代码只兼容原生XGBoost Booster模型。容器代码会调用set_param方法,而XGBClassifier没有这个方法,因此触发AttributeError。

解决方案

1. 重新训练时直接保存原生Booster模型

如果是新训练的模型,不要保存XGBClassifier对象,而是提取内部的Booster再保存:

from xgboost import XGBClassifier

# 训练模型
model = XGBClassifier(...)
model.fit(X_train, y_train)

# 提取原生Booster并保存
booster = model.get_booster()
booster.save_model("model.bst")

2. 转换已有的XGBClassifier模型为Booster格式

如果已经有保存好的XGBClassifier,可以先加载后转换:

from xgboost import XGBClassifier

# 加载XGBClassifier
loaded_model = XGBClassifier()
loaded_model.load_model("path/to/your/saved_model")

# 提取Booster并保存为兼容格式
booster = loaded_model.get_booster()
booster.save_model("model.bst")

3. 部署到SageMaker时使用正确的模型文件

将转换后的model.bst文件打包成模型归档(tar.gz),上传到S3后部署到SageMaker XGBoost容器,容器就能正确加载模型并处理推理请求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 19:45:40