

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

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

PyTorch è un framework di machine learning open source. L'`PyTorchProcessor`SDK Amazon SageMaker Python ti offre la possibilità di eseguire processi di elaborazione con script. PyTorch Quando usi il`PyTorchProcessor`, puoi sfruttare un contenitore Amazon-built Docker con un PyTorch ambiente gestito in modo da non dover portare il tuo contenitore.

Il seguente esempio di codice mostra come utilizzare il `PyTorchProcessor` per eseguire il processo di elaborazione utilizzando un'immagine Docker fornita e gestita da AI. SageMaker Nota che quando esegui il job, puoi specificare una directory contenente gli script e le dipendenze nell'`source_dir`argomento e puoi avere un `requirements.txt` file all'interno della tua `source_dir` directory che specifica le dipendenze per i tuoi script di elaborazione. SageMaker L'elaborazione installa automaticamente le dipendenze presenti nel `requirements.txt` contenitore.

Per le PyTorch versioni supportate dall' SageMaker intelligenza artificiale, guarda le immagini disponibili del [Deep Learning Container](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}}}')
    ]
)
```

Se hai un file `requirements.txt`, dovrebbe essere un elenco di librerie che desideri installare nel container. Il percorso per `source_dir` può essere un percorso URI relativo, assoluto o Amazon S3. Tuttavia, se utilizzi un URI Amazon S3, deve puntare a un file tar.gz. Puoi avere più script nella directory specificata per `source_dir`. Per ulteriori informazioni sulla `PyTorchProcessor` classe, consulta [PyTorch Estimator](https://sagemaker.readthedocs.io/en/stable/frameworks/pytorch/sagemaker.pytorch.html) nell'SDK *Amazon SageMaker Python*.