Mettre à niveau XGBoost version 0.90 vers la version 1.5 - Amazon SageMaker

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Mettre à niveau XGBoost version 0.90 vers la version 1.5

Si vous utilisez le SDK SageMaker Python, pour mettre à niveau les tâches XGBoost 0.90 existantes vers la version 1.5, vous devez installer la version 2.x du SDK et modifier le XGBoost et ses paramètres sur 1.5-1. version framework_version Si vous utilisez Boto3, vous devez mettre à jour l'image Docker, ainsi que quelques hyperparamètres et objectifs d'apprentissage.

Mettre à niveau la version 1.x du SDK SageMaker Python vers la version 2.x

Si vous utilisez toujours la version 1.x du SDK SageMaker Python, vous devez mettre à niveau la version 2.x du SDK Python SageMaker . Pour plus d'informations sur la dernière version du SDK SageMaker Python, voir Utiliser la version 2.x du SDK SageMaker Python. Pour installer la dernière version, exécutez :

python -m pip install --upgrade sagemaker

Modifier la balise d'image à 1.5-1

Si vous utilisez le SDK SageMaker Python et l'algorithme intégré XGBoost, modifiez le paramètre de version dans. 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)

Si vous utilisez le SDK SageMaker Python et utilisez XGBoost comme framework pour exécuter vos scripts d'entraînement personnalisés, modifiez le framework_version paramètre dans l'API XGBoost.

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_inputdans le SDK SageMaker Python, la version 1.x a été renommée en. sagemaker.inputs.TrainingInput Vous devez utiliser sagemaker.inputs.TrainingInput comme dans l'exemple suivant.

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)

Pour la liste complète des modifications apportées à la version 2.x du SDK SageMaker Python, voir Utiliser la version 2.x du SDK Python SageMaker .

Modifier l'image Docker pour Boto3

Si vous utilisez Boto3 pour entraîner ou déployer votre modèle, remplacez la balise d'image Docker (1, 0.72, 0.90-1 or 0.90-2) par 1.5-1.

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

Si vous utilisez le SDK SageMaker Python pour récupérer le chemin du registre, modifiez le version paramètre dansimage_uris.retrieve.

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

Mettre à jour les hyperparamètres et les objectifs d'apprentissage

Le paramètre silent est désormais obsolète et n'est plus disponible dans XGBoost 1.5 et versions ultérieures. Utilisez verbosity à la place. Si vous utilisiez l'objectif d'apprentissage reg:linear, il est également obsolète et a été remplacé par reg:squarederror. Utilisez reg:squarederror à la place.

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