XGBoost Version 0.90 auf Version 1.5 aktualisieren - Amazon SageMaker KI

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

XGBoost Version 0.90 auf Version 1.5 aktualisieren

Wenn Sie das SageMaker Python-SDK verwenden, müssen Sie zum Upgrade vorhandener XGBoost 0.90-Jobs auf Version 1.5, die Version 2.x des SDK installiert haben und XGBoost version und framework_version die Parameter auf 1.5-1 ändern. Wenn Sie Boto3 verwenden, müssen Sie das Docker-Image sowie einige Hyperparameter und Lernziele aktualisieren.

SageMaker AI Python SDK-Version 1.x auf Version 2.x aktualisieren

Wenn Sie immer noch Version 1.x des SageMaker Python-SDK verwenden, müssen Sie Version 2.x des SageMaker Python-SDK aktualisieren. Informationen zur aktuellsten Version des SageMaker Python-SDK finden Sie unter Verwenden von Version 2.x des SageMaker Python-SDK. Um die aktuellste Version zu installieren, führen Sie Folgendes aus:

python -m pip install --upgrade sagemaker

Ändern Sie das Image-Tag auf 1.5-1

Wenn Sie das Python-SDK von SageMaker und den integrierten XGBoost-Algorithmus verwenden, ändern Sie den Versionsparameter in 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)

Wenn Sie das SageMaker Python-SDK und XGBoost als Framework für die Ausführung Ihrer benutzerdefinierten Trainings-Skripte verwenden, ändern Sie den framework_version Parameter in der XGBoost-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 in SageMaker wurde Python-SDK Version 1.x in sagemaker.inputs.TrainingInput umbenannt. Sie müssen sagemaker.inputs.TrainingInput wie im folgenden Beispiel gezeigt, verwenden.

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)

Die vollständige Liste der Änderungen an der SageMaker Python-SDK Version 2.x finden Sie unter Verwenden von Version 2.x des SageMaker Python-SDK.

Docker-Image für Boto3 ändern

Wenn Sie Boto3 zum Trainieren oder Bereitstellen Ihres Modells verwenden, ändern Sie das Docker-Image-Tag (1, 0.72, 0.90-1 oder 0.90-2) auf 1.5-1.

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

Wenn Sie das SageMaker Python-SDK verwenden, um den Registry-Pfad abzurufen, ändern Sie den version Parameter in image_uris.retrieve.

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

Hyperparameter und Lernziele aktualisieren

Der Silent-Parameter ist veraltet und in XGBoost 1.5 und späteren Versionen nicht mehr verfügbar. Verwenden Sie stattdessen verbosity. Wenn Sie das reg:linear Lernziel verwendet haben, wurde es ebenfalls zugunsten von reg:squarederror als veraltet eingestuft. Verwenden Sie stattdessen reg:squarederror.

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