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"]
-
Creare il container utilizzando il comando docker che crea un repository Amazon Elastic Container Registry (Amazon ECR) 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
-
Configura l'SDK
ScriptProcessor
di SageMaker Python per eseguire lo script. Sostituireimage_uri
con l'URI dell'immagine creata e sostituirerole_arn
con l'ARN per un ruolo AWS Identity and Access Management 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. Sostituire
preprocessing.py
con il nome dello script di elaborazione Python e sostituires3://path/to/my/input-data.csv
con il percorso Amazon S3 per i 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