Esecuzione di trasformazioni in batch con pipeline di inferenza - Amazon SageMaker

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

Esecuzione di trasformazioni in batch con pipeline di inferenza

Per ottenere inferenze su un intero set di dati esegui una trasformazione in batch su un modello addestrato. Lo stesso modello di pipeline di inferenza creato e distribuito in un endpoint per l'elaborazione in tempo reale può essere utilizzato in un processo di trasformazione in batch. Per eseguire un processo di trasformazione in batch in una pipeline, scarica i dati di input da Amazon S3 e inviali in una o più richieste HTTP al modello di pipeline di inferenza. Per un esempio che mostra come preparare i dati per una trasformazione in batch, consulta «Sezione 2 - Preelabora i dati grezzi sull'alloggiamento utilizzando Scikit Learn» degli endpoint Amazon SageMaker Multi-Model utilizzando il notebook di esempio Linear Learner. Per informazioni sulle trasformazioni SageMaker in batch di Amazon, consultaUsa la trasformazione in batch per eseguire inferenze con Amazon SageMaker.

Nota

Per utilizzare immagini Docker personalizzate in una pipeline che include algoritmi SageMaker integrati di Amazon, è necessaria una policy Amazon Elastic Container Registry (ECR). Il tuo repository Amazon ECR deve concedere SageMaker l'autorizzazione per estrarre l'immagine. Per ulteriori informazioni, consulta Risoluzione dei problemi relativi alle autorizzazioni Amazon ECR per le pipeline di inferenza.

L'esempio seguente mostra come eseguire un processo di trasformazione utilizzando l'SDK Amazon SageMaker Python. In questo esempio, model_name è la pipeline di inferenza che combina i modelli SparkML e XGBoost (creati negli esempi precedenti). La posizione Amazon S3 specificata da input_data_path contiene i dati di input, in formato CSV, che devono essere scaricati e inviati al modello Spark ML. Al termine del processo di trasformazione, la posizione Amazon S3 specificata da output_data_path contiene i dati di output restituiti dal modello XGBoost in formato CVS.

import sagemaker input_data_path = 's3://{}/{}/{}'.format(default_bucket, 'key', 'file_name') output_data_path = 's3://{}/{}'.format(default_bucket, 'key') transform_job = sagemaker.transformer.Transformer( model_name = model_name, instance_count = 1, instance_type = 'ml.m4.xlarge', strategy = 'SingleRecord', assemble_with = 'Line', output_path = output_data_path, base_transform_job_name='inference-pipelines-batch', sagemaker_session=sagemaker.Session(), accept = CONTENT_TYPE_CSV) transform_job.transform(data = input_data_path, content_type = CONTENT_TYPE_CSV, split_type = 'Line')