View a markdown version of this page

Ausführen eines Verarbeitungsjobs mit scikit-learn - 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.

Ausführen eines Verarbeitungsjobs mit scikit-learn

Sie können Amazon SageMaker Processing verwenden, um Daten zu verarbeiten und Modelle mit Scikit-Learn-Skripten in einem von Amazon AI bereitgestellten Docker-Image zu evaluieren. SageMaker Im Folgenden finden Sie ein Beispiel dafür, wie Sie einen Amazon SageMaker Processing-Job mit scikit-learn ausführen.

Ein Beispielnotizbuch, das zeigt, wie Scikit-Learn-Skripte mithilfe eines von SageMaker KI bereitgestellten und verwalteten Docker-Images ausgeführt werden, um Daten vorzuverarbeiten und Modelle auszuwerten, finden Sie unter scikit-learn Processing. https://github.com/awslabs/amazon-sagemaker-examples/tree/master/sagemaker_processing/scikit_learn_data_processing_and_model_evaluation Um dieses Notizbuch verwenden zu können, müssen Sie das AI Python SDK for Processing installieren. SageMaker

Dieses Notebook führt einen Verarbeitungsjob aus, bei dem das SageMaker Python-SDK verwendet wird, um ein von Ihnen bereitgestelltes Scikit-Learn-Skript auszuführen. Das Skript verarbeitet Daten vor, trainiert ein Modell mithilfe eines SageMaker Trainingsjobs und führt dann einen Verarbeitungsjob aus, um das trainierte Modell zu evaluieren. Mit dem Verarbeitungsauftrag wird die Leistung des Modells in der Produktion geschätzt.

Weitere Informationen zur Verwendung des SageMaker Python-SDK mit Verarbeitungscontainern finden Sie im SageMaker Python-SDK. Eine vollständige Liste der vorgefertigten Docker-Images, die für die Verarbeitung von Aufträgen verfügbar sind, finden Sie unter Docker-Registry-Pfade und Beispielcode.

Das folgende Codebeispiel zeigt, wie ein Verarbeitungsjob mithilfe eines Scikit-Learn-Docker-Images ausgeführt wird, das von AI bereitgestellt und verwaltet wird. SageMaker

from sagemaker.core.resources import ProcessingJob processing_job = ProcessingJob.create( processing_job_name="sklearn-processing", role_arn=role, app_specification={ "image_uri": "sklearn-processing-image-uri", "container_entrypoint": ["python3", "/opt/ml/processing/input/code/preprocessing.py"] }, processing_resources={ "cluster_config": { "instance_count": 1, "instance_type": "ml.m5.xlarge", "volume_size_in_gb": 30 } }, processing_inputs=[ { "input_name": "code", "s3_input": { "s3_uri": "s3://path/to/preprocessing.py", "local_path": "/opt/ml/processing/input/code", "s3_data_type": "S3Prefix", "s3_input_mode": "File" } }, { "input_name": "input-data", "s3_input": { "s3_uri": "s3://path/to/my/input-data.csv", "local_path": "/opt/ml/processing/input", "s3_data_type": "S3Prefix", "s3_input_mode": "File" } } ], processing_output_config={ "outputs": [ {"output_name": "train", "s3_output": {"s3_uri": "s3://output/train", "local_path": "/opt/ml/processing/output/train", "s3_upload_mode": "EndOfJob"}}, {"output_name": "validation", "s3_output": {"s3_uri": "s3://output/validation", "local_path": "/opt/ml/processing/output/validation", "s3_upload_mode": "EndOfJob"}}, {"output_name": "test", "s3_output": {"s3_uri": "s3://output/test", "local_path": "/opt/ml/processing/output/test", "s3_upload_mode": "EndOfJob"}} ] } )

Um Daten mithilfe von Scikit-Learn Amazon SageMaker Processing parallel zu verarbeiten, können Sie Eingabeobjekte per S3-Schlüssel teilen, indem Sie s3_data_distribution_type='ShardedByS3Key' inside a ProcessingInput so einstellen, dass jede Instance ungefähr die gleiche Anzahl von Eingabeobjekten erhält.