

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

# Menyelesaikan masalah inferensi machine learning
<a name="ml-troubleshooting"></a>

Gunakan informasi pemecahan masalah dan solusi di bagian ini untuk membantu menyelesaikan masalah dengan komponen machine learning Anda. Untuk komponen inferensi pembelajaran mesin publik, lihat pesan kesalahan di log komponen berikut:

------
#### [ Linux or Unix ]
+ `/greengrass/v2/logs/aws.greengrass.DLRImageClassification.log`
+ `/greengrass/v2/logs/aws.greengrass.DLRObjectDetection.log`
+ `/greengrass/v2/logs/aws.greengrass.TensorFlowLiteImageClassification.log`
+ `/greengrass/v2/logs/aws.greengrass.TensorFlowLiteObjectDetection.log`

------
#### [ Windows ]
+ `C:\greengrass\v2\logs\aws.greengrass.DLRImageClassification.log`
+ `C:\greengrass\v2\logs\aws.greengrass.DLRObjectDetection.log`
+ `C:\greengrass\v2\logs\aws.greengrass.TensorFlowLiteImageClassification.log`
+ `C:\greengrass\v2\logs\aws.greengrass.TensorFlowLiteObjectDetection.log`

------

Jika komponen diinstal dengan benar, maka log komponen akan berisi lokasi pustaka yang digunakannya untuk inferensi.

