View a markdown version of this page

Exécution d’une tâche de traitement avec scikit-learn - Amazon SageMaker AI

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.

Exécution d’une tâche de traitement avec scikit-learn

Vous pouvez utiliser Amazon SageMaker Processing pour traiter des données et évaluer des modèles à l'aide de scripts scikit-learn dans une image Docker fournie par Amazon AI. SageMaker L'exemple suivant montre comment exécuter une tâche Amazon SageMaker Processing à l'aide de scikit-learn.

Pour un exemple de bloc-notes qui montre comment exécuter des scripts scikit-learn à l'aide d'une image Docker fournie et gérée par SageMaker AI pour prétraiter les données et évaluer les modèles, consultez scikit-learn Processing. https://github.com/awslabs/amazon-sagemaker-examples/tree/master/sagemaker_processing/scikit_learn_data_processing_and_model_evaluation Pour utiliser ce bloc-notes, vous devez installer le SDK SageMaker AI Python pour le traitement.

Ce bloc-notes exécute une tâche de traitement à l'aide du SDK SageMaker Python pour exécuter un script scikit-learn que vous fournissez. Le script prétraite les données, entraîne un modèle à l'aide d'une tâche d' SageMaker apprentissage, puis exécute une tâche de traitement pour évaluer le modèle entraîné. La tâche de traitement évalue la performance attendue du modèle en production.

Pour en savoir plus sur l'utilisation du SDK SageMaker Python avec des conteneurs de traitement, consultez le SDK SageMaker Python. Pour obtenir la liste complète des images Docker prédéfinies disponibles pour les tâches de traitement, consultez Chemins de registre Docker et exemple de code.

L'exemple de code suivant montre comment exécuter une tâche de traitement à l'aide d'une image Docker scikit-learn fournie et gérée par AI. SageMaker

from sagemaker.core.resources import ProcessingJob processing_job = ProcessingJob.create( processing_job_name="sklearn-processing", role_arn=role, app_specification={ "image_uri": "sklearn-processing-image-uri", "container_entrypoint": ["python3", "/opt/ml/processing/input/code/preprocessing.py"] }, processing_resources={ "cluster_config": { "instance_count": 1, "instance_type": "ml.m5.xlarge", "volume_size_in_gb": 30 } }, processing_inputs=[ { "input_name": "code", "s3_input": { "s3_uri": "s3://path/to/preprocessing.py", "local_path": "/opt/ml/processing/input/code", "s3_data_type": "S3Prefix", "s3_input_mode": "File" } }, { "input_name": "input-data", "s3_input": { "s3_uri": "s3://path/to/my/input-data.csv", "local_path": "/opt/ml/processing/input", "s3_data_type": "S3Prefix", "s3_input_mode": "File" } } ], processing_output_config={ "outputs": [ {"output_name": "train", "s3_output": {"s3_uri": "s3://output/train", "local_path": "/opt/ml/processing/output/train", "s3_upload_mode": "EndOfJob"}}, {"output_name": "validation", "s3_output": {"s3_uri": "s3://output/validation", "local_path": "/opt/ml/processing/output/validation", "s3_upload_mode": "EndOfJob"}}, {"output_name": "test", "s3_output": {"s3_uri": "s3://output/test", "local_path": "/opt/ml/processing/output/test", "s3_upload_mode": "EndOfJob"}} ] } )

Pour traiter les données en parallèle à l'aide Scikit-Learn d'Amazon SageMaker Processing, vous pouvez partitionner les objets d'entrée à l'aide d'une clé S3 en définissant s3_data_distribution_type='ShardedByS3Key' dans a de ProcessingInput sorte que chaque instance reçoive à peu près le même nombre d'objets d'entrée.