TensorFlow Klasifikasi gambar ringan - AWS IoT Greengrass

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

TensorFlow Klasifikasi gambar ringan

Komponen klasifikasi gambar TensorFlow Lite (aws.greengrass.TensorFlowLiteImageClassification) berisi kode inferensi sampel untuk melakukan inferensi klasifikasi gambar menggunakan runtime TensorFlow Lite dan model terkuantisasi 1.0 yang telah dilatih sebelumnya MobileNet . Komponen ini menggunakan varian TensorFlow Toko model klasifikasi gambar Lite dan TensorFlow Runtime ringan komponen sebagai dependensi untuk mengunduh runtime TensorFlow Lite dan model sampel.

Untuk menggunakan komponen inferensi ini dengan model TensorFlow Lite yang terlatih khusus, buat versi kustom komponen penyimpanan model dependen. Untuk menggunakan kode inferensi kustom Anda sendiri, Anda dapat menggunakan resep komponen ini sebagai templat untuk membuat komponen inferensi kustom.

Versi

Komponen ini memiliki versi berikut:

  • 2.1.x

Tipe

Komponen ini adalah komponen generik (aws.greengrass.generic). Inti Greengrass menjalankan skrip siklus hidup komponen.

Untuk informasi selengkapnya, lihat Jenis komponen.

Sistem operasi

Komponen ini dapat diinstal pada perangkat inti yang menjalankan sistem operasi berikut:

  • Linux

  • Windows

Persyaratan

Komponen ini memiliki persyaratan sebagai berikut:

  • Pada perangkat inti Greengrass yang menjalankan Amazon Linux 2 atau Ubuntu 18.04, Pustaka GNU C (glibc) versi 2.27 atau yang lebih baru diinstal pada perangkat.

  • Pada perangkat ARMv7L, seperti Raspberry Pi, dependensi untuk OpenCV-Python diinstal pada perangkat. Jalankan perintah berikut untuk menginstal dependensi.

    sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
  • Perangkat Raspberry Pi yang menjalankan Raspberry Pi OS Bullseye harus memenuhi persyaratan berikut:

    • NumPy 1.22.4 atau yang lebih baru diinstal pada perangkat. Raspberry Pi OS Bullseye menyertakan versi sebelumnya NumPy, sehingga Anda dapat menjalankan perintah berikut untuk meningkatkan NumPy pada perangkat.

      pip3 install --upgrade numpy
    • Tumpukan kamera lama diaktifkan di perangkat. Raspberry Pi OS Bullseye menyertakan tumpukan kamera baru yang diaktifkan secara default dan tidak kompatibel, jadi Anda harus mengaktifkan tumpukan kamera lama.

      Untuk mengaktifkan tumpukan kamera lama
      1. Jalankan perintah berikut untuk membuka alat konfigurasi Raspberry Pi.

        sudo raspi-config
      2. Pilih Opsi Antarmuka.

      3. Pilih Kamera lama untuk mengaktifkan tumpukan kamera lama.

      4. Reboot Raspberry Pi.

Dependensi

Saat Anda men-deploy komponen, AWS IoT Greengrass juga men-deploy versi dependensinya yang kompatibel. Ini berarti bahwa Anda harus memenuhi persyaratan untuk komponen dan semua dependensinya untuk berhasil men-deploy komponen. Bagian ini berisi daftar dependensi untuk versi yang dirilis dari komponen ini dan kendala versi semantik yang menentukan versi komponen untuk setiap dependensi. Anda juga dapat melihat dependensi untuk setiap versi komponen di konsol AWS IoT Greengrass tersebut. Pada halaman detail komponen, cari daftar Dependensi.

2.1.11

Tabel berikut mencantumkan dependensi untuk versi 2.1.11 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Inti Greengrass >=2.0.0 <2.13.0 Lunak
TensorFlow Toko model klasifikasi gambar Lite >=2.1.0 <2.2.0 Keras
TensorFlow Lite >=2.5.0 <2.6.0 Keras
2.1.10

Tabel berikut mencantumkan dependensi untuk versi 2.1.10 dari komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Inti Greengrass >=2.0.0 <2.12.0 Lunak
TensorFlow Toko model klasifikasi gambar Lite >=2.1.0 <2.2.0 Keras
TensorFlow Lite >=2.5.0 <2.6.0 Keras
2.1.9

Tabel berikut mencantumkan dependensi untuk versi 2.1.9 dari komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Inti Greengrass >=2.0.0 <2.11.0 Lunak
TensorFlow Toko model klasifikasi gambar Lite >=2.1.0 <2.2.0 Keras
TensorFlow Lite >=2.5.0 <2.6.0 Keras
2.1.8

