

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# MXNet 架構處理器
<a name="processing-job-frameworks-mxnet"></a>

Apache MXNet 是一種開放原始碼深度學習架構，常用於訓練和部署神經網路。Amazon SageMaker Python SDK 中的 `MXNetProcessor` 提供您使用 MXNet 指令碼執行處理任務的能力。使用 `MXNetProcessor` 時，您可以運用 Amazon 建置的 Docker 容器與受管 MXNet 環境，這樣您就不必使用自己的容器。

下列程式碼範例顯示如何使用 `MXNetProcessor`，並透過 SageMaker AI 提供和維護的 Docker 映像檔來執行處理任務。請注意，執行任務時，您可以在 `source_dir` 引數中指定一個包含指令碼和相依性的目錄，而且可以在 `source_dir` 目錄中擁有一個 `requirements.txt` 檔案來指定處理指令碼的相依性。SageMaker Processing 會在容器中為您安裝 `requirements.txt` 中的相依性。

```
from sagemaker.mxnet import MXNetProcessor
from sagemaker.processing import ProcessingInput, ProcessingOutput
from sagemaker import get_execution_role

#Initialize the MXNetProcessor
mxp = MXNetProcessor(
    framework_version='1.8.0',
    py_version='py37',
    role=get_execution_role(), 
    instance_count=1,
    instance_type='ml.c5.xlarge',
    base_job_name='frameworkprocessor-mxnet'
)

#Run the processing job
mxp.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/data/'
        )
    ],
    outputs=[
        ProcessingOutput(
            output_name='processed_data',
            source='/opt/ml/processing/output/',
            destination=f's3://{BUCKET}/{S3_OUTPUT_PATH}'
        )
    ]
)
```

如果您有一個 `requirements.txt` 檔案，該檔案應該會是您要在容器中安裝的程式庫清單。`source_dir` 的路徑可以是相對路徑、絕對路徑或 Amazon S3 URI 路徑。不過，如果您使用 Amazon S3 URI，那麼它必須指向一個 tar.gz 檔案。您可以在為 `source_dir` 指定的目錄中擁有多個指令碼。如要進一步了解 `MXNetProcessor` 類別，請參閱 *Amazon SageMaker Python SDK* 中的 [MXNet 估算器](https://sagemaker.readthedocs.io/en/stable/frameworks/mxnet/sagemaker.mxnet.html#mxnet-estimator)。