

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

# Memecahkan Masalah Kesalahan
<a name="neo-troubleshooting"></a>

Bagian ini berisi informasi tentang cara memahami dan mencegah kesalahan umum, pesan kesalahan yang mereka hasilkan, dan panduan tentang cara mengatasi kesalahan ini. Sebelum melanjutkan, tanyakan pada diri Anda pertanyaan-pertanyaan berikut:

 **Apakah Anda mengalami kesalahan sebelum menerapkan model Anda?** Jika ya, lihat [Memecahkan Masalah Kesalahan Kompilasi Neo](https://docs.aws.amazon.com/sagemaker/latest/dg/neo-troubleshooting-compilation.html). 

 **Apakah Anda mengalami kesalahan setelah mengkompilasi model Anda?** Jika ya, lihat [Memecahkan Masalah Kesalahan Inferensi Neo](https://docs.aws.amazon.com/sagemaker/latest/dg/neo-troubleshooting-inference.html). 

**Apakah Anda mengalami kesalahan saat mencoba mengkompilasi model Anda untuk perangkat Ambarella?** Jika ya, lihat[Memecahkan Masalah Kesalahan Ambarella](neo-troubleshooting-target-devices-ambarella.md).

## Jenis Klasifikasi Kesalahan
<a name="neo-error-messages"></a>

Daftar ini mengklasifikasikan *kesalahan pengguna* yang dapat Anda terima dari Neo. Ini termasuk kesalahan akses dan izin dan kesalahan pemuatan untuk setiap kerangka kerja yang didukung. Semua kesalahan lainnya adalah *kesalahan sistem*.

### Kesalahan izin klien
<a name="neo-error-client-permission"></a>

 Neo melewati kesalahan untuk ini langsung dari layanan dependen. 
+ *Akses Ditolak* saat memanggil sts: AssumeRole
+ Kesalahan *400* saat menelepon Amazon S3 untuk mengunduh atau mengunggah model klien
+ *PassRole* kesalahan

### Kesalahan beban
<a name="collapsible-section-2"></a>

Dengan asumsi bahwa kompiler Neo berhasil memuat .tar.gz dari Amazon S3, periksa apakah tarball berisi file yang diperlukan untuk kompilasi. Kriteria pemeriksaan khusus kerangka kerja: 
+ **TensorFlow**: Hanya mengharapkan file protobuf (\$1.pb atau\$1.pbtxt). Untuk model yang disimpan, mengharapkan satu folder variabel. 
+ **Pytorch**: Harapkan hanya satu file pytorch (\$1.pth).
+ **MXNET**: Harapkan hanya satu file simbol (\$1.json) dan satu file parameter (\$1.params).
+ **XGBoost**: Harapkan hanya satu file XGBoost model (\$1.model). Model input memiliki batasan ukuran.

### Kesalahan kompilasi
<a name="neo-error-compilation"></a>

Dengan asumsi bahwa kompiler Neo berhasil memuat .tar.gz dari Amazon S3, dan tarball berisi file yang diperlukan untuk kompilasi. Kriteria pemeriksaan adalah: 
+ **OperatorNotImplemented**: Operator belum diimplementasikan.
+ **OperatorAttributeNotImplemented**: Atribut di operator yang ditentukan belum diimplementasikan. 
+ **OperatorAttributeRequired**: Atribut diperlukan untuk grafik simbol internal, tetapi tidak tercantum dalam grafik model input pengguna. 
+ **OperatorAttributeValueNotValid**: Nilai atribut di operator tertentu tidak valid. 

**Topics**
+ [Jenis Klasifikasi Kesalahan](#neo-error-messages)
+ [Memecahkan Masalah Kesalahan Kompilasi Neo](neo-troubleshooting-compilation.md)
+ [Memecahkan Masalah Kesalahan Inferensi Neo](neo-troubleshooting-inference.md)
+ [Memecahkan Masalah Kesalahan Ambarella](neo-troubleshooting-target-devices-ambarella.md)

# Memecahkan Masalah Kesalahan Kompilasi Neo
<a name="neo-troubleshooting-compilation"></a>

Bagian ini berisi informasi tentang cara memahami dan mencegah kesalahan kompilasi umum, pesan kesalahan yang mereka hasilkan, dan panduan tentang cara mengatasi kesalahan ini. 

**Topics**
+ [Cara Menggunakan Halaman Ini](#neo-troubleshooting-compilation-how-to-use)
+ [Kesalahan Terkait Kerangka Kerja](#neo-troubleshooting-compilation-framework-related-errors)
+ [Kesalahan Terkait Infrastruktur](#neo-troubleshooting-compilation-infrastructure-errors)
+ [Periksa log kompilasi Anda](#neo-troubleshooting-compilation-logs)

## Cara Menggunakan Halaman Ini
<a name="neo-troubleshooting-compilation-how-to-use"></a>

Mencoba untuk menyelesaikan kesalahan Anda dengan melalui bagian-bagian ini dalam urutan berikut:

1. Periksa apakah input pekerjaan kompilasi Anda memenuhi persyaratan input. Lihat [Bentuk data input apa yang diharapkan SageMaker Neo?](neo-compilation-preparing-model.md#neo-job-compilation-expected-inputs)

1.  Periksa kesalahan umum [khusus kerangka kerja](https://docs.aws.amazon.com/sagemaker/latest/dg/neo-troubleshooting-compilation.html#neo-troubleshooting-compilation-framework-related-errors). 

1.  Periksa apakah kesalahan Anda adalah [kesalahan infrastruktur](https://docs.aws.amazon.com/sagemaker/latest/dg/neo-troubleshooting-compilation.html#neo-troubleshooting-compilation-infrastructure-errors). 

1. Periksa [log kompilasi](https://docs.aws.amazon.com/sagemaker/latest/dg/neo-troubleshooting-compilation.html#neo-troubleshooting-compilation-logs) Anda.

## Kesalahan Terkait Kerangka Kerja
<a name="neo-troubleshooting-compilation-framework-related-errors"></a>

### Keras
<a name="neo-troubleshooting-compilation-framework-related-errors-keras"></a>


| Kesalahan | Solusi | 
| --- | --- | 
|   `InputConfiguration: No h5 file provided in <model path>`   |   Periksa file h5 Anda ada di Amazon S3 URI yang Anda tentukan.  *Atau* Periksa apakah [file h5 diformat dengan benar](https://www.tensorflow.org/guide/keras/save_and_serialize#keras_h5_format).   | 
|   `InputConfiguration: Multiple h5 files provided, <model path>, when only one is allowed`   |  Periksa bahwa Anda hanya menyediakan satu `h5` file.  | 
|   `ClientError: InputConfiguration: Unable to load provided Keras model. Error: 'sample_weight_mode'`   |  Periksa versi Keras yang Anda tentukan didukung. Lihat, kerangka kerja yang didukung untuk [instance cloud dan perangkat](https://docs.aws.amazon.com/sagemaker/latest/dg/neo-supported-cloud.html) [edge](https://docs.aws.amazon.com/sagemaker/latest/dg/neo-supported-devices-edge.html).   | 
|   `ClientError: InputConfiguration: Input input has wrong shape in Input Shape dictionary. Input shapes should be provided in NCHW format. `   |   Periksa apakah input model Anda mengikuti format NCHW. Lihat [Bentuk data input apa yang diharapkan SageMaker Neo?](https://docs.aws.amazon.com/sagemaker/latest/dg/neo-job-compilation.html#neo-job-compilation-expected-inputs)   | 

### MXNet
<a name="neo-troubleshooting-compilation-framework-related-errors-mxnet"></a>


| Kesalahan | Solusi | 
| --- | --- | 
|   `ClientError: InputConfiguration: Only one parameter file is allowed for MXNet model. Please make sure the framework you select is correct.`   |   SageMaker Neo akan memilih file parameter pertama yang diberikan untuk kompilasi.   | 

### TensorFlow
<a name="neo-troubleshooting-compilation-framework-related-errors-tensorflow"></a>


| Kesalahan | Solusi | 
| --- | --- | 
|   `InputConfiguration: Exactly one .pb file is allowed for TensorFlow models.`   |  Pastikan Anda hanya menyediakan satu file.pb atau .pbtxt.  | 
|  `InputConfiguration: Exactly one .pb or .pbtxt file is allowed for TensorFlow models.`  |  Pastikan Anda hanya menyediakan satu file.pb atau .pbtxt.  | 
|   ` ClientError: InputConfiguration: TVM cannot convert <model zoo> model. Please make sure the framework you selected is correct. The following operators are not implemented: {<operator name>} `   |   Periksa operator yang Anda pilih didukung. Lihat [Kerangka Kerja dan Operator yang Didukung SageMaker Neo](https://aws.amazon.com/releasenotes/sagemaker-neo-supported-frameworks-and-operators/).   | 

### PyTorch
<a name="neo-troubleshooting-compilation-framework-related-errors-pytorch"></a>


| Kesalahan | Solusi | 
| --- | --- | 
|   `InputConfiguration: We are unable to extract DataInputConfig from the model due to input_config_derivation_error. Please override by providing a DataInputConfig during compilation job creation.`  |  Lakukan salah satu dari langkah berikut: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/neo-troubleshooting-compilation.html)  | 

## Kesalahan Terkait Infrastruktur
<a name="neo-troubleshooting-compilation-infrastructure-errors"></a>


| Kesalahan | Solusi | 
| --- | --- | 
|   `ClientError: InputConfiguration: S3 object does not exist. Bucket: <bucket>, Key: <bucket key>`   |  Periksa URI Amazon S3 yang Anda berikan.  | 
|   ` ClientError: InputConfiguration: Bucket <bucket name> is in region <region name> which is different from AWS Sagemaker service region <service region> `   |   Buat bucket Amazon S3 yang berada di wilayah yang sama dengan layanan.   | 
|   ` ClientError: InputConfiguration: Unable to untar input model. Please confirm the model is a tar.gz file `   |   Periksa apakah model Anda di Amazon S3 dikompresi menjadi file. `tar.gz`   | 

## Periksa log kompilasi Anda
<a name="neo-troubleshooting-compilation-logs"></a>

1. Arahkan ke Amazon CloudWatch di [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Pilih wilayah tempat Anda membuat pekerjaan kompilasi dari daftar dropdown **Region** di kanan atas.

1. Di panel navigasi Amazon CloudWatch, pilih **Log**. Pilih **Grup log**.

1. Cari grup log yang disebut`/aws/sagemaker/CompilationJobs`. Pilih grup log .

1. Cari logstream yang dinamai setelah nama pekerjaan kompilasi. Pilih aliran log.

# Memecahkan Masalah Kesalahan Inferensi Neo
<a name="neo-troubleshooting-inference"></a>

Bagian ini berisi informasi tentang cara mencegah dan mengatasi beberapa kesalahan umum yang mungkin Anda temui saat and/or menerapkan titik akhir. Bagian ini berlaku untuk **PyTorch 1.4.0 atau yang lebih baru dan **MXNetv1.7.0** atau** yang lebih baru. 
+ Pastikan inferensi pertama (inferensi pemanasan) pada data input yang valid dilakukan di`model_fn()`, jika Anda mendefinisikan a `model_fn` dalam skrip inferensi Anda, jika tidak, pesan kesalahan berikut dapat dilihat di terminal saat dipanggil: [https://sagemaker.readthedocs.io/en/stable/api/inference/predictors.html#sagemaker.predictor.Predictor.predict](https://sagemaker.readthedocs.io/en/stable/api/inference/predictors.html#sagemaker.predictor.Predictor.predict) 

  ```
  An error occurred (ModelError) when calling the InvokeEndpoint operation: Received server error (0) from <users-sagemaker-endpoint> with message "Your invocation timed out while waiting for a response from container model. Review the latency metrics for each container in Amazon CloudWatch, resolve the issue, and try again."                
  ```
+ Pastikan bahwa variabel lingkungan dalam tabel berikut diatur. Jika tidak disetel, pesan galat berikut mungkin muncul: 

  **Di terminal:**

  ```
  An error occurred (ModelError) when calling the InvokeEndpoint operation: Received server error (503) from <users-sagemaker-endpoint> with message "{ "code": 503, "type": "InternalServerException", "message": "Prediction failed" } ".
  ```

  **Dalam CloudWatch:**

  ```
  W-9001-model-stdout com.amazonaws.ml.mms.wlm.WorkerLifeCycle - AttributeError: 'NoneType' object has no attribute 'transform'
  ```    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/neo-troubleshooting-inference.html)
+ Pastikan variabel `MMS_DEFAULT_RESPONSE_TIMEOUT` lingkungan disetel ke 500 atau nilai yang lebih tinggi saat membuat model Amazon SageMaker AI; jika tidak, pesan kesalahan berikut mungkin terlihat di terminal: 

  ```
  An error occurred (ModelError) when calling the InvokeEndpoint operation: Received server error (0) from <users-sagemaker-endpoint> with message "Your invocation timed out while waiting for a response from container model. Review the latency metrics for each container in Amazon CloudWatch, resolve the issue, and try again."
  ```

# Memecahkan Masalah Kesalahan Ambarella
<a name="neo-troubleshooting-target-devices-ambarella"></a>

SageMaker Neo membutuhkan model untuk dikemas dalam file TAR terkompresi ()`*.tar.gz`. Perangkat Ambarella memerlukan file tambahan untuk dimasukkan dalam file TAR terkompresi sebelum dikirim untuk kompilasi. Sertakan file berikut dalam file TAR terkompresi jika Anda ingin mengkompilasi model untuk target Ambarella dengan Neo: SageMaker 
+ Model terlatih menggunakan kerangka kerja yang didukung oleh SageMaker Neo 
+ File konfigurasi JSON
+ Gambar kalibrasi

Misalnya, isi file TAR terkompresi Anda akan terlihat mirip dengan contoh berikut:

```
├──amba_config.json
├──calib_data
|    ├── data1
|    ├── data2
|    ├── .
|    ├── .
|    ├── .
|    └── data500
└──mobilenet_v1_1.0_0224_frozen.pb
```

Direktori dikonfigurasi sebagai berikut:
+ `amba_config.json`: File konfigurasi
+ `calib_data`: Folder berisi gambar kalibrasi
+ `mobilenet_v1_1.0_0224_frozen.pb`: TensorFlow model disimpan sebagai grafik beku

Untuk informasi tentang kerangka kerja yang didukung oleh SageMaker Neo, lihat[Kerangka Kerja yang Didukung](neo-supported-devices-edge-frameworks.md).

## Menyiapkan File Konfigurasi
<a name="neo-troubleshooting-target-devices-ambarella-config"></a>

File konfigurasi menyediakan informasi yang diperlukan oleh rantai alat Ambarella untuk mengkompilasi model. File konfigurasi harus disimpan sebagai file JSON dan nama file harus diakhiri dengan`*config.json`. Bagan berikut menunjukkan isi dari file konfigurasi.


| Key | Deskripsi | Contoh | 
| --- | --- | --- | 
| masukan | Kamus pemetaan lapisan masukan untuk atribut. | <pre>{inputs:{"data":{...},"data1":{...}}}</pre> | 
| “data” | Nama lapisan masukan. Catatan: “data” adalah contoh nama yang dapat Anda gunakan untuk memberi label pada lapisan input. | “data” | 
| bentuk | Menjelaskan bentuk input ke model. Ini mengikuti konvensi yang sama yang digunakan SageMaker Neo. | “bentuk”: “1,3,224,224" | 
| filepath | Jalur relatif ke direktori yang berisi gambar kalibrasi. Ini bisa berupa file biner atau gambar seperti JPG atau PNG. | “filepath”: “calib\$1data/” | 
| format warna | Format warna yang diharapkan model. Ini akan digunakan saat mengonversi gambar menjadi biner. Nilai yang didukung: [RGB, BGR]. Defaultnya adalah RGB. | “format warna” :"RGB” | 
| kejam | Nilai rata-rata yang akan dikurangi dari input. Bisa berupa nilai tunggal atau daftar nilai. Ketika mean diberikan sebagai daftar, jumlah entri harus sesuai dengan dimensi saluran input. | “berarti” :128.0 | 
| skala | Nilai skala yang akan digunakan untuk menormalkan input. Bisa berupa nilai tunggal atau daftar nilai. Ketika skala diberikan sebagai daftar, jumlah entri harus sesuai dengan dimensi saluran input. | “skala”: 255.0 | 

Berikut ini adalah contoh file konfigurasi: 

```
{
    "inputs": {
        "data": {
                "shape": "1, 3, 224, 224",
                "filepath": "calib_data/",
                "colorformat": "RGB",
                "mean":[128,128,128],
                "scale":[128.0,128.0,128.0]
        }
    }
}
```

## Gambar Kalibrasi
<a name="neo-troubleshooting-target-devices-ambarella-calibration-images"></a>

Kuantisasi model terlatih Anda dengan memberikan gambar kalibrasi. Mengukur model Anda meningkatkan kinerja CVFlow mesin pada Sistem Ambarella on a Chip (SoC). Rantai alat Ambarella menggunakan gambar kalibrasi untuk menentukan bagaimana setiap lapisan dalam model harus dikuantisasi untuk mencapai kinerja dan akurasi yang optimal. Setiap lapisan dikuantisasi secara independen ke INT8 atau INT16 format. Model akhir memiliki campuran INT8 dan INT16 lapisan setelah kuantisasi.

**Berapa banyak gambar yang harus Anda gunakan?**

Disarankan agar Anda menyertakan antara 100-200 gambar yang mewakili jenis adegan yang diharapkan ditangani oleh model. Waktu kompilasi model meningkat secara linier ke jumlah gambar kalibrasi dalam file input.

**Apa format gambar yang direkomendasikan?**

Gambar kalibrasi dapat dalam format biner mentah atau format gambar seperti JPG dan PNG.

Folder kalibrasi Anda dapat berisi campuran gambar dan file biner. Jika folder kalibrasi berisi gambar dan file biner, rantai alat pertama-tama mengonversi gambar menjadi file biner. Setelah konversi selesai, ia menggunakan file biner yang baru dihasilkan bersama dengan file biner yang awalnya ada di folder.

**Bisakah saya mengonversi gambar menjadi format biner terlebih dahulu?**

Ya. [Anda dapat mengonversi gambar ke format biner dengan paket sumber terbuka seperti [OpenCV](https://opencv.org/) atau PIL.](https://python-pillow.org/) Pangkas dan ubah ukuran gambar sehingga memenuhi lapisan input model terlatih Anda.



## Mean dan Skala
<a name="neo-troubleshooting-target-devices-ambarella-mean-scale"></a>

Anda dapat menentukan opsi pra-pemrosesan rata-rata dan penskalaan ke rantai alat Amberalla. Operasi ini tertanam ke dalam jaringan dan diterapkan selama inferensi pada setiap input. Jangan berikan data yang diproses jika Anda menentukan mean atau skala. Lebih khusus lagi, jangan berikan data yang telah Anda kurangi dari rata-rata atau terapkan penskalaan.

## Periksa log kompilasi Anda
<a name="neo-troubleshooting-target-devices-ambarella-compilation"></a>

Untuk informasi tentang memeriksa log kompilasi untuk perangkat Ambarella, lihat. [Periksa log kompilasi Anda](neo-troubleshooting-compilation.md#neo-troubleshooting-compilation-logs)