Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Tutorial: Lakukan contoh inferensi klasifikasi gambar pada gambar dari kamera dengan menggunakan TensorFlow Lite
Tutorial ini menunjukkan cara menggunakan komponen inferensi klasifikasi klasifikasiTensorFlow Lite untuk melakukan contoh inferensi klasifikasi gambar pada gambar dari kamera lokal pada perangkat inti Greengrass. Komponen ini mencakup dependensi komponen berikut:
-
TensorFlow Komponen penyimpanan model klasifikasi klasifikasi
-
TensorFlow komponen waktu aktif aktif aktif aktif aktif Python
catatan
Tutorial ini mengakses modul kamera untuk perangkat Raspberry Pi
Untuk informasi selengkapnya tentang machine learning pada perangkat Greengrass, lihatLakukan inferensi machine learning.
Topik
Prasyarat
Untuk menyelesaikan tutorial ini, Anda harus terlebih dahulu menyelesaikan Tutorial: Lakukan contoh inferensi klasifikasi gambar menggunakan TensorFlow Lite.
Anda juga memerlukan hal berikut:
-
Sebuah perangkat inti Greengrass dengan antarmuka kamera. Tutorial ini mengakses modul kamera pada satu perangkat yang didukung berikut:
-
Raspberry V
yang menjalankan Raspberry Pi OS (sebelumnya disebut Raspbian)
Untuk informasi lebih lanjut tentang cara menyiapkan perangkat inti Greengrass, lihat Tutorial: MemulaiAWS IoT Greengrass V2.
Perangkat inti harus memenuhi persyaratan 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 tersebut. -
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 dipasang pada perangkat. Raspberry Pi OS Bullseye menyertakan versi sebelumnya NumPy, sehingga Anda dapat menjalankan perintah berikut untuk meningkatkan NumPy perangkat.
pip3 install --upgrade numpy
-
Tumpukan kamera lama diaktifkan pada 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
-
Jalankan perintah berikut untuk membuka alat konfigurasi Raspberry Pi.
sudo raspi-config
-
Pilih Opsi Antarmuka.
-
Pilih Kamera lama untuk mengaktifkan tumpukan kamera lama.
-
Reboot Raspberry Pi.
-
-
-
-
Untuk perangkat Raspberry Pi atau NVIDIA Jetson Nano, Modul Kamera Raspberry Pi V2 - 8 megapiksel, 1080p
. Untuk mempelajari cara mengatur kamera, lihat Menghubungkan kamera dalam dokumentasi Raspberry Pi.
Langkah 1: Konfigurasikan modul kamera pada perangkat Anda
Pada langkah ini, Anda menginstal dan mengaktifkan modul kamera untuk perangkat Anda. Jalankan perintah berikut pada perangkat.
Langkah 2: Verifikasi langganan Anda ke topik notifikasi default
DiTutorial: Lakukan contoh inferensi klasifikasi gambar menggunakan TensorFlow Lite, Anda telah mengonfigurasi klienAWS IoT MQTT yang dikonfigurasi diAWS IoT konsol tersebut untuk melihat pesan MQTT yang diterbitkan oleh komponen klasifikasi citra TensorFlow Lite padaml/tflite/image-classification
topik. Di konsol AWS IoT tersebut, verifikasi bahwa langganan ini ada. Jika tidak, ikuti langkah-langkah di Langkah 1: Berlanggananlah topik notifikasi default untuk berlangganan topik ini sebelum Anda men-deploy komponen ke perangkat inti Greengrass Anda.
Langkah 3: Ubah konfigurasi komponen klasifikasi klasifikasi klasifikasi TensorFlow Lite dan deploy konfigurasi
Pada langkah ini, Anda mengonfigurasi dan men-deploy komponen klasifikasi citra TensorFlow Lite ke perangkat inti Anda:
-
Pada menu navigasi konsol AWS IoT Greengrass
tersebut, pilih Komponen. -
Pada halaman Komponen, pada tab Komponen publik, pilih
aws.greengrass.TensorFlowLiteImageClassification
. -
Pada halaman aws.greengrass.TensorFlowLiteImageClassification pilih Deploy.
-
Dari Tambahkan ke deployment, pilih salah satu langkah berikut ini:
-
Untuk menggabungkan komponen ini ke deployment yang ada pada perangkat target Anda, pilih Tambahkan ke deployment yang ada, lalu pilih deployment yang ingin Anda revisi.
-
Untuk membuat deployment baru di perangkat target Anda, pilih Buat deployment baru. Jika Anda memiliki deployment yang ada di perangkat, dengan memilih langkah ini Anda akan menggantikan deployment yang ada.
-
-
Di halaman Tentukan target, lakukan hal berikut:
-
Di bawah informasi Deployment, masukkan atau ubah nama yang ramah untuk deployment Anda.
-
Di bawah Target deployment, pilih target untuk deployment Anda, dan pilih Selanjutnya. Anda tidak dapat mengubah target deployment jika Anda merevisi deployment yang ada.
-
-
Pada halaman Pilih komponen, di bawah Komponen publik, verifikasi bahwa komponen
aws.greengrass.TensorFlowLiteImageClassification
dipilih, dan pilih Selanjutnya. -
Pada halaman Konfigurasikan komponen, lakukan hal berikut:
-
Pilih komponen inferensi, dan pilih Konfigurasikan komponen.
-
Di bawah Pembaruan konfigurasi, masukkan pembaruan konfigurasi berikut di kotak Konfigurasi yang akan digabungkan.
{ "InferenceInterval": "60", "UseCamera": "true" }
Dengan pembaruan konfigurasi ini, komponen akan mengakses modul kamera pada perangkat Anda dan melakukan inferensi pada gambar yang diambil oleh kamera. Kode inferensi berjalan setiap 60 detik.
-
Pilih Konfirmasi dan kemudian pilih Selanjutnya.
-
-
Pada halaman Konfigurasikan pengaturan lanjutan, simpan pengaturan konfigurasi default tersebut, dan pilih Selanjutnya.
-
Di halaman Tinjauan, pilih Deploy.
-
Buat
deployment.json
file untuk menentukan konfigurasi deployment untuk komponen klasifikasi citra TensorFlow Lite. File ini akan terlihat seperti berikut:{ "targetArn":"
targetArn
", "components": { "aws.greengrass.TensorFlowLiteImageClassification": { "componentVersion":2.1.0
, "configurationUpdate": { "InferenceInterval": "60", "UseCamera": "true" } } } }-
Di kolom
targetArn
, ganti
dengan Amazon Resource Name (ARN) dari grup objek atau objek yang ditargetkan untuk deployment tersebut, dalam format berikut:targetArn
-
Objek:
arn:aws:iot:
region
:account-id
:thing/thingName
-
Grup objek:
arn:aws:iot:
region
:account-id
:thinggroup/thingGroupName
-
-
Tutorial ini menggunakan komponen versi 2.1.0. Di objek
aws.greengrass.TensorFlowLiteImageClassification
komponen, ganti2.1.0
dan gunakan versi yang berbeda dari komponen klasifikasi klasifikasi klasifikasi gambar TensorFlow Lite.
Dengan pembaruan konfigurasi ini, komponen akan mengakses modul kamera pada perangkat Anda dan melakukan inferensi pada gambar yang diambil oleh kamera. Kode inferensi berjalan setiap 60 detik. Ganti nilai berikut
-
-
Jalankan perintah berikut untuk men-deploy komponen klasifikasi citra TensorFlow Lite pada perangkat:
aws greengrassv2 create-deployment \ --cli-input-json file://
path/to/
deployment.json
Deployment ini dapat memakan waktu beberapa menit hingga selesai. Pada langkah berikutnya, periksa log komponen untuk memverifikasi bahwa deployment tersebut berhasil diselesaikan dan untuk melihat hasil inferensi.
Langkah 4: Lihat hasil inferensi
Setelah Anda men-deploy komponen tersebut, Anda dapat melihat hasil inferensi dalam log komponen pada perangkat inti Greengrass Anda dan di klien MQTT AWS IoT di konsol AWS IoT tersebut. Untuk berlangganan topik di mana komponen menerbitkan hasil inferensi, lihat Langkah 2: Verifikasi langganan Anda ke topik notifikasi default.
Topik
-
Klien MQTT AWS IoT—Untuk melihat hasil yang diterbitkan oleh komponen inferensi pada topik notifikasi default, selesaikan langkah-langkah berikut:
-
Di menu navigasi konsol AWS IoT
tersebut, pilih Uji, klien uji MQTT. -
Di bawah Langganan, pilih
ml/tflite/image-classification
.
-
-
Log komponen—Untuk melihat hasil inferensi dalam log komponen, jalankan perintah berikut pada perangkat inti Greengrass Anda.
sudo tail -f
/greengrass/v2
/logs/aws.greengrass.TensorFlowLiteImageClassification.log
Jika Anda tidak dapat melihat hasil inferensi di log komponen atau di klien MQTT, deployment tersebut gagal atau tidak mencapai perangkat inti. Hal ini dapat terjadi jika perangkat inti Anda tidak tersambung ke internet atau tidak memiliki izin yang diperlukan untuk menjalankan komponen. Jalankan perintah berikut pada perangkat inti Anda untuk melihat berkas log perangkat inti AWS IoT Greengrass. File ini mencakup log dari layanan deployment perangkat inti Greengrass.
sudo tail -f
/greengrass/v2
/logs/greengrass.log
Untuk informasi selengkapnya, lihat Menyelesaikan masalah inferensi machine learning.
Langkah selanjutnya
Tutorial ini menunjukkan cara menggunakan komponen klasifikasi klasifikasi klasifikasi TensorFlow Lite, dengan opsi konfigurasi khusus untuk melakukan klasifikasi gambar pada gambar yang diambil oleh kamera.
Untuk informasi lebih lanjut tentang menyesuaikan konfigurasi komponen publik atau membuat komponen machine learning kustom, lihat Sesuaikan komponen machine learning Anda.