Tabel berikut mencantumkan dependensi untuk versi 2.1.8 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Inti Greengrass >=2.0.0 <2.10.0 Lunak
TensorFlow Toko model klasifikasi gambar Lite >=2.1.0 <2.2.0 Keras
TensorFlow Lite >=2.5.0 <2.6.0 Keras
2.1.7

Tabel berikut mencantumkan dependensi untuk versi 2.1.7 dari komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Inti Greengrass >=2.0.0 <2.9.0 Lunak
TensorFlow Toko model klasifikasi gambar Lite >=2.1.0 <2.2.0 Keras
TensorFlow Lite >=2.5.0 <2.6.0 Keras
2.1.6

Tabel berikut mencantumkan dependensi untuk versi 2.1.6 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Inti Greengrass >=2.0.0 <2.8.0 Lunak
TensorFlow Toko model klasifikasi gambar Lite >=2.1.0 <2.2.0 Keras
TensorFlow Lite >=2.5.0 <2.6.0 Keras
2.1.5

Tabel berikut mencantumkan dependensi untuk versi 2.1.5 dari komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Inti Greengrass >=2.0.0 <2.7.0 Lunak
TensorFlow Toko model klasifikasi gambar Lite >=2.1.0 <2.2.0 Keras
TensorFlow Lite >=2.5.0 <2.6.0 Keras
2.1.4

Tabel berikut mencantumkan dependensi untuk versi 2.1.4 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Inti Greengrass >=2.0.0 <2.6.0 Lunak
TensorFlow Toko model klasifikasi gambar Lite >=2.1.0 <2.2.0 Keras
TensorFlow Lite >=2.5.0 <2.6.0 Keras
2.1.3

Tabel berikut mencantumkan dependensi untuk versi 2.1.3 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Inti Greengrass >=2.0.0 <2.5.0 Lunak
TensorFlow Toko model klasifikasi gambar Lite >=2.1.0 <2.2.0 Keras
TensorFlow Lite >=2.5.0 <2.6.0 Keras
2.1.2

Tabel berikut mencantumkan dependensi untuk versi 2.1.2 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Inti Greengrass >=2.0.0 <2.4.0 Lunak
TensorFlow Toko model klasifikasi gambar Lite >=2.1.0 <2.2.0 Keras
TensorFlow Lite >=2.5.0 <2.6.0 Keras
2.1.1

Tabel berikut mencantumkan dependensi untuk versi 2.1.1 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Inti Greengrass >=2.0.0 <2.3.0 Lunak
TensorFlow Toko model klasifikasi gambar Lite >=2.1.0 <2.2.0 Keras
TensorFlow Lite >=2.5.0 <2.6.0 Keras
2.1.0

Tabel berikut mencantumkan dependensi untuk versi 2.1.0 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Inti Greengrass >=2.0.0 <2.2.0 Lunak
TensorFlow Toko model klasifikasi gambar Lite >=2.1.0 <2.2.0 Keras
TensorFlow Lite >=2.5.0 <2.6.0 Keras

Konfigurasi

Komponen ini menyediakan parameter konfigurasi berikut yang dapat Anda sesuaikan ketika Anda men-deploy komponen.

accessControl

(Opsional) Objek yang berisi kebijakan otorisasi yang memungkinkan komponen untuk mempublikasikan pesan ke topik pemberitahuan default.

Default:

{ "aws.greengrass.ipc.mqttproxy": { "aws.greengrass.TensorFlowLiteImageClassification:mqttproxy:1": { "policyDescription": "Allows access to publish via topic ml/tflite/image-classification.", "operations": [ "aws.greengrass#PublishToIoTCore" ], "resources": [ "ml/tflite/image-classification" ] } } }
PublishResultsOnTopic

(Opsional) Topik di mana Anda ingin mempublikasikan hasil inferensi. Jika Anda mengubah nilai ini, maka Anda juga harus mengubah nilai resources di parameter accessControl agar cocok dengan nama topik kustom Anda.

Default: ml/tflite/image-classification

Accelerator

Akselerator yang ingin Anda gunakan. Nilai yang didukung adalah cpu dan gpu.

Model sampel dalam komponen model dependen hanya mendukung akselerasi CPU. Untuk menggunakan akselerasi GPU dengan model kustom yang berbeda, buat komponen model kustom untuk menimpa komponen model publik.

Default: cpu

ImageDirectory

(Opsional) Jalur folder pada perangkat di mana komponen inferensi membaca gambar. Anda dapat mengubah nilai ini ke lokasi mana pun di perangkat Anda yang memiliki akses baca/tulis.

Default: /greengrass/v2/packages/artifacts-unarchived/component-name/image_classification/sample_images/

