使用推論管道進行批次轉換 - Amazon SageMaker

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

使用推論管道進行批次轉換

若要取得整個資料集的推論,您可以在已訓練的模型上執行批次轉換。若要對整個資料集執行推論,您可以將為了即時處理而建立並部署到端點的相同推論管道模型,用於批次轉換任務。若要在管道中執行批次轉換任務,請從 Amazon S3 下載輸入資料,並在一或多個HTTP請求中將其傳送至推論管道模型。如需顯示如何準備批次轉換資料的範例,請參閱「第 2 節 - 使用 Scikit Learn 預先處理原始外殼資料」,其中的 Amazon SageMaker 多模型端點使用 Linear Learner 範例筆記本。如需 Amazon SageMaker 批次轉換的相關資訊,請參閱 使用 Amazon 進行推論的批次轉換 SageMaker

注意

若要在包含 Amazon SageMaker 內建演算法 的管道中使用自訂 Docker 映像,您需要 Amazon Elastic Container Registry (ECR) 政策 。您的 Amazon ECR儲存庫必須授予提取映像的 SageMaker 許可。如需詳細資訊,請參閱對推論管道的 Amazon ECR許可進行故障診斷

下列範例示範如何使用 Amazon SageMaker Python SDK執行轉換任務。在此範例中, model_name是結合 SparkML 和XGBoost模型的推論管道 (在先前的範例中建立)。指定的 Amazon S3 位置input_data_path包含要下載並傳送至 Spark ML 模型的CSV格式輸入資料。轉換任務完成後, 指定的 Amazon S3 位置會output_data_path包含XGBoost模型傳回的 CSV 格式輸出資料。

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')