本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将 XGBoost 版本 0.90 升级到版本 1.5
如果你使用的是 SageMaker Python SDK,要将现有的 XGBoost 0.90 作业升级到 1.5 版,则必须安装软件开发工具包的 2.x 版本,然后将 XG version
Boost 和参数更改为 1.5-1。framework_version
如果您使用的是 Boto3,则需要更新 Docker 映像以及一些超参数和学习目标。
将 SageMaker Python SDK 版本 1.x 升级到版本 2.x
如果你仍在使用 SageMaker Python SDK 的 1.x 版本,则必须升级 Pyth SageMaker on SDK 的 2.x 版本。有关最新版本的 SageMaker Python 开发工具包的信息,请参阅使用 Pyth SageMaker on 开发工具包的 2.x 版本
python -m pip install --upgrade sagemaker
将映像标签更改为 1.5-1
如果您使用的是 SageMaker Python SDK 并使用 XGBoost 内置算法,请更改中的版本参数。image_uris.retrive
from sagemaker import image_uris image_uris.retrieve(framework="xgboost", region="us-west-2", version="1.5-1") estimator = sagemaker.estimator.Estimator(image_uri=xgboost_container, hyperparameters=hyperparameters, role=sagemaker.get_execution_role(), instance_count=1, instance_type='ml.m5.2xlarge', volume_size=5, # 5 GB output_path=output_path)
如果您使用 SageMaker Python SDK 并使用 XGBoost 作为框架来运行自定义训练脚本,请在 XGBoo framework_version
st API 中更改参数。
estimator = XGBoost(entry_point = "your_xgboost_abalone_script.py", framework_version='1.5-1', 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 软件开发工具包中,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 变更的完整列表,请参阅使用 Pyth SageMaker on SDK 的 2.x 版本
更改 Boto3 的 Docker 映像
如果您使用 Boto3 来训练或部署模型,请将 Docker 映像标签(1、0.72、0.90-1 或 0.90-2)更改为 1.5-1。
{ "AlgorithmSpecification":: { "TrainingImage": "746614075791.dkr.ecr.us-west-1.amazonaws.com/sagemaker-xgboost:1.5-1" } ... }
如果您使用 SageMaker Python SDK 检索注册表路径,请更改中的version
参数image_uris.retrieve
。
from sagemaker import image_uris image_uris.retrieve(framework="xgboost", region="us-west-2", version="1.5-1")
更新超参数和学习目标
静默参数已弃用,在 XGBoost 1.5 及更高版本中不再可用。请改用 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, ...)