

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Jalankan pekerjaan inferensi batch
<a name="autopilot-deploy-models-batch"></a>

Batch inferencing, juga dikenal sebagai inferensi offline, menghasilkan prediksi model pada batch pengamatan. Inferensi Batch adalah pilihan yang baik untuk kumpulan data besar atau jika Anda tidak memerlukan respons langsung terhadap permintaan prediksi model. Sebaliknya, inferensi online (inferensi [waktu nyata](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-deploy-models.html#autopilot-deploy-models-realtime)) menghasilkan prediksi secara real time. Anda dapat membuat kesimpulan batch dari model Autopilot menggunakan [SageMaker Python SDK, antarmuka pengguna Autopilot (UI), SDK AWS](https://sagemaker.readthedocs.io/en/stable/) [untuk](https://aws.amazon.com/sdk-for-python/) Python (boto3), atau (). AWS Command Line Interface [AWS CLI](https://docs.aws.amazon.com/cli/)

Tab berikut menampilkan tiga opsi untuk menerapkan model Anda: Menggunakan APIs, Autopilot UI, atau menggunakan APIs untuk menyebarkan dari akun yang berbeda. Instruksi ini mengasumsikan bahwa Anda telah membuat model di Autopilot. Jika Anda tidak memiliki model, lihat[Membuat Pekerjaan Regresi atau Klasifikasi untuk Data Tabular Menggunakan AutoML API](autopilot-automate-model-development-create-experiment.md). Untuk melihat contoh untuk setiap opsi, buka setiap tab.

## Menerapkan model menggunakan Autopilot UI
<a name="autopilot-deploy-models-batch-ui"></a>

UI Autopilot berisi menu tarik-turun yang bermanfaat, sakelar, tooltips, dan lainnya untuk membantu Anda menavigasi penerapan model.

Langkah-langkah berikut menunjukkan cara menerapkan model dari eksperimen Autopilot untuk prediksi batch. 

1. Masuk [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)dan pilih **Studio** dari panel navigasi.

1. Di panel navigasi kiri, pilih **Studio**.

1. Di bawah **Memulai**, pilih Domain tempat Anda ingin meluncurkan aplikasi Studio. Jika profil pengguna Anda hanya milik satu Domain, Anda tidak melihat opsi untuk memilih Domain.

1. Pilih profil pengguna yang ingin Anda luncurkan aplikasi Studio Classic. Jika tidak ada profil pengguna di domain, pilih **Buat profil pengguna**. Untuk informasi selengkapnya, lihat [Menambahkan profil pengguna](https://docs.aws.amazon.com/sagemaker/latest/dg/domain-user-profile-add.html).

1. Pilih **Launch Studio**. Jika profil pengguna milik ruang bersama, pilih **Open Spaces**. 

1. Saat konsol SageMaker Studio Classic terbuka, pilih tombol **Launch SageMaker Studio**.

1. Pilih **AutoML** dari panel navigasi kiri.

1. Di bawah **Nama**, pilih eksperimen Autopilot yang sesuai dengan model yang ingin Anda gunakan. Ini membuka tab **AUTOPILOT** JOB baru.

1. Di bagian **Nama model**, pilih model yang ingin Anda gunakan.

1. Pilih **model Deploy**. Ini membuka tab baru.

1. Pilih **Buat prediksi batch** di bagian atas halaman.

1. Untuk **konfigurasi pekerjaan transformasi Batch**, masukkan **tipe Instance**, **jumlah Instance**, dan informasi opsional lainnya.

1. Di bagian **Input data configuration**, buka menu dropdown. 

   1. Untuk **tipe data S3**, pilih **ManifestFile**atau **S3Prefix**.

   1. **Untuk **tipe Split**, pilih **Line**, **RecorDio**, **TFRecord**atau None.**

   1. Untuk **Kompresi**, pilih **Gzip** atau **Tidak Ada**. 

1. Untuk **lokasi S3**, masukkan lokasi bucket Amazon S3 dari data input dan informasi opsional lainnya.

1. Di bawah **Konfigurasi data keluaran**, masukkan bucket S3 untuk data keluaran, dan pilih cara [merakit output](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformOutput.html#sagemaker-Type-TransformOutput-AssembleWith) pekerjaan Anda. 

   1. Untuk **konfigurasi Tambahan (opsional)**, Anda dapat memasukkan tipe MIME dan kunci **Enkripsi S3**.

1. Untuk **penyaringan input/output dan gabungan data (opsional)**, Anda memasukkan JSONpath ekspresi untuk memfilter data input Anda, menggabungkan data sumber input dengan data output Anda, dan memasukkan JSONpath ekspresi untuk memfilter data keluaran Anda. 

   1. Untuk contoh untuk setiap jenis filter, lihat [DataProcessing API](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DataProcessing.html#sagemaker-Type-DataProcessing-InputFilter).

1. Untuk melakukan prediksi batch pada kumpulan data input Anda, pilih **Buat pekerjaan transformasi batch**. Tab **Batch Transform Jobs** baru muncul.

1. Di tab **Batch Transform Jobs**: Temukan nama pekerjaan Anda di bagian **Status**. Kemudian periksa kemajuan pekerjaan. 

## Menyebarkan menggunakan SageMaker APIs
<a name="autopilot-deploy-models-batch-steps"></a>

Untuk menggunakan inferensi batch SageMaker APIs for, ada tiga langkah:

1. **Dapatkan definisi kandidat** 

   Definisi kandidat dari [InferenceContainers](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-InferenceContainers)digunakan untuk membuat model SageMaker AI. 

   Contoh berikut menunjukkan cara menggunakan [DescribeAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html)API untuk mendapatkan definisi kandidat untuk kandidat model terbaik. Lihat AWS CLI perintah berikut sebagai contoh.

   ```
   aws sagemaker describe-auto-ml-job --auto-ml-job-name {{<job-name>}} --region {{<region>}}
   ```

   Gunakan [ListCandidatesForAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidatesForAutoMLJob.html)API untuk mencantumkan semua kandidat. Lihat AWS CLI perintah berikut sebagai contoh.

   ```
   aws sagemaker list-candidates-for-auto-ml-job --auto-ml-job-name {{<job-name>}} --region {{<region>}}
   ```

1. **Buat model SageMaker AI**

   Untuk membuat model SageMaker AI menggunakan [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html)API, gunakan definisi container dari langkah sebelumnya. Lihat AWS CLI perintah berikut sebagai contoh.

   ```
   aws sagemaker create-model --model-name '{{<your-custom-model-name>}}' \
                       --containers ['{{<container-definition1}}>, {{<container-definition2>}}, {{<container-definition3>}}]' \
                       --execution-role-arn '{{<execution-role-arn>}}' --region '{{<region>}}
   ```

1. **Buat pekerjaan transformasi SageMaker AI** 

   Contoh berikut membuat pekerjaan transformasi SageMaker AI dengan [CreateTransformJob](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-transform-job.html)API. Lihat AWS CLI perintah berikut sebagai contoh.

   ```
   aws sagemaker create-transform-job --transform-job-name '{{<your-custom-transform-job-name>}}' --model-name '{{<your-custom-model-name-from-last-step>}}'\
   --transform-input '{
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix", 
                   "S3Uri": "{{<your-input-data>}}" 
               }
           },
           "ContentType": "{{text/csv}}",
           "SplitType": "Line"
       }'\
   --transform-output '{
           "S3OutputPath": "{{<your-output-path>}}",
           "AssembleWith": "Line" 
       }'\
   --transform-resources '{
           "InstanceType": "{{<instance-type>}}", 
           "InstanceCount": {{1}}
       }' --region '{{<region>}}'
   ```

Periksa kemajuan pekerjaan transformasi Anda menggunakan [DescribeTransformJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTransformJob.html)API. Lihat AWS CLI perintah berikut sebagai contoh.

```
aws sagemaker describe-transform-job --transform-job-name '{{<your-custom-transform-job-name>}}' --region {{<region>}}
```

Setelah pekerjaan selesai, hasil yang diprediksi akan tersedia di`<your-output-path>`. 

Nama file output memiliki format berikut:`<input_data_file_name>.out`. Sebagai contoh, jika file input Anda`text_x.csv`, nama output akan menjadi`text_x.csv.out`.

Tab berikut menunjukkan contoh kode untuk SageMaker Python SDK, AWS SDK untuk Python (boto3), dan file. AWS CLI

------
#### [ SageMaker Python SDK ]

Contoh berikut menggunakan **[SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable/overview.html)** untuk membuat prediksi dalam batch.

```
from sagemaker import AutoML

sagemaker_session= sagemaker.session.Session()

job_name = '{{test-auto-ml-job}}' # your autopilot job name
automl = AutoML.attach(auto_ml_job_name=job_name)
output_path = '{{s3://test-auto-ml-job/output}}'
input_data = '{{s3://test-auto-ml-job/test_X.csv}}'

# call DescribeAutoMLJob API to get the best candidate definition
best_candidate = automl.describe_auto_ml_job()['BestCandidate']
best_candidate_name = best_candidate['CandidateName']

# create model
model = automl.create_model(name=best_candidate_name, 
               candidate=best_candidate)

# create transformer
transformer = model.transformer(instance_count={{1}}, 
    instance_type='{{ml.m5.2xlarge}}',
    assemble_with='Line',
    output_path=output_path)

# do batch transform
transformer.transform(data=input_data,
                      split_type='Line',
                       content_type='{{text/csv}}',
                       wait=True)
```

------
#### [ AWS SDK for Python (boto3) ]

 Contoh berikut menggunakan **AWS SDK untuk Python (boto3**) untuk membuat prediksi dalam batch.

```
import sagemaker 
import boto3

session = sagemaker.session.Session()

sm_client = boto3.client('sagemaker', region_name='{{us-west-2}}')
role = '{{arn:aws:iam::1234567890:role/sagemaker-execution-role}}'
output_path = '{{s3://test-auto-ml-job/output}}'
input_data = '{{s3://test-auto-ml-job/test_X.csv}}'

best_candidate = sm_client.describe_auto_ml_job(AutoMLJobName=job_name)['BestCandidate']
best_candidate_containers = best_candidate['InferenceContainers']
best_candidate_name = best_candidate['CandidateName']

# create model
reponse = sm_client.create_model(
    ModelName = best_candidate_name,
    ExecutionRoleArn = role,
    Containers = best_candidate_containers 
)

# Lauch Transform Job
response = sm_client.create_transform_job(
    TransformJobName=f'{best_candidate_name}-transform-job',
    ModelName=model_name,
    TransformInput={
        'DataSource': {
            'S3DataSource': {
                'S3DataType': 'S3Prefix',
                'S3Uri': input_data
            }
        },
        'ContentType': "{{text/csv}}",
        'SplitType': 'Line'
    },
    TransformOutput={
        'S3OutputPath': output_path,
        'AssembleWith': 'Line',
    },
    TransformResources={
        'InstanceType': '{{ml.m5.2xlarge}}',
        'InstanceCount': {{1}},
    },
)
```

Pekerjaan inferensi batch mengembalikan respons dalam format berikut.

```
{'TransformJobArn': '{{arn:aws:sagemaker:us-west-2:1234567890:transform-job/test-transform-job}}',
 'ResponseMetadata': {'RequestId': '659f97fc-28c4-440b-b957-a49733f7c2f2',
  'HTTPStatusCode': 200,
  'HTTPHeaders': {'x-amzn-requestid': '659f97fc-28c4-440b-b957-a49733f7c2f2',
   'content-type': 'application/x-amz-json-1.1',
   'content-length': '96',
   'date': 'Thu, 11 Aug 2022 22:23:49 GMT'},
  'RetryAttempts': 0}}
```

------
#### [ AWS Command Line Interface (AWS CLI) ]

1. **Dapatkan definisi kandidat** dengan menggunakan contoh kode berikut.

   ```
   aws sagemaker describe-auto-ml-job --auto-ml-job-name '{{test-automl-job}}' --region {{us-west-2}}
   ```

1. **Buat model** dengan menggunakan contoh kode berikut.

   ```
   aws sagemaker create-model --model-name '{{test-sagemaker-model}}'
   --containers '[{
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3",
       "ModelDataUrl": "{{s3://amzn-s3-demo-bucket/out/test-job1/data-processor-models/test-job1-dpp0-1-e569ff7ad77f4e55a7e549a/output/model.tar.gz}}",
       "Environment": {
           "AUTOML_SPARSE_ENCODE_RECORDIO_PROTOBUF": "1",
           "AUTOML_TRANSFORM_MODE": "feature-transform",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "application/x-recordio-protobuf",
           "SAGEMAKER_PROGRAM": "sagemaker_serve",
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code"
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.3-1-cpu-py3",
       "ModelDataUrl": "{{s3://amzn-s3-demo-bucket/out/test-job1/tuning/flicdf10v2-dpp0-xgb/test-job1E9-244-7490a1c0/output/model.tar.gz}}",
       "Environment": {
           "MAX_CONTENT_LENGTH": "20971520",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv",
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,probabilities" 
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3", 
       "ModelDataUrl": "{{s3://amzn-s3-demo-bucket/out/test-job1/data-processor-models/test-job1-dpp0-1-e569ff7ad77f4e55a7e549a/output/model.tar.gz}}", 
       "Environment": { 
           "AUTOML_TRANSFORM_MODE": "inverse-label-transform", 
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv", 
           "SAGEMAKER_INFERENCE_INPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,labels,probabilities", 
           "SAGEMAKER_PROGRAM": "sagemaker_serve", 
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code" 
       } 
   }]' \
   --execution-role-arn '{{arn:aws:iam::1234567890:role/sagemaker-execution-role}}' \
   --region '{{us-west-2}}'
   ```

1. **Buat pekerjaan transformasi** dengan menggunakan contoh kode berikut.

   ```
   aws sagemaker create-transform-job --transform-job-name '{{test-tranform-job}}'\
    --model-name '{{test-sagemaker-model}}'\
   --transform-input '{
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix",
                   "S3Uri": "{{s3://amzn-s3-demo-bucket/data.csv}}"
               }
           },
           "ContentType": "{{text/csv}}",
           "SplitType": "Line"
       }'\
   --transform-output '{
           "S3OutputPath": "{{s3://amzn-s3-demo-bucket/output/}}",
           "AssembleWith": "Line"
       }'\
   --transform-resources '{
           "InstanceType": "{{ml.m5.2xlarge}}",
           "InstanceCount": {{1}}
       }'\
   --region '{{us-west-2}}'
   ```

1. **Periksa kemajuan pekerjaan transformasi** dengan menggunakan contoh kode berikut. 

   ```
   aws sagemaker describe-transform-job --transform-job-name  '{{test-tranform-job}}' --region {{us-west-2}}
   ```

   Berikut ini adalah respons dari pekerjaan transformasi.

   ```
   {
       "TransformJobName": "{{test-tranform-job}}",
       "TransformJobArn": "{{arn:aws:sagemaker:us-west-2:1234567890:transform-job/test-tranform-job}}",
       "TransformJobStatus": "InProgress",
       "ModelName": "{{test-model}}",
       "TransformInput": {
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix",
                   "S3Uri": "{{s3://amzn-s3-demo-bucket/data.csv}}"
               }
           },
           "ContentType": "{{text/csv}}",
           "CompressionType": "None",
           "SplitType": "Line"
       },
       "TransformOutput": {
           "S3OutputPath": "{{s3://amzn-s3-demo-bucket/output/}}",
           "AssembleWith": "Line",
           "KmsKeyId": ""
       },
       "TransformResources": {
           "InstanceType": "{{ml.m5.2xlarge}}",
           "InstanceCount": {{1}}
       },
       "CreationTime": 1662495635.679,
       "TransformStartTime": 1662495847.496,
       "DataProcessing": {
           "InputFilter": "$",
           "OutputFilter": "$",
           "JoinSource": "None"
       }
   }
   ```

   Setelah `TransformJobStatus` perubahan`Completed`, Anda dapat memeriksa hasil inferensi di. `S3OutputPath`

------

## Terapkan model dari akun yang berbeda
<a name="autopilot-deploy-models-batch-across-accounts"></a>

Untuk membuat pekerjaan inferensi batch di akun yang berbeda dari yang dibuat model, ikuti instruksi di[Terapkan model dari akun yang berbeda](autopilot-deploy-models-realtime.md#autopilot-deploy-models-realtime-across-accounts). Kemudian Anda dapat membuat model dan mengubah pekerjaan dengan mengikuti[Menyebarkan menggunakan SageMaker APIs](#autopilot-deploy-models-batch-steps).