

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 um trabalho de processamento com scikit-learn
<a name="use-scikit-learn-processing-container"></a>

Você pode usar o Amazon SageMaker Processing para processar dados e avaliar modelos com scripts scikit-learn em uma imagem do Docker fornecida pela Amazon AI. SageMaker Veja a seguir um exemplo de como executar um trabalho de SageMaker processamento da Amazon usando o scikit-learn.

Para ver um exemplo de caderno que mostra como executar scripts do scikit-learn usando uma imagem do Docker fornecida e mantida pela SageMaker IA para pré-processar dados e avaliar modelos, consulte Processamento do scikit-learn. [https://github.com/awslabs/amazon-sagemaker-examples/tree/master/sagemaker_processing/scikit_learn_data_processing_and_model_evaluation](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/sagemaker_processing/scikit_learn_data_processing_and_model_evaluation) Para usar esse notebook, você precisa instalar o SDK do SageMaker AI Python para processamento. 

Esse notebook executa um trabalho de processamento usando o SDK do SageMaker Python para executar um script scikit-learn fornecido por você. O script pré-processa dados, treina um modelo usando um trabalho de SageMaker treinamento e, em seguida, executa um trabalho de processamento para avaliar o modelo treinado. O trabalho de processamento estima o desempenho esperado do modelo na produção.

Para saber mais sobre como usar o SDK do SageMaker Python com contêineres de processamento, consulte o SDK do [ SageMaker Python. ](https://sagemaker.readthedocs.io/en/stable/) Para obter uma lista completa das imagens pré-criadas do Docker disponíveis para tarefas de processamento, consulte [Caminhos de registro e código de exemplo do Docker](https://docs.aws.amazon.com/sagemaker/latest/dg-ecr-paths/sagemaker-algo-docker-registry-paths).

O exemplo de código a seguir mostra como executar um trabalho de processamento usando uma imagem do Docker do scikit-learn fornecida e mantida pela IA. 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"}}
        ]
    }
)
```

Para processar dados em paralelo usando o Scikit-Learn Amazon SageMaker Processing, você pode fragmentar objetos de entrada pela chave S3 configurando `s3_data_distribution_type='ShardedByS3Key'` dentro de a `ProcessingInput` para que cada instância receba aproximadamente o mesmo número de objetos de entrada.