

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á.

# PyTorch Processador de estrutura
<a name="processing-job-frameworks-pytorch"></a>

PyTorch é uma estrutura de aprendizado de máquina de código aberto. O `PyTorchProcessor` SDK do Amazon SageMaker Python oferece a capacidade de executar trabalhos de processamento com PyTorch scripts. Ao usar o`PyTorchProcessor`, você pode aproveitar um contêiner Amazon-built Docker com um PyTorch ambiente gerenciado para não precisar trazer seu próprio contêiner.

O exemplo de código a seguir mostra como você pode executar seu trabalho de processamento usando uma imagem do Docker fornecida e mantida pela SageMaker IA. Observe que, ao executar o trabalho, você pode especificar um diretório contendo seus scripts e dependências no `source_dir` argumento e pode ter um `requirements.txt` arquivo localizado dentro do seu `source_dir` diretório que especifica as dependências dos scripts de processamento. SageMaker O processamento instala as dependências `requirements.txt` no contêiner para você.

Para as PyTorch versões suportadas pela SageMaker IA, consulte as imagens disponíveis do [ Deep Learning Container](https://github.com/aws/deep-learning-containers/blob/master/available_images.md).

```
from sagemaker.core.resources import ProcessingJob
from sagemaker.core.helper.session_helper import get_execution_role

# Create a processing job with a PyTorch container
processing_job = ProcessingJob.create(
    processing_job_name='frameworkprocessor-PT',
    role_arn=get_execution_role(),
    app_specification={
        "image_uri": "{{pytorch-processing-image-uri}}",
        "container_entrypoint": ["python3", "/opt/ml/processing/input/code/{{processing-script.py}}"]
    },
    processing_resources={
        "cluster_config": {"instance_count": 1, "instance_type": "ml.m5.xlarge", "volume_size_in_gb": 30}
    },
    processing_inputs=[
        {"input_name": "data", "s3_input": {"s3_uri": f"{{s3://{{BUCKET}}/{{S3_INPUT_PATH}}}}", "local_path": "/opt/ml/processing/input", "s3_data_type": "S3Prefix", "s3_input_mode": "File"}},
        {"input_name": "code", "s3_input": {"s3_uri": "{{s3://path/to/scripts/}}", "local_path": "/opt/ml/processing/input/code", "s3_data_type": "S3Prefix", "s3_input_mode": "File"}}
    ],
    processing_output_config={
        "outputs": [
            {"output_name": "data_structured", "s3_output": {"s3_uri": f"{{s3://{{BUCKET}}/{{S3_OUTPUT_PATH}}}}", "local_path": "/opt/ml/processing/tmp/data_structured", "s3_upload_mode": "EndOfJob"}},
            {"output_name": "train", "s3_output": {"s3_uri": f"{{s3://{{BUCKET}}/{{S3_OUTPUT_PATH}}}}", "local_path": "/opt/ml/processing/output/train", "s3_upload_mode": "EndOfJob"}},
            {"output_name": "validation", "s3_output": {"s3_uri": f"{{s3://{{BUCKET}}/{{S3_OUTPUT_PATH}}}}", "local_path": "/opt/ml/processing/output/val", "s3_upload_mode": "EndOfJob"}},
            {"output_name": "test", "s3_output": {"s3_uri": f"{{s3://{{BUCKET}}/{{S3_OUTPUT_PATH}}}}", "local_path": "/opt/ml/processing/output/test", "s3_upload_mode": "EndOfJob"}},
            {"output_name": "logs", "s3_output": {"s3_uri": f"{{s3://{{BUCKET}}/{{S3_OUTPUT_PATH}}}}", "local_path": "/opt/ml/processing/logs", "s3_upload_mode": "EndOfJob"}}
        ]
    }
)
```

Se você tiver um arquivo `requirements.txt`, ele deverá ser uma lista das bibliotecas que você deseja instalar no contêiner. O caminho para `source_dir` pode ser um caminho de URI relativo, absoluto ou do Amazon S3. No entanto, se você usar um URI do Amazon S3, ele deverá apontar para um arquivo tar.gz. Você pode ter vários scripts no diretório que você especificar para `source_dir`. Para saber mais sobre a `PyTorchProcessor` classe, consulte [ PyTorch Estimator ](https://sagemaker.readthedocs.io/en/stable/api/sagemaker_train.html) no * Amazon SageMaker Python SDK. *