

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

# Format Inferensi DeepAR
<a name="deepar-in-formats"></a>

Halaman berikut menjelaskan format permintaan dan respons untuk inferensi dengan model Amazon SageMaker AI DeepAR.

## Format Permintaan DeepAR JSON
<a name="deepar-json-request"></a>

Kueri model terlatih dengan menggunakan titik akhir model. Titik akhir mengambil format permintaan JSON berikut. 

Dalam permintaan, `instances` bidang sesuai dengan deret waktu yang harus diramalkan oleh model. 

Jika model dilatih dengan kategori, Anda harus memberikan a `cat` untuk setiap contoh. Jika model dilatih tanpa `cat` lapangan, itu harus dihilangkan.

Jika model dilatih dengan fitur kustom time series (`dynamic_feat`), Anda harus memberikan jumlah `dynamic_feat` nilai yang sama untuk setiap instance. Masing-masing harus memiliki panjang yang diberikan oleh`length(target) + prediction_length`, di mana `prediction_length` nilai terakhir sesuai dengan titik waktu di masa depan yang akan diprediksi. Jika model dilatih tanpa deret waktu fitur khusus, bidang tidak boleh dimasukkan dalam permintaan.

```
{
    "instances": [
        {
            "start": "2009-11-01 00:00:00",
            "target": [4.0, 10.0, "NaN", 100.0, 113.0],
            "cat": [0, 1],
            "dynamic_feat": [[1.0, 1.1, 2.1, 0.5, 3.1, 4.1, 1.2, 5.0, ...]]
        },
        {
            "start": "2012-01-30",
            "target": [1.0],
            "cat": [2, 1],
            "dynamic_feat": [[2.0, 3.1, 4.5, 1.5, 1.8, 3.2, 0.1, 3.0, ...]]
        },
        {
            "start": "1999-01-30",
            "target": [2.0, 1.0],
            "cat": [1, 3],
            "dynamic_feat": [[1.0, 0.1, -2.5, 0.3, 2.0, -1.2, -0.1, -3.0, ...]]
        }
    ],
    "configuration": {
         "num_samples": 50,
         "output_types": ["mean", "quantiles", "samples"],
         "quantiles": ["0.5", "0.9"]
    }
}
```

`configuration`Bidang ini opsional. `configuration.num_samples`menetapkan jumlah jalur sampel yang dihasilkan model untuk memperkirakan mean dan kuantil. `configuration.output_types`menjelaskan informasi yang akan dikembalikan dalam permintaan. Nilai yang valid adalah `"mean"` `"quantiles"` dan`"samples"`. Jika Anda menentukan`"quantiles"`, masing-masing nilai kuantil di `configuration.quantiles` dikembalikan sebagai deret waktu. Jika Anda menentukan`"samples"`, model juga mengembalikan sampel mentah yang digunakan untuk menghitung output lainnya.

## Format Respons DeepAR JSON
<a name="deepar-json-response"></a>

Berikut ini adalah format respons, di `[...]` mana array angka:

```
{
    "predictions": [
        {
            "quantiles": {
                "0.9": [...],
                "0.5": [...]
            },
            "samples": [...],
            "mean": [...]
        },
        {
            "quantiles": {
                "0.9": [...],
                "0.5": [...]
            },
            "samples": [...],
            "mean": [...]
        },
        {
            "quantiles": {
                "0.9": [...],
                "0.5": [...]
            },
            "samples": [...],
            "mean": [...]
        }
    ]
}
```

DeepAR memiliki batas waktu respons 60 detik. Saat melewati beberapa deret waktu dalam satu permintaan, perkiraan dihasilkan secara berurutan. Karena perkiraan untuk setiap deret waktu biasanya memakan waktu sekitar 300 hingga 1000 milidetik atau lebih, tergantung pada ukuran model, melewatkan terlalu banyak deret waktu dalam satu permintaan dapat menyebabkan waktu habis. Lebih baik mengirim lebih sedikit deret waktu per permintaan dan mengirim lebih banyak permintaan. Karena algoritma DeepAR menggunakan beberapa pekerja per instance, Anda dapat mencapai throughput yang jauh lebih tinggi dengan mengirimkan beberapa permintaan secara paralel.