catatan

Jika Anda menetapkan nilai UseCamera ke true, maka parameter konfigurasi ini diabaikan.

ImageName

(Opsional) Nama gambar yang digunakan oleh komponen inferensi sebagai masukan untuk membuat prediksi. Komponen mencari gambar dalam folder yang ditentukan dalam ImageDirectory. Secara default, komponen menggunakan gambar sampel dalam direktori gambar default. AWS IoT Greengrass mendukung format gambar berikut: jpeg, jpg, png, dan npy.

Default: cat.jpeg

catatan

Jika Anda menetapkan nilai UseCamera ke true, maka parameter konfigurasi ini diabaikan.

InferenceInterval

(Opsional) Waktu dalam detik antara setiap prediksi yang dibuat oleh kode inferensi. Kode inferensi sampel berjalan tanpa batas waktu dan mengulangi prediksinya pada interval waktu yang ditentukan. Misalnya, Anda dapat mengubahnya menjadi interval yang lebih pendek jika ingin menggunakan gambar yang diambil oleh kamera untuk prediksi real-time.

Default: 3600

ModelResourceKey

(Opsional) Model yang digunakan dalam komponen model publik dependen. Ubah parameter ini hanya jika Anda menimpa komponen model publik dengan komponen kustom.

Default:

{ "model": "TensorFlowLite-Mobilenet" }
UseCamera

(Opsional) Nilai string yang menentukan apakah akan menggunakan gambar dari kamera yang terhubung ke perangkat inti Greengrass. Nilai yang didukung adalah true dan false.

Ketika Anda menetapkan nilai ini ke true, kode kesimpulan sampel akan mengakses kamera pada perangkat Anda dan menjalankan kesimpulan secara lokal pada gambar yang ditangkap. Nilai ImageName dan parameter ImageDirectory diabaikan. Pastikan bahwa pengguna yang menjalankan komponen ini memiliki akses baca/tulis ke lokasi di mana kamera menyimpan gambar yang diambil.

Default: false

catatan

Ketika Anda melihat resep komponen ini, parameter konfigurasi UseCamera tidak muncul dalam konfigurasi default. Namun, Anda dapat mengubah nilai parameter ini dalam pembaruan gabungan konfigurasi saat Anda men-deploy komponen.

Ketika Anda mengatur UseCamera ke true, Anda juga harus membuat symlink untuk mengaktifkan komponen inferensi untuk mengakses kamera Anda dari lingkungan virtual yang dibuat oleh komponen waktu aktif. Untuk informasi lebih lanjut tentang penggunaan kamera dengan komponen inferensi sampel, lihat Perbarui konfigurasi komponen.

Berkas log lokal

Komponen ini menggunakan file log berikut.

Linux
/greengrass/v2/logs/aws.greengrass.TensorFlowLiteImageClassification.log
Windows
C:\greengrass\v2\logs\aws.greengrass.TensorFlowLiteImageClassification.log
Untuk melihat log komponen ini
  • Jalankan perintah berikut pada perangkat inti untuk melihat file log komponen ini secara real time. Ganti /greengrass/v2 atau C:\greengrass\v2 dengan jalur ke folder AWS IoT Greengrass root.

    Linux
    sudo tail -f /greengrass/v2/logs/aws.greengrass.TensorFlowLiteImageClassification.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\aws.greengrass.TensorFlowLiteImageClassification.log -Tail 10 -Wait

Changelog

Tabel berikut menjelaskan perubahan dalam setiap versi komponen.

Versi

Perubahan

2.1.11

Versi diperbarui untuk Greengrass nucleus versi 2.12.0 rilis.

2.1.10

Versi diperbarui untuk Greengrass nucleus versi 2.11.0 rilis.

2.1.9

Versi diperbarui untuk Greengrass nucleus versi 2.10.0 rilis.

2.1.8

Versi diperbarui untuk Greengrass nucleus versi 2.9.0 rilis.

2.1.7

Versi diperbarui untuk Greengrass nucleus versi 2.8.0 rilis.

2.1.6

Versi diperbarui untuk Greengrass nucleus versi 2.7.0 rilis.

2.1.5

Versi diperbarui untuk Greengrass nucleus versi 2.6.0 rilis.

2.1.4

Versi diperbarui untuk Greengrass nucleus versi 2.5.0 rilis.

2.1.3

Versi diperbarui untuk Greengrass nucleus versi 2.4.0 rilis.

2.1.2

Versi yang diperbarui untuk rilis inti Greengrass versi 2.3.0.

2.1.1

Versi yang diperbarui untuk rilis inti Greengrass versi 2.2.0.

2.1.0

Versi awal.