As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Executar scripts com seu próprio contêiner de processamento
É possível usar scripts scikit-learn para pré-processar dados e avaliar modelos. Para ver como executar scripts scikit-learn para realizar essas tarefas, consulte o bloco de anotações de exemplo Processamento scikit-learnScriptProcessor
classe do Amazon SageMaker Python SDK for Processing.
O exemplo a seguir mostra um fluxo de trabalho geral para usar uma classe ScriptProcessor
com seu próprio contêiner de processamento. O fluxo de trabalho mostra como criar sua própria imagem, criar seu contêiner e usar uma classe ScriptProcessor
para executar um script de pré-processamento do Python com o contêiner. O trabalho de processamento processa seus dados de entrada e salva os dados processados no Amazon Simple Storage Service (Amazon S3).
Antes de usar os exemplos a seguir, você precisa ter seus próprios dados de entrada e um script Python preparado para processar seus dados. Para ver um end-to-end exemplo guiado desse processo, consulte o caderno de amostra de processamento scikit-learn
-
Crie um diretório do Docker e adicione o Dockerfile usado para criar o contêiner de processamento. Instale pandas e scikit-learn nele. (Também é possível instalar suas próprias dependências com um comando
RUN
semelhante.)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"]
-
Crie o contêiner usando o comando docker, crie um repositório Amazon Elastic Container Registry ECR (Amazon) e envie a imagem para a 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
-
Configure o
ScriptProcessor
do SageMaker Python SDK para executar o script. Substituirimage_uri
com o URI para a imagem que você criou e substituarole_arn
com o ARN para uma AWS Identity and Access Management função que tenha acesso ao seu bucket Amazon S3 de destino.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') -
Executar o script. Substituir
preprocessing.py
com o nome do seu próprio script de processamento em Python e substituas3://path/to/my/input-data.csv
com o caminho do Amazon S3 para seus dados de entrada.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')])
O mesmo procedimento pode ser usado com qualquer outra biblioteca ou dependências do sistema. Você também pode usar imagens Docker existentes. Isso inclui imagens que você executa em outras plataformas, como o Kubernetes