

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# PyTorch Procesador Framework
<a name="processing-job-frameworks-pytorch"></a>

PyTorch es un marco de aprendizaje automático de código abierto. El SDK `PyTorchProcessor` de Amazon SageMaker Python le permite ejecutar trabajos de procesamiento con PyTorch scripts. Al utilizar el`PyTorchProcessor`, puede aprovechar un contenedor Docker creado por Amazon con un PyTorch entorno gestionado para no tener que traer su propio contenedor.

El siguiente ejemplo de código muestra cómo puede usarlo `PyTorchProcessor` para ejecutar su trabajo de procesamiento con una imagen de Docker proporcionada y mantenida por AI. SageMaker Tenga en cuenta que, al ejecutar el trabajo, puede especificar un directorio que contenga sus scripts y dependencias en el `source_dir` argumento, y puede tener un `requirements.txt` archivo ubicado dentro de su `source_dir` directorio que especifique las dependencias de sus scripts de procesamiento. SageMaker El procesamiento instala automáticamente las dependencias `requirements.txt` en el contenedor.

Para ver las PyTorch versiones compatibles con SageMaker AI, consulta las imágenes disponibles del [contenedor de aprendizaje profundo](https://github.com/aws/deep-learning-containers/blob/master/available_images.md).

```
from sagemaker.pytorch.processing import PyTorchProcessor
from sagemaker.processing import ProcessingInput, ProcessingOutput
from sagemaker import get_execution_role

#Initialize the PyTorchProcessor
pytorch_processor = PyTorchProcessor(
    framework_version='1.8',
    role=get_execution_role(),
    instance_type='ml.m5.xlarge',
    instance_count=1,
    base_job_name='frameworkprocessor-PT'
)

#Run the processing job
pytorch_processor.run(
    code='{{processing-script.py}}',
    source_dir='{{scripts}}',
    inputs=[
        ProcessingInput(
            input_name='data',
            source=f'{{s3://{BUCKET}/{S3_INPUT_PATH}}}',
            destination='/opt/ml/processing/input'
        )
    ],
    outputs=[
        ProcessingOutput(output_name='data_structured', source='/opt/ml/processing/tmp/data_structured', destination=f'{{s3://{BUCKET}/{S3_OUTPUT_PATH}}}'),
        ProcessingOutput(output_name='train', source='/opt/ml/processing/output/train', destination=f'{{s3://{BUCKET}/{S3_OUTPUT_PATH}}}'),
        ProcessingOutput(output_name='validation', source='/opt/ml/processing/output/val', destination=f'{{s3://{BUCKET}/{S3_OUTPUT_PATH}}}'),
        ProcessingOutput(output_name='test', source='/opt/ml/processing/output/test', destination=f'{{s3://{BUCKET}/{S3_OUTPUT_PATH}}}'),
        ProcessingOutput(output_name='logs', source='/opt/ml/processing/logs', destination=f'{{s3://{BUCKET}/{S3_OUTPUT_PATH}}}')
    ]
)
```

Si tiene un archivo `requirements.txt`, debería ser una lista de bibliotecas que desee instalar en el contenedor. La ruta para `source_dir` puede ser una ruta de URI relativa, absoluta o de Amazon S3. Sin embargo, si utiliza un URI de Amazon S3, debe apuntar a un archivo tar.gz. Puede tener varios scripts en el directorio que especifique para `source_dir`. Para obtener más información sobre la `PyTorchProcessor` clase, consulte [PyTorch Estimator](https://sagemaker.readthedocs.io/en/stable/frameworks/pytorch/sagemaker.pytorch.html) en el SDK de Amazon * SageMaker Python*.