**Topics**
+ [Gagal mengambil pustaka](#rpi-update-error)
+ [Cannot open shared object file](#rpi-import-cv-error)
+ [Error: ModuleNotFoundError: No module named '<library>'](#troubleshooting-venv-errors-not-found)
+ [Tidak ada perangkat berkemampuan CUDA yang terdeteksi](#troubleshooting-cuda-error)
+ [Tidak ada file atau direktori seperti itu](#troubleshooting-venv-errors-no-such-file)
+ [RuntimeError: module compiled against API version 0xf but this version of NumPy is <version>](#troubleshooting-rpi-numpy-version-error)
+ [picamera.exc.PiCameraError: Camera is not enabled](#troubleshooting-rpi-camera-stack-error)
+ [Kesalahan memori](#troubleshooting-memory-errors)
+ [Kesalahan ruang disk](#troubleshooting-disk-space-errors)
+ [Batas waktu mengalami kesalahan](#troubleshooting-timeout-errors)

## Gagal mengambil pustaka
<a name="rpi-update-error"></a>

Kesalahan berikut terjadi ketika skrip penginstal gagal mengunduh pustaka yang diperlukan selama penerapan pada perangkat Raspberry Pi.

```
Err:2 http://raspbian.raspberrypi.org/raspbian buster/main armhf python3.7-dev armhf 3.7.3-2+deb10u1
404 Not Found [IP: 93.93.128.193 80] 
E: Failed to fetch http://raspbian.raspberrypi.org/raspbian/pool/main/p/python3.7/libpython3.7-dev_3.7.3-2+deb10u1_armhf.deb 404 Not Found [IP: 93.93.128.193 80]
```

Jalankan `sudo apt-get update` dan deploy komponen Anda lagi.

## Cannot open shared object file
<a name="rpi-import-cv-error"></a>

Anda mungkin melihat kesalahan yang mirip dengan berikut ini ketika skrip penginstal gagal mengunduh dependensi yang diperlukan untuk `opencv-python` selama deployment pada perangkat Raspberry Pi.

```
ImportError: libopenjp2.so.7: cannot open shared object file: No such file or directory
```

Jalankan perintah berikut untuk secara manual menginstal dependensi untuk `opencv-python`:

```
sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
```

## Error: ModuleNotFoundError: No module named '<library>'
<a name="troubleshooting-venv-errors-not-found"></a>

Anda mungkin melihat kesalahan ini di log komponen runtime HTML (`variant.DLR.log`atau`variant.TensorFlowLite.log`) saat pustaka runtime HTML atau dependensinya tidak diinstal dengan benar. Kesalahan ini dapat terjadi dalam kasus-kasus berikut:
+ Jika Anda menggunakan `UseInstaller` opsi, yang diaktifkan secara default, kesalahan ini menunjukkan bahwa komponen runtime HTML gagal menginstal runtime atau dependensinya. Lakukan hal-hal berikut:

  1. Konfigurasikan komponen runtime ML untuk menonaktifkan `UseInstaller` opsi.

  1. Instal runtime ML dan dependensinya, dan buat mereka tersedia untuk pengguna sistem yang menjalankan komponen ML. Untuk informasi selengkapnya, lihat berikut ini:
     + [Opsi runtime DLR UseInstaller ](dlr-component.md#dlr-component-config-useinstaller-term)
     + [TensorFlowOpsi runtime UseInstaller Lite](tensorflow-lite-component.md#tensorflow-lite-component-config-useinstaller-term)
+ Jika Anda tidak menggunakan `UseInstaller` opsi, kesalahan ini menunjukkan bahwa runtime HTML atau dependensinya tidak diinstal untuk pengguna sistem yang menjalankan komponen ML. Lakukan hal-hal berikut:

  1. Periksa apakah pustaka diinstal untuk pengguna sistem yang menjalankan komponen ML. Ganti *ggc\$1user* dengan nama pengguna sistem, dan ganti *tflite\$1runtime* dengan nama perpustakaan untuk memeriksa.

------
#### [ Linux or Unix ]

     ```
     sudo -H -u ggc_user bash -c "python3 -c 'import tflite_runtime'"
     ```

------
#### [ Windows ]

     ```
     runas /user:ggc_user "py -3 -c \"import tflite_runtime\""
     ```

------

  1. Jika pustaka tidak diinstal, instal untuk pengguna itu. Ganti *ggc\$1user* dengan nama pengguna sistem, dan ganti *tflite\$1runtime* dengan nama perpustakaan.

------
#### [ Linux or Unix ]

     ```
     sudo -H -u ggc_user bash -c "python3 -m pip install --user tflite_runtime"
     ```

------
#### [ Windows ]

     ```
     runas /user:ggc_user "py -3 -m pip install --user tflite_runtime"
     ```

------

     Untuk informasi selengkapnya tentang dependensi untuk setiap runtime ML, lihat berikut ini:
     + [Opsi runtime DLR UseInstaller ](dlr-component.md#dlr-component-config-useinstaller-term)
     + [TensorFlowOpsi runtime UseInstaller Lite](tensorflow-lite-component.md#tensorflow-lite-component-config-useinstaller-term)

  1. Jika masalah berlanjut, instal pustaka untuk pengguna lain untuk mengonfirmasi apakah perangkat ini dapat menginstal pustaka. Pengguna dapat berupa, misalnya, pengguna Anda, pengguna root, atau pengguna administrator. Jika Anda tidak berhasil menginstal pustaka untuk pengguna mana pun, perangkat Anda mungkin tidak mendukung pustaka. Konsultasikan dokumentasi perpustakaan untuk meninjau persyaratan dan memecahkan masalah penginstalan.

## Tidak ada perangkat berkemampuan CUDA yang terdeteksi
<a name="troubleshooting-cuda-error"></a>

Anda mungkin melihat kesalahan berikut saat menggunakan akselerasi GPU. Jalankan perintah berikut untuk mengaktifkan akses GPU untuk pengguna Greengrass.

```
sudo usermod -a -G video ggc_user
```

## Tidak ada file atau direktori seperti itu
<a name="troubleshooting-venv-errors-no-such-file"></a>

Kesalahan berikut menunjukkan bahwa komponen waktu aktif tidak dapat mengatur lingkungan virtual dengan benar:
+ `MLRootPath/greengrass_ml_dlr_conda/bin/conda: No such file or directory `
+ `MLRootPath/greengrass_ml_dlr_venv/bin/activate: No such file or directory ` 
+ `MLRootPath/greengrass_ml_tflite_conda/bin/conda: No such file or directory ` 
+ `MLRootPath/greengrass_ml_tflite_venv/bin/activate: No such file or directory `

Periksa log untuk memastikan bahwa semua waktu aktif dependensi diinstal dengan benar. Untuk informasi selengkapnya tentang pustaka yang diinstal oleh skrip penginstal, lihat topik berikut ini:
+ [Runtime DLR](dlr-component.md)
+ [TensorFlow Runtime ringan](tensorflow-lite-component.md)

Secara default *MLRootPath* diatur ke`/greengrass/v2/work/component-name/greengrass_ml`. Untuk mengubah lokasi ini, sertakan [Runtime DLR](dlr-component.md) atau komponen waktu aktif [TensorFlow Runtime ringan](tensorflow-lite-component.md) secara langsung dalam deployment Anda, dan tentukan nilai yang diubah untuk parameter `MLRootPath` dalam pembaruan gabungan konfigurasi. Untuk informasi lebih lanjut tentang mengonfigurasi komponen, lihat [Perbarui konfigurasi komponen](update-component-configurations.md).

**catatan**  
Untuk komponen DLR v1.3.x, Anda mengatur parameter `MLRootPath` dalam konfigurasi komponen inferensi, dan nilai defaultnya adalah `$HOME/greengrass_ml`.

## RuntimeError: module compiled against API version 0xf but this version of NumPy is <version>
<a name="troubleshooting-rpi-numpy-version-error"></a>

Anda mungkin melihat kesalahan berikut saat menjalankan inferensi pembelajaran mesin pada Raspberry Pi yang menjalankan Raspberry Pi OS Bullseye.

```
RuntimeError: module compiled against API version 0xf but this version of numpy is 0xd
ImportError: numpy.core.multiarray failed to import
```

Kesalahan ini terjadi karena Raspberry Pi OS Bullseye menyertakan versi sebelumnya NumPy dari versi yang dibutuhkan OpenCV. Untuk memperbaiki masalah ini, jalankan perintah berikut untuk meningkatkan NumPy ke versi terbaru.

```
pip3 install --upgrade numpy
```

## picamera.exc.PiCameraError: Camera is not enabled
<a name="troubleshooting-rpi-camera-stack-error"></a>

Anda mungkin melihat kesalahan berikut saat menjalankan inferensi pembelajaran mesin pada Raspberry Pi yang menjalankan Raspberry Pi OS Bullseye.

```
picamera.exc.PiCameraError: Camera is not enabled. Try running 'sudo raspi-config' and ensure that the camera has been enabled.
```

Kesalahan ini terjadi karena Raspberry Pi OS Bullseye menyertakan tumpukan kamera baru yang tidak kompatibel dengan komponen ML. Untuk memperbaiki masalah ini, aktifkan tumpukan kamera lama.<a name="raspberry-pi-bullseye-enable-legacy-camera-stack"></a>

**Untuk mengaktifkan tumpukan kamera lama**

1. Jalankan perintah berikut untuk membuka alat konfigurasi Raspberry Pi.

   ```
   sudo raspi-config
   ```

1. Pilih **Opsi Antarmuka**.

1. Pilih **Kamera lama** untuk mengaktifkan tumpukan kamera lama.

1. Reboot Raspberry Pi.

## Kesalahan memori
<a name="troubleshooting-memory-errors"></a>

Kesalahan berikut biasanya terjadi ketika perangkat tidak memiliki cukup memori dan proses komponen terganggu.
+ `stderr. Killed.`
+ `exitCode=137`

Kami merekomendasikan minimal 500 MB memori untuk men-deploy komponen inferensi machine learning.

## Kesalahan ruang disk
<a name="troubleshooting-disk-space-errors"></a>

Kesalahan `no space left on device` biasanya terjadi ketika sebuah klaster tidak memiliki penyimpanan yang cukup. Pastikan bahwa ada cukup ruang disk yang tersedia di perangkat Anda sebelum Anda menyebarkan komponen lagi. Kami merekomendasikan minimal 500 MB memori untuk men-deploy komponen inferensi machine learning publik.

## Batas waktu mengalami kesalahan
<a name="troubleshooting-timeout-errors"></a>

Komponen machine learning publik mengunduh file model machine learning besar yang lebih besar dari 200 MB. Jika waktu download habis saat deployment, periksa kecepatan koneksi internet Anda dan coba lagi lakukan deployment.