

Pemberitahuan akhir dukungan: Pada 7 Oktober 2026, AWS akan menghentikan dukungan untuk. AWS IoT Greengrass Version 1 Setelah 7 Oktober 2026, Anda tidak akan lagi dapat mengakses sumber daya. AWS IoT Greengrass V1 Untuk informasi lebih lanjut, silakan kunjungi [Migrasi dari AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html).

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

# Opsional: Mengonfigurasi perangkat Anda untuk kualifikasi ML
<a name="idt-ml-qualification"></a>

IDT for AWS IoT Greengrass menyediakan pengujian kualifikasi machine learning (ML) untuk memvalidasi bahwa perangkat Anda dapat melakukan inferensi ML secara lokal menggunakan model terlatih cloud.

Untuk menjalankan tes kualifikasi ML, Anda harus terlebih dahulu mengonfigurasi perangkat Anda seperti yang dijelaskan di [Konfigurasikan perangkat Anda untuk menjalankan tes IDT](device-config-setup.md). Kemudian, ikuti langkah-langkah dalam topik ini untuk menginstal dependensi untuk kerangka kerja ML yang Anda ingin jalankan.

IDT v3.1.0 atau yang lebih baru diperlukan untuk menjalankan tes untuk kualifikasi ML.

## Menginstal dependensi kerangka kerja ML
<a name="ml-qualification-framework-dependencies"></a>

Semua dependensi kerangka kerja ML harus diinstal di bawah direktori `/usr/local/lib/python3.x/site-packages` ini. Untuk memastikan mereka dipasang di direktori yang benar, kami merekomendasikan Anda menggunakan `sudo` izin root ketika menginstal dependensi. Lingkungan virtual tidak didukung untuk tes kualifikasi.

