

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 推論パイプラインを使用したバッチ変換
<a name="inference-pipeline-batch"></a>

データセット全体の推論を取得するには、トレーニングされたモデルに対してバッチ変換を実行します。データセット全体に対して推論を実行するには、リアルタイム処理用として作成し、エンドポイントにデプロイした同じ推論パイプラインモデルを、バッチ変換ジョブで使用できます。パイプライン内のバッチ変換ジョブを実行するには、入力データを Amazon S3 からダウンロードし、そのデータを 1 つ以上の HTTP リクエストで推論パイプラインモデルに送信します。バッチ変換のデータを準備する方法を示す例については、「[Amazon SageMaker Multi-Model Endpoints using Linear Learner sample notebook](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/advanced_functionality/multi_model_linear_learner_home_value)」の「Section 2 - Preprocess the raw housing data using Scikit Learn」を参照してください。Amazon SageMaker AI バッチ変換については、「[Amazon SageMaker AI による推論のためのバッチ変換](batch-transform.md)」を参照してください。

**注記**  
[Amazon SageMaker AI 組み込みアルゴリズム](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-algo-docker-registry-paths.html)を含むパイプラインでカスタム Docker イメージを使う場合は、[Amazon Elastic Container Registry (ECR) ポリシー](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html)が必要です。Amazon ECR リポジトリは、イメージをプルする許可を SageMaker AI に付与する必要があります。詳細については、「[推論パイプラインの Amazon ECR アクセス許可のトラブルシューティングを行う](inference-pipeline-troubleshoot.md#inference-pipeline-troubleshoot-permissions)」を参照してください。

次の例は、[Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable) を使って変換ジョブを実行する方法を示しています。この例では、`model_name` は SparkML と XGBoost モデルを組み合わせた推論パイプラインを指します (これは前の例で作成されたものです)。`input_data_path` で指定された Amazon S3 の場所には、ダウンロードして Spark ML モデルに送信する、CSV 形式の入力データが含まれます。変換ジョブが終了した後、`output_data_path` で指定された Amazon S3 の場所には、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')
```