Actualizar la versión 0.90 de XGBoost a la versión 1.5 - Amazon SageMaker AI

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Actualizar la versión 0.90 de XGBoost a la versión 1.5

Si utiliza el SageMaker Python SDK, a fin de actualizar los trabajos de XGBoost 0.90 existentes a la versión 1.5, debe tener instalada la versión 2.x del SDK y cambiar los parámetros version y framework_version de XGBoost a 1.5-1. Si utiliza Boto3, necesitará actualizar la imagen de Docker, así como algunos hiperparámetros y objetivos de aprendizaje.

Actualizar la versión 1.x del SageMaker AI Python SDK a la versión 2.x

Si sigue utilizando la versión 1.x del SDK de Python para SageMaker, debe actualizar a la versión 2.x. Para obtener información sobre la última versión del SDK de Python para SageMaker, consulte Use Version 2.x of the SageMaker Python SDK. Para instalar la versión más reciente, ejecute lo siguiente:

python -m pip install --upgrade sagemaker

Cambiar la etiqueta de imagen a 1.5-1

Si utiliza el SDK de Python para SageMaker y el algoritmo integrado XGBoost, cambie el parámetro de versión en 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 utiliza el SDK de Python para SageMaker y utiliza XGBoost como marco para ejecutar sus scripts de entrenamiento personalizados, cambie el parámetro framework_version en la API de 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)

En la versión 1.x del SDK de Python para SageMaker, sagemaker.session.s3_input tiene ahora el nombre sagemaker.inputs.TrainingInput. Debe utilizar sagemaker.inputs.TrainingInput como se muestra en el ejemplo siguiente.

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)

Para obtener la lista completa de los cambios en la versión 2.x del SDK de Python para SageMaker, consulte Use Version 2.x of the SageMaker Python SDK.

Cambiar la imagen de Docker para Boto3

Si usa Boto3 para entrenar o implementar su modelo, cambie la etiqueta de imagen de Docker (1, 0,72, 0.90-1 o 0.90-2) a 1.5-1.

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

Si utiliza el SageMaker Python SDK a fin de recuperar la ruta de registro, cambie el parámetro version en image_uris.retrieve.

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

Actualización de hiperparámetros y objetivos de aprendizaje

El parámetro silencioso ha quedado en desuso, y ya no está disponible en XGBoost 1.5 ni en las versiones posteriores. En su lugar, use verbosity. Si usaba el objetivo de aprendizaje reg:linear, este también ha quedado obsoleto y ha sido reemplazado por reg:squarederror. En su lugar, use reg:squarederror.

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