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 script con il proprio container di elaborazione
Puoi utilizzare gli script scikit-learn per preelaborare i dati e valutare i modelli. Per vedere come eseguire gli script scikit-learn per eseguire queste attività, consulta il notebook di esempio Elaborazione con scikit-learnScriptProcessor
classe di Amazon SageMaker Python SDK for Processing.
L'esempio seguente mostra un flusso di lavoro generale per l'utilizzo di una classe ScriptProcessor
con il proprio container di elaborazione. Il flusso di lavoro mostra come creare la tua immagine, creare il container e utilizzare una classe ScriptProcessor
per eseguire uno script di preelaborazione Python con il container. Il processo di elaborazione elabora i dati di input e salva i dati elaborati in Amazon Simple Storage Service (Amazon S3).
Prima di utilizzare i seguenti esempi, devi disporre dei tuoi dati di input e di uno script Python preparato per elaborare i dati. Per un esempio guidato di questo processo end-to-end, fai riferimento al taccuino di esempio scikit-learn Processing
-
Creare una directory Docker e aggiungere il file Docker utilizzato per creare il container di elaborazione. Installare panda e scikit-learn. È anche possibile installare le dipendenze con un comando
RUN
simile.mkdir docker %%writefile docker/Dockerfile FROM python:3.7-slim-buster RUN pip3 install pandas==0.25.3 scikit-learn==0.21.3 ENV PYTHONUNBUFFERED=TRUE ENTRYPOINT ["python3"]
-
Crea il contenitore utilizzando il comando docker, crea un repository Amazon Elastic Container Registry ECR (Amazon) e invia l'immagine ad Amazon. ECR
import boto3 account_id = boto3.client('sts').get_caller_identity().get('Account') region = boto3.Session().region_name ecr_repository = 'sagemaker-processing-container' tag = ':latest' processing_repository_uri = '{}.dkr.ecr.{}.amazonaws.com/{}'.format(account_id, region, ecr_repository + tag) # Create ECR repository and push docker image !docker build -t $ecr_repository docker !aws ecr get-login-password --region {region} | docker login --username AWS --password-stdin {account_id}.dkr.ecr.{region}.amazonaws.com !aws ecr create-repository --repository-name $ecr_repository !docker tag {ecr_repository + tag} $processing_repository_uri !docker push $processing_repository_uri
-
Imposta
ScriptProcessor
da SageMaker Python SDK per eseguire lo script. Sostituisciimage_uri
con URI per l'immagine che hai creato e sostituiscirole_arn
con ARN per un AWS Identity and Access Management ruolo che ha accesso al bucket Amazon S3 di destinazione.from sagemaker.processing import ScriptProcessor, ProcessingInput, ProcessingOutput script_processor = ScriptProcessor(command=['python3'], image_uri='
image_uri
', role='role_arn
', instance_count=1, instance_type='ml.m5.xlarge') -
Eseguire lo script. Sostituiscilo
preprocessing.py
con il nome del tuo script di elaborazione Python e sostituiscilos3://path/to/my/input-data.csv
con il percorso Amazon S3 dei tuoi dati di input.script_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')])
La stessa procedura può essere utilizzata con qualsiasi altra libreria o dipendenza di sistema. È anche possibile utilizzare immagini Docker esistenti. Ciò include le immagini eseguite su altre piattaforme come Kubernetes