Come utilizzare SageMaker AI CatBoost - Amazon SageMaker AI

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Come utilizzare SageMaker AI CatBoost

Puoi utilizzare CatBoost come algoritmo integrato di Amazon SageMaker AI. Nella sezione seguente viene descritto come utilizzare CatBoost con SageMaker Python SDK. Per informazioni su come utilizzare CatBoost dall’interfaccia utente di Amazon SageMaker Studio Classic, consulta SageMaker JumpStart modelli preaddestrati.

  • Utilizzo di CatBoost come algoritmo integrato

    Utilizza l'algoritmo integrato CatBoost per creare un container di addestramento CatBoost, come illustrato nell'esempio di codice seguente. Puoi individuare automaticamente l’URI dell’immagine dell’algoritmo integrato CatBoost ricorrendo all’API image_uris.retrieve SageMaker AI (o l’API get_image_uri se utilizzi la versione 2 di Amazon SageMaker Python SDK).

    Dopo aver specificato l’URI dell’immagine CatBoost, è possibile utilizzare il container CatBoost per costruire uno strumento di stima con l’API SageMaker AI Estimator e avviare un job di addestramento. L'algoritmo integrato CatBoost viene eseguito in modalità script, ma lo script di addestramento viene fornito automaticamente e non è necessario sostituirlo. Se hai una vasta esperienza nell'uso della modalità script per creare un processo di addestramento su SageMaker, puoi incorporare i tuoi script di addestramento CatBoost.

    from sagemaker import image_uris, model_uris, script_uris train_model_id, train_model_version, train_scope = "catboost-classification-model", "*", "training" training_instance_type = "ml.m5.xlarge" # Retrieve the docker image train_image_uri = image_uris.retrieve( region=None, framework=None, model_id=train_model_id, model_version=train_model_version, image_scope=train_scope, instance_type=training_instance_type ) # Retrieve the training script train_source_uri = script_uris.retrieve( model_id=train_model_id, model_version=train_model_version, script_scope=train_scope ) train_model_uri = model_uris.retrieve( model_id=train_model_id, model_version=train_model_version, model_scope=train_scope ) # Sample training data is available in this bucket training_data_bucket = f"jumpstart-cache-prod-{aws_region}" training_data_prefix = "training-datasets/tabular_multiclass/" training_dataset_s3_path = f"s3://{training_data_bucket}/{training_data_prefix}/train" validation_dataset_s3_path = f"s3://{training_data_bucket}/{training_data_prefix}/validation" output_bucket = sess.default_bucket() output_prefix = "jumpstart-example-tabular-training" s3_output_location = f"s3://{output_bucket}/{output_prefix}/output" from sagemaker import hyperparameters # Retrieve the default hyperparameters for training the model hyperparameters = hyperparameters.retrieve_default( model_id=train_model_id, model_version=train_model_version ) # [Optional] Override default hyperparameters with custom values hyperparameters[ "iterations" ] = "500" print(hyperparameters) from sagemaker.estimator import Estimator from sagemaker.utils import name_from_base training_job_name = name_from_base(f"built-in-algo-{train_model_id}-training") # Create SageMaker Estimator instance tabular_estimator = Estimator( role=aws_role, image_uri=train_image_uri, source_dir=train_source_uri, model_uri=train_model_uri, entry_point="transfer_learning.py", instance_count=1, instance_type=training_instance_type, max_run=360000, hyperparameters=hyperparameters, output_path=s3_output_location ) # Launch a SageMaker Training job by passing the S3 path of the training data tabular_estimator.fit( { "training": training_dataset_s3_path, "validation": validation_dataset_s3_path, }, logs=True, job_name=training_job_name )

    Per ulteriori informazioni su come impostare CatBoost come algoritmo integrato, vedere i seguenti esempi di notebook.