Can't load xgboost models created with Sagemaker Estimator

0

Stumbled upon this while trying to evaluate my xgboost model:

model = pickle.load(open("./data/xgboost-model", "rb"))
UnpicklingError: unpickling stack underflow

The model was trained using :

container = image_uris.retrieve(framework='xgboost', region=boto3.Session().region_name, version='1.3-1')

Any ideas on how I can load the model? Thanks.

  • Hi Dani, I'm able to load the XGBoost model trained using a built-in container using the same script you've used above. Can you re-download the pickle file from S3 and try it again? From the error, it looks like it might be an issue with partial file download.

DaniV
質問済み 2年前893ビュー
1回答
1

Hello,

I see that you are using XGBoost version = 1.3-1

Looks like the latest xgboost have changed the way the model is saved or loaded.

If you are using pickle to load the model, then try using the previous version of xgboost, such as 1.2-1, which will get loaded successfully.

https://stackoverflow.com/questions/69099627/what-causes-an-unpickling-stack-underflow-when-trying-to-serialize-a-succesfully

If you would like to use version 1.3-1, you can load it the following way -

=================

import xgboost as xgb

model = xgb.Booster()

model.load_model('xgboost-model')

=================

If you still continue to face the issue, I would recommend you to open a case with AWS Premium Support SageMaker team so that we can discuss more on the use case along with the implementation required for your use case Open a support case with AWS using the link: https://console.aws.amazon.com/support/home?#/case/create

AWS
Bunny
回答済み 2年前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