Eseguire un processo Processing con scikit-learn - 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à.

Eseguire un processo Processing con scikit-learn

È possibile utilizzare Amazon SageMaker Processing per elaborare i dati e valutare i modelli con script scikit-learn in un’immagine Docker fornita da Amazon SageMaker AI. Di seguito viene fornito un esempio su come eseguire un processo Amazon SageMaker Processing utilizzando scikit-learn.

Per un notebook di esempio che mostra come eseguire gli script scikit-learn utilizzando un’immagine Docker fornita e gestita da SageMaker AI per pre-elaborare i dati e valutare i modelli, consulta scikit-learn Processing. Per utilizzare questo notebook, è necessario installare SageMaker AI Python SDK per Processing.

Questo notebook esegue un processo di elaborazione utilizzando la classe SKLearnProcessor dall'SDK Python SageMaker per eseguire uno script scikit-learn fornito. Lo script preelabora i dati, addestra un modello utilizzando un processo di addestramento SageMaker e quindi esegue un processo di elaborazione per valutare il modello addestrato. Il processo di elaborazione stima il modo in cui il modello dovrebbe funzionare in produzione.

Per ulteriori informazioni sull'utilizzo dell'SDK Python SageMaker con container di elaborazione, consulta Python SDK SageMaker. Per un elenco completo delle immagini Docker predefinite disponibili per i processi di elaborazione, consulta Percorsi di registro Docker e codice di esempio.

L’esempio di codice seguente mostra come il notebook utilizza SKLearnProcessor per eseguire lo script scikit-learn utilizzando un’immagine Docker fornita e gestita da SageMaker AI, anziché la tua immagine Docker.

from sagemaker.sklearn.processing import SKLearnProcessor from sagemaker.processing import ProcessingInput, ProcessingOutput sklearn_processor = SKLearnProcessor(framework_version='0.20.0', role=role, instance_type='ml.m5.xlarge', instance_count=1) sklearn_processor.run(code='preprocessing.py', inputs=[ProcessingInput( source='s3://path/to/my/input-data.csv', destination='/opt/ml/processing/input')], outputs=[ProcessingOutput(source='/opt/ml/processing/output/train'), ProcessingOutput(source='/opt/ml/processing/output/validation'), ProcessingOutput(source='/opt/ml/processing/output/test')] )

Per elaborare i dati in parallelo utilizzando Scikit-Learn su Elaborazione Amazon SageMaker è possibile eseguire una partizione degli oggetti di input con il tasto S3 impostando s3_data_distribution_type='ShardedByS3Key' all'interno di ProcessingInput in modo che ogni istanza riceva circa lo stesso numero di oggetti di input.