View a markdown version of this page

PyTorch Framework-Prozessor - Amazon SageMaker KI

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

PyTorch Framework-Prozessor

PyTorch ist ein Open-Source-Framework für maschinelles Lernen. Das PyTorchProcessor im Amazon SageMaker Python enthaltene SDK bietet Ihnen die Möglichkeit, Verarbeitungsaufträge mit PyTorch Skripten auszuführen. Wenn Sie den verwendenPyTorchProcessor, können Sie einen Amazon-built Docker-Container mit einer verwalteten PyTorch Umgebung nutzen, sodass Sie keinen eigenen Container mitbringen müssen.

Das folgende Codebeispiel zeigt, wie Sie Ihren Processing-Job mithilfe eines von AI bereitgestellten und verwalteten Docker-Images ausführen können. SageMaker Beachten Sie, dass Sie bei der Ausführung des Jobs ein Verzeichnis angeben können, das Ihre Skripts und Abhängigkeiten im source_dir Argument enthält. Außerdem können Sie in Ihrem source_dir Verzeichnis eine requirements.txt Datei speichern, die die Abhängigkeiten für Ihre Verarbeitungsskripte angibt. SageMaker Processing installiert die Abhängigkeiten requirements.txt im Container für Sie.

Die von SageMaker AI unterstützten PyTorch Versionen finden Sie in den verfügbaren Deep-Learning-Container-Images.

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"}} ] } )

Wenn Sie eine requirements.txt Datei haben, sollte es sich um eine Liste von Bibliotheken handeln, die Sie im Container installieren möchten. Der Pfad für source_dir kann ein relativer, absoluter oder Amazon-S3-URI-Pfad sein. Wenn Sie jedoch einen Amazon-S3-URI verwenden, muss dieser auf eine Datei tar.gz verweisen. Sie können mehrere Skripte in dem Verzeichnis haben, das Sie für source_dir angeben. Weitere Informationen zur PyTorchProcessor Klasse finden Sie unter PyTorch Estimator im Amazon SageMaker Python SDK.