Secara default, DeepAR menggunakan satu pekerja per CPU untuk inferensi, jika ada cukup memori per CPU. Jika modelnya besar dan tidak ada cukup memori untuk menjalankan model pada setiap CPU, jumlah pekerja berkurang. Jumlah pekerja yang digunakan untuk inferensi dapat ditimpa menggunakan variabel lingkungan `MODEL_SERVER_WORKERS` Misalnya, dengan menyetel`MODEL_SERVER_WORKERS=1`) saat memanggil SageMaker AI [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html)API.

## Transformasi Batch dengan Algoritma DeepAR
<a name="deepar-batch"></a>

Peramalan DeepAR mendukung mendapatkan kesimpulan dengan menggunakan transformasi batch dari data menggunakan format JSON Lines. Dalam format ini, setiap rekaman direpresentasikan pada satu baris sebagai objek JSON, dan garis dipisahkan oleh karakter baris baru. Formatnya identik dengan format JSON Lines yang digunakan untuk pelatihan model. Untuk informasi, lihat [Antarmuka Input/Output untuk Algoritma DeepAR](deepar.md#deepar-inputoutput). Contoh:

```
{"start": "2009-11-01 00:00:00", "target": [4.3, "NaN", 5.1, ...], "cat": [0, 1], "dynamic_feat": [[1.1, 1.2, 0.5, ..]]}
{"start": "2012-01-30 00:00:00", "target": [1.0, -5.0, ...], "cat": [2, 3], "dynamic_feat": [[1.1, 2.05, ...]]}
{"start": "1999-01-30 00:00:00", "target": [2.0, 1.0], "cat": [1, 4], "dynamic_feat": [[1.3, 0.4]]}
```

**catatan**  
Saat membuat pekerjaan transformasi dengan [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html), setel `BatchStrategy` nilainya ke `SingleRecord` dan setel `SplitType` nilai dalam [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformInput.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformInput.html)konfigurasi`Line`, karena nilai default saat ini menyebabkan kegagalan runtime.

Mirip dengan format permintaan inferensi titik akhir yang dihosting, `cat` dan `dynamic_feat` bidang untuk setiap instance diperlukan jika kedua hal berikut ini benar:
+ Model dilatih pada kumpulan data yang berisi bidang `cat` dan `dynamic_feat` bidang.
+ `num_dynamic_feat`Nilai yang sesuai `cardinality` dan yang digunakan dalam pekerjaan pelatihan tidak diatur ke `"".`

Tidak seperti inferensi titik akhir yang dihosting, bidang konfigurasi disetel sekali untuk seluruh pekerjaan inferensi batch menggunakan variabel lingkungan bernama. `DEEPAR_INFERENCE_CONFIG` Nilai `DEEPAR_INFERENCE_CONFIG` dapat diteruskan saat model dibuat dengan memanggil [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html)API. Jika `DEEPAR_INFERENCE_CONFIG` tidak ada di lingkungan penampung, wadah inferensi menggunakan default berikut:

```
{
    "num_samples": 100,
    "output_types": ["mean", "quantiles"],
    "quantiles": ["0.1", "0.2", "0.3", "0.4", "0.5", "0.6", "0.7", "0.8", "0.9"]
}
```

Outputnya juga dalam format JSON Lines, dengan satu baris per prediksi, dalam urutan yang identik dengan urutan instance dalam file input yang sesuai. Prediksi dikodekan sebagai objek yang identik dengan yang dikembalikan oleh respons dalam mode inferensi online. Contoh:

```
{ "quantiles": { "0.1": [...], "0.2": [...] }, "samples": [...], "mean": [...] }
```

Perhatikan bahwa dalam [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformInput.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformInput.html)konfigurasi [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html)permintaan SageMaker AI, klien harus secara eksplisit menetapkan nilainya`Line`, karena `AssembleWith` nilai default `None` menggabungkan semua objek JSON pada baris yang sama.

Misalnya, berikut adalah [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html)permintaan SageMaker AI untuk pekerjaan DeepAR dengan kustom: `DEEPAR_INFERENCE_CONFIG`

```
{
   "BatchStrategy": "SingleRecord",
   "Environment": { 
      "DEEPAR_INFERENCE_CONFIG" : "{ \"num_samples\": 200, \"output_types\": [\"mean\"] }",
      ...
   },
   "TransformInput": {
      "SplitType": "Line",
      ...
   },
   "TransformOutput": { 
      "AssembleWith": "Line",
      ...
   },
   ...
}
```