**catatan**  
Jika anda sedang mengetes fungsi Lambda yang berjalan dengan [kontainerisasi](lambda-group-config.md#lambda-containerization-considerations) (di mode **kontainer Greengrass** ini), membuat symlink untuk perpustakaan Python di bawah `/usr/local/lib/python3.x` tidak didukung. Untuk menghindari kesalahan, Anda harus menginstal dependensi di bawah direktori yang benar.

Ikuti langkah-langkah untuk menginstal dependensi untuk kerangka kerja target Anda:
+ [Instal MXNet dependensi](#ml-qualification-mxnet-dependencies)
+ [Instal TensorFlow dependensi](#ml-qualification-tensorflow-dependencies)
+ [Instal dependensi DLR](#ml-qualification-dlr-dependencies)

 

## Instal dependensi Apache MXNet
<a name="ml-qualification-mxnet-dependencies"></a>

<a name="test-framework-dependencies"></a>Tes kualifikasi IDT untuk kerangka kerja ini memiliki dependensi sebagai berikut:
+ <a name="ml-qualification-python-req"></a>Python 3.6 atau Python 3.7.
**catatan**  <a name="python-symlink-command"></a>
Jika Anda menggunakan Python 3.6, Anda harus membuat sebuah tautan simbolik dari binari Python 3.7 ke Python 3.6. Ini mengonfigurasi perangkat Anda untuk memenuhi persyaratan Python untuk AWS IoT Greengrass. Sebagai contoh:  

  ```
  sudo ln -s path-to-python-3.6/python3.6 path-to-python-3.7/python3.7
  ```
+ Apache MXNet v1.2.1 atau yang lebih baru.
+ NumPy. Versi harus kompatibel dengan MXNet versi Anda.

### Instalasi MXNet
<a name="ml-qualification-mxnet-install"></a>

Ikuti instruksi dalam MXNet dokumentasi untuk [menginstal MXNet](https://mxnet.apache.org/get_started/?platform=linux&language=python&processor=cpu&environ=pip&).

**catatan**  
<a name="run-python3-commands"></a>Jika Python 2.x dan Python 3.x keduanya diinstal pada perangkat Anda, gunakan Python 3.x dalam perintah yang Anda jalankan untuk menginstal dependensi.

### Memvalidasi instalasi MXNet
<a name="ml-qualification-mxnet-validate"></a>

Pilih salah satu opsi berikut untuk memvalidasi MXNet instalasi.

#### Opsi 1: SSH ke perangkat Anda dan jalankan skrip
<a name="ml-qualification-validate-mxnet-option-1"></a>

1. <a name="ssh-validate-framework-install-ssh"></a>SSH ke perangkat Anda.

1. <a name="ssh-validate-framework-install-run-scripts"></a>Jalankan skrip berikut untuk memverifikasi bahwa dependensi diinstal dengan benar.

   ```
   sudo python3.7 -c "import mxnet; print(mxnet.__version__)"
   ```

   ```
   sudo python3.7 -c "import numpy; print(numpy.__version__)"
   ```

   <a name="ssh-passed-mldependencies"></a>Output mencetak nomor versi dan skrip harus keluar tanpa kesalahan.

#### Opsi 2: Jalankan tes depedensi IDT
<a name="ml-qualification-validate-mxnet-option-2"></a>

1. <a name="idt-validate-framework-install-check-config"></a>Pastikan bahwa `device.json` dikonfigurasi untuk kualifikasi ML. Untuk informasi selengkapnya, lihat [Konfigurasikan device.json untuk kualifikasi ML](set-config.md#device-json-ml-qualification).

1. <a name="idt-validate-framework-install-run-test"></a>Jalankan tes dependensi untuk kerangka kerja.

   ```
   devicetester_[linux | mac | win_x86-64] run-suite --group-id mldependencies --test-id mxnet_dependency_check
   ```

   <a name="idt-passed-mldependencies"></a>Ringkasan tes menampilkan `PASSED` hasil untuk `mldependencies`.

 

## Instal TensorFlow dependensi
<a name="ml-qualification-tensorflow-dependencies"></a>

<a name="test-framework-dependencies"></a>Tes kualifikasi IDT untuk kerangka kerja ini memiliki dependensi sebagai berikut:
+ <a name="ml-qualification-python-req"></a>Python 3.6 atau Python 3.7.
**catatan**  <a name="python-symlink-command"></a>
Jika Anda menggunakan Python 3.6, Anda harus membuat sebuah tautan simbolik dari binari Python 3.7 ke Python 3.6. Ini mengonfigurasi perangkat Anda untuk memenuhi persyaratan Python untuk AWS IoT Greengrass. Sebagai contoh:  

  ```
  sudo ln -s path-to-python-3.6/python3.6 path-to-python-3.7/python3.7
  ```
+ TensorFlow 1.x.

### Instalasi TensorFlow
<a name="ml-qualification-tensorflow-install"></a>

Ikuti petunjuk dalam TensorFlow dokumentasi untuk menginstal TensorFlow 1.x [dengan pip](https://www.tensorflow.org/install/pip) atau [dari](https://www.tensorflow.org/install/source) sumber.

**catatan**  
<a name="run-python3-commands"></a>Jika Python 2.x dan Python 3.x keduanya diinstal pada perangkat Anda, gunakan Python 3.x dalam perintah yang Anda jalankan untuk menginstal dependensi.

### Memvalidasi instalasi TensorFlow
<a name="ml-qualification-tensorflow-validate"></a>

Pilih salah satu opsi berikut untuk memvalidasi TensorFlow instalasi.

#### Opsi 1: SSH ke perangkat Anda dan jalankan skrip
<a name="ml-qualification-validate-tensorflow-option-1"></a>

1. <a name="ssh-validate-framework-install-ssh"></a>SSH ke perangkat Anda.

1. Menjalankan skrip berikut untuk memverifikasi bahwa depedensi telah diinstal dengan benar.

   ```
   sudo python3.7 -c "import tensorflow; print(tensorflow.__version__)"
   ```

   <a name="ssh-passed-mldependencies"></a>Output mencetak nomor versi dan skrip harus keluar tanpa kesalahan.

#### Opsi 2: Jalankan tes depedensi IDT
<a name="ml-qualification-validate-tensorflow-option-2"></a>

1. <a name="idt-validate-framework-install-check-config"></a>Pastikan bahwa `device.json` dikonfigurasi untuk kualifikasi ML. Untuk informasi selengkapnya, lihat [Konfigurasikan device.json untuk kualifikasi ML](set-config.md#device-json-ml-qualification).

1. <a name="idt-validate-framework-install-run-test"></a>Jalankan tes dependensi untuk kerangka kerja.

   ```
   devicetester_[linux | mac | win_x86-64] run-suite --group-id mldependencies --test-id tensorflow_dependency_check
   ```

   <a name="idt-passed-mldependencies"></a>Ringkasan tes menampilkan `PASSED` hasil untuk `mldependencies`.

 

## Instal dependensi Amazon SageMaker AI Neo Deep Learning Runtime (DLR)
<a name="ml-qualification-dlr-dependencies"></a>

<a name="test-framework-dependencies"></a>Tes kualifikasi IDT untuk kerangka kerja ini memiliki dependensi sebagai berikut:
+ <a name="ml-qualification-python-req"></a>Python 3.6 atau Python 3.7.
**catatan**  <a name="python-symlink-command"></a>
Jika Anda menggunakan Python 3.6, Anda harus membuat sebuah tautan simbolik dari binari Python 3.7 ke Python 3.6. Ini mengonfigurasi perangkat Anda untuk memenuhi persyaratan Python untuk AWS IoT Greengrass. Sebagai contoh:  

  ```
  sudo ln -s path-to-python-3.6/python3.6 path-to-python-3.7/python3.7
  ```
+ SageMaker AI Neo DLR.
+ numpy.

Setelah Anda menginstal dependensi tes DLR, Anda harus [mengkompilasi model](#ml-qualification-dlr-compile-model).

### Menginstal DLR
<a name="ml-qualification-dlr-install"></a>

Ikuti instruksi di dokumentasi DLR untuk [instal Neo DLR](https://neo-ai-dlr.readthedocs.io/en/latest/install.html#building-on-linux).

**catatan**  
<a name="run-python3-commands"></a>Jika Python 2.x dan Python 3.x keduanya diinstal pada perangkat Anda, gunakan Python 3.x dalam perintah yang Anda jalankan untuk menginstal dependensi.

### Memvalidasi instalasi DLR
<a name="ml-qualification-dlr-validate"></a>

Pilih salah satu opsi berikut untuk memvalidasi instalasi DLR.

#### Opsi 1: SSH ke perangkat Anda dan jalankan skrip
<a name="ml-qualification-validate-dlr-option-1"></a>

1. <a name="ssh-validate-framework-install-ssh"></a>SSH ke perangkat Anda.

1. <a name="ssh-validate-framework-install-run-scripts"></a>Jalankan skrip berikut untuk memverifikasi bahwa dependensi diinstal dengan benar.

   ```
   sudo python3.7 -c "import dlr; print(dlr.__version__)"
   ```

   ```
   sudo python3.7 -c "import numpy; print(numpy.__version__)"
   ```

   <a name="ssh-passed-mldependencies"></a>Output mencetak nomor versi dan skrip harus keluar tanpa kesalahan.

#### Opsi 2: Jalankan tes depedensi IDT
<a name="ml-qualification-validate-dlr-option-2"></a>

1. <a name="idt-validate-framework-install-check-config"></a>Pastikan bahwa `device.json` dikonfigurasi untuk kualifikasi ML. Untuk informasi selengkapnya, lihat [Konfigurasikan device.json untuk kualifikasi ML](set-config.md#device-json-ml-qualification).

1. <a name="idt-validate-framework-install-run-test"></a>Jalankan tes dependensi untuk kerangka kerja.

   ```
   devicetester_[linux | mac | win_x86-64] run-suite --group-id mldependencies --test-id dlr_dependency_check
   ```

   <a name="idt-passed-mldependencies"></a>Ringkasan tes menampilkan `PASSED` hasil untuk `mldependencies`.

## Kompilasi model DLR
<a name="ml-qualification-dlr-compile-model"></a>

Anda harus mengkompilasi model DLR sebelum Anda dapat menggunakannya untuk tes kualifikasi ML. Pilih langkah-langkah, memilih salah satu opsi berikut.

### Opsi 1: Gunakan Amazon SageMaker AI untuk mengkompilasi model
<a name="ml-qualification-compile-dlr-option-1"></a>

Ikuti langkah-langkah ini untuk menggunakan SageMaker AI untuk mengkompilasi model ML yang disediakan oleh IDT. Model ini sudah dilatih sebelumnya dengan MXNet Apache.

1. Verifikasi bahwa jenis perangkat Anda didukung oleh SageMaker AI. Untuk informasi selengkapnya, lihat [opsi perangkat target](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OutputConfig.html#sagemaker-Type-OutputConfig-TargetDevice) *Referensi API Amazon SageMaker AI*. Jika jenis perangkat Anda saat ini tidak didukung oleh SageMaker AI, ikuti langkah-langkahnya[Opsi 2: Gunakan TVM untuk mengkompilasi model DLR](#ml-qualification-compile-dlr-option-2).
**catatan**  
Menjalankan tes DLR dengan model yang dikompilasi oleh SageMaker AI mungkin memakan waktu 4 atau 5 menit. Jangan hentikan IDT selama waktu ini.

1. <a name="compile-dlr-download-uncompiled-model"></a>Unduh file tarBALL yang berisi MXNet model DLR yang belum dikompilasi dan terlatih sebelumnya:
   + [dlr-noncompiled-model-1.0.tar.gz](https://docs.aws.amazon.com/greengrass/latest/developerguide/download-dlr-noncompiled-model-1.0.html)

1. <a name="compile-dlr-decompress-uncompiled-model"></a>Dekompresi tarball. Perintah ini menghasilkan struktur direktori berikut.  
![\[Direktori resnet18 berisi tiga file.\]](http://docs.aws.amazon.com/id_id/greengrass/v1/developerguide/images/idt/idt-ml-qualification-dlr-uncompiled.png)

1. Pindahkan `synset.txt` keluar dari `resnet18` direktori. Buat catatan tentang lokasi baru. Anda salin file ini ke direktori model dikompilasi yang lebih baru..

1. Kompres konten `resnet18` direktori.

   ```
   tar cvfz model.tar.gz resnet18v1-symbol.json resnet18v1-0000.params
   ```

1. Unggah file terkompresi ke bucket Amazon S3 di Akun AWS Anda, lalu ikuti langkah-langkah [di Compile a Model (Console](https://docs.aws.amazon.com/sagemaker/latest/dg/neo-job-compilation-console.html)) untuk membuat pekerjaan kompilasi.

   1. Untuk **Konfigurasi input**, gunakan nilai berikut:
      + Untuk **Konfigurasi input data**, memasukkan `{"data": [1, 3, 224, 224]}`.
      + Untuk **Kerangka kerja machine learning**, memilih `MXNet`.

   1. Untuk **Konfigurasi output**, gunakan nilai berikut:
      + Untuk **Lokasi output S3**, memasukkan jalur ke bucket atau folder Amazon S3 di mana Anda ingin menyimpan model yang dikompilasi.
      + Untuk **Perangkat target**, pilih jenis perangkat Anda.

1. Mengunduh model yang dikompilasi dari lokasi output yang Anda tentukan, dan kemudian unzip file.

1. Salin `synset.txt` ke dalam direktori model yang dikompilasi.

1. Ubah nama direktori model yang dikompilasi menjadi `resnet18`.

   Direktori model terkompilasi Anda harus memiliki struktur direktori berikut.  
![\[Direktori model terkompilasi resnet18 berisi empat file.\]](http://docs.aws.amazon.com/id_id/greengrass/v1/developerguide/images/idt/idt-ml-qualification-dlr-compiled-sm.png)

### Opsi 2: Gunakan TVM untuk mengkompilasi model DLR
<a name="ml-qualification-compile-dlr-option-2"></a>

Ikuti langkah-langkah berikut untuk menggunakan TVM untuk mengompilasi model ML yang disediakan oleh IDT. Model ini sudah dilatih sebelumnya dengan Apache MXNet, jadi Anda harus menginstal MXNet di komputer atau perangkat tempat Anda mengkompilasi model. Untuk menginstal MXNet, ikuti instruksi dalam [ MXNet dokumentasi](https://mxnet.apache.org/get_started/?platform=linux&language=python&processor=cpu&environ=pip&).

**catatan**  
Kami merekomendasikan bahwa Anda mengkompilasi model pada perangkat target Anda. Praktek ini opsional, tetapi dapat membantu memastikan kompatibilitas dan mengurangi potensi masalah.

 

1. <a name="compile-dlr-download-uncompiled-model"></a>Unduh file tarBALL yang berisi MXNet model DLR yang belum dikompilasi dan terlatih sebelumnya:
   + [dlr-noncompiled-model-1.0.tar.gz](https://docs.aws.amazon.com/greengrass/latest/developerguide/download-dlr-noncompiled-model-1.0.html)

1. <a name="compile-dlr-decompress-uncompiled-model"></a>Dekompresi tarball. Perintah ini menghasilkan struktur direktori berikut.  
![\[Direktori resnet18 berisi tiga file.\]](http://docs.aws.amazon.com/id_id/greengrass/v1/developerguide/images/idt/idt-ml-qualification-dlr-uncompiled.png)

1. Ikuti instruksi di dokumentasi TVM untuk [membangun dan menginstal TVM dari sumber untuk platform Anda](https://docs.tvm.ai/install/from_source.html).

1. Setelah TVM dibangun, jalankan kompilasi TVM untuk model resnet18. Langkah-langkah berikut didasarkan pada [ Tutorial Quick Start untuk Mengkompilasi Model Deep Learning](https://tvm.apache.org/docs/tutorial/relay_quick_start.html#sphx-glr-tutorials-get-started-relay-quick-start-py) dalam dokumentasi TVM.

   1. Buka `relay_quick_start.py` file dari repositori TVM kloning.

   1. Update kode yang [mendefinisikan jaringan syaraf tiruan dalam relay](https://tvm.apache.org/docs/tutorial/relay_quick_start.html#define-neural-network-in-relay). Anda dapat menggunakan salah satu opsi berikut:
      + Opsi 1: Gunakan `mxnet.gluon.model_zoo.vision.get_model` untuk mendapatkan modul relay dan parameter:

        ```
        from mxnet.gluon.model_zoo.vision import get_model
        block = get_model('resnet18_v1', pretrained=True)
        mod, params = relay.frontend.from_mxnet(block, {"data": data_shape})
        ```
      + Opsi 2: Dari model yang tidak dikompilasi yang Anda unduh pada langkah 1, salin file berikut ke direktori yang sama dengan `relay_quick_start.py` file. File-file ini berisi modul relay dan parameter.
        + `resnet18v1-symbol.json`
        + `resnet18v1-0000.params`

   1. Update kode yang [menyimpan dan memuat modul yang dikompilasi](https://tvm.apache.org/docs/tutorial/relay_quick_start.html#save-and-load-compiled-module) untuk menggunakan kode berikut.

      ```
      from tvm.contrib import util
      path_lib = "deploy_lib.so"
      #  Export the model library based on your device architecture
      lib.export_library("deploy_lib.so", cc="aarch64-linux-gnu-g++")
      with open("deploy_graph.json", "w") as fo:
          fo.write(graph)
      with open("deploy_param.params", "wb") as fo:
          fo.write(relay.save_param_dict(params))
      ```

   1. Bangun model:

      ```
      python3 tutorials/relay_quick_start.py --build-dir ./model
      ```

      Perintah ini menghasilkan file-file berikut.
      + `deploy_graph.json`
      + `deploy_lib.so`
      + `deploy_param.params`

1. Salin berkas model yang dihasilkan ke dalam direktori bernama `resnet18`. Ini adalah direktori model terkompilasi Anda.

1. Salin direktori model yang dikompilasi ke komputer host Anda. Kemudian salin `synset.txt` dari model yang tidak dikompilasi yang Anda unduh pada langkah 1 ke dalam direktori model yang dikompilasi.

   Direktori model terkompilasi Anda harus memiliki struktur direktori berikut.  
![\[Direktori model terkompilasi resnet18 berisi empat file.\]](http://docs.aws.amazon.com/id_id/greengrass/v1/developerguide/images/idt/idt-ml-qualification-dlr-compiled-tvm.png)

Selanjutnya, [konfigurasikan AWS kredensil dan `device.json` file](set-config.md) Anda.