将 0.90 版升级到 1.2 版 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将 0.90 版升级到 1.2 版

如果您使用的是 SageMaker Python 软件开发工具包,要将现有的 XGBoost 0.90 作业升级到版本 1.2,您必须安装该软件开发工具包的 2.x 版,并将 XGBoostversionframework_version参数设置为 1.2-2。如果您使用的是 Bot3,则需要更新 Docker 映像以及一些超参数和学习目标。

将 SageMaker Python 软件开发工具包 1.x 版升级到 2.x 版

如果您仍在使用 SageMaker Python 开发工具包的 1.x 版本,则必须升级版本 2.x 的 SageMaker Python 开发工具包。有关 SageMaker Python SDK 的最新版本的信息,请参阅使用 SageMaker Python 开发工具包的 2.x 版本. 要安装最新版本,请运行:

python -m pip install --upgrade sagemaker

将图像标签更改为 1.2-2

如果您使用的是 SageMaker Python 软件开发工具包并使用 XGBoost 内置算法,请在image_uris.retrive.

from sagemaker import image_uris image_uris.retrieve(framework="xgboost", region="us-west-2", version="1.2-2") estimator = sagemaker.estimator.Estimator(image_uri=xgboost_container, hyperparameters=hyperparameters, role=sagemaker.get_execution_role(), instance_count=1, instance_type='ml.m5.2xlarge', train_volume_size=5, # 5 GB output_path=output_path)

如果您使用的是 SageMaker Python SDK,并使用 XGBoost 作为框架来运行自定义训练脚本,请将framework_version参数。

estimator = XGBoost(entry_point = "your_xgboost_abalone_script.py", framework_version='1.2-2', hyperparameters=hyperparameters, role=sagemaker.get_execution_role(), instance_count=1, instance_type='ml.m5.2xlarge', output_path=output_path)

sagemaker.session.s3_input在 SageMaker Python SDK 版本 1.x 中已重命名为sagemaker.inputs.TrainingInput. 您必须使用sagemaker.inputs.TrainingInput,如以下示例所示。

content_type = "libsvm" train_input = TrainingInput("s3://{}/{}/{}/".format(bucket, prefix, 'train'), content_type=content_type) validation_input = TrainingInput("s3://{}/{}/{}/".format(bucket, prefix, 'validation'), content_type=content_type)

有关 SageMaker Python SDK 版本 2.x 更改的完整列表,请参阅使用 SageMaker Python 开发工具包的 2.x 版本.

更改 Boto3 的 Docker 映像

如果您使用 Bot3 来训练或部署模型,请将码头图像标签(0.90-1 或 0.90-2)更改为 1.2-2。

{ "AlgorithmSpecification":: { "TrainingImage": "746614075791.dkr.ecr.us-west-1.amazonaws.com/sagemaker-xgboost:1.2-2" } ... }

如果您使用 SageMaker Python 软件开发工具包检索注册表路径,请更改version中的参数image_uris.retrieve.

from sagemaker import image_uris image_uris.retrieve(framework="xgboost", region="us-west-2", version="1.2-2")

更新超参数和学习目标

静默参数已弃用,并在 XGBoost 1.2 及更高版本中不再可用。请改用 verbosity。如果您正在使用reg:linear学习目标,它已被弃用以及 reg:squarederror. 请改用 reg:squarederror

hyperparameters = { "verbosity": "2", "objective": "reg:squarederror", "num_round": "50", ... } estimator = sagemaker.estimator.Estimator(image_uri=xgboost_container, hyperparameters=hyperparameters, ...)