

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

# TensorFlow Klasifikasi gambar ringan
<a name="tensorflow-lite-image-classification-component"></a>

Komponen klasifikasi gambar TensorFlow Lite (`aws.greengrass.TensorFlowLiteImageClassification`) berisi kode inferensi sampel untuk melakukan inferensi klasifikasi gambar menggunakan runtime [TensorFlow Lite](https://www.tensorflow.org/lite/guide/python) dan model terkuantisasi 1.0 yang telah dilatih sebelumnya MobileNet . Komponen ini menggunakan varian [TensorFlow Toko model klasifikasi gambar Lite](tensorflow-lite-image-classification-model-store-component.md) dan [TensorFlow Runtime ringan](tensorflow-lite-component.md) 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](ml-customization.md#override-public-model-store) komponen penyimpanan model dependen. Untuk menggunakan kode inferensi kustom Anda sendiri, Anda dapat menggunakan resep komponen ini sebagai templat untuk [membuat komponen inferensi kustom](ml-customization.md#create-inference-component).

**Topics**
+ [Versi](#tensorflow-lite-image-classification-component-versions)
+ [Tipe](#tensorflow-lite-image-classification-component-type)
+ [Sistem operasi](#tensorflow-lite-image-classification-component-os-support)
+ [Persyaratan](#tensorflow-lite-image-classification-component-requirements)
+ [Dependensi](#tensorflow-lite-image-classification-component-dependencies)
+ [Konfigurasi](#tensorflow-lite-image-classification-component-configuration)
+ [Berkas log lokal](#tensorflow-lite-image-classification-component-log-file)
+ [Changelog](#tensorflow-lite-image-classification-component-changelog)

## Versi
<a name="tensorflow-lite-image-classification-component-versions"></a>

Komponen ini memiliki versi berikut:
+ 2.1.x

## Tipe
<a name="tensorflow-lite-image-classification-component-type"></a>

<a name="public-component-type-generic"></a><a name="public-component-type-generic-phrase"></a>Komponen ini adalah komponen generik (`aws.greengrass.generic`). Inti [Greengrass](greengrass-nucleus-component.md) menjalankan skrip siklus hidup komponen.

<a name="public-component-type-more-information"></a>Untuk informasi selengkapnya, lihat [Jenis komponen](develop-greengrass-components.md#component-types).

## Sistem operasi
<a name="tensorflow-lite-image-classification-component-os-support"></a>

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

## Persyaratan
<a name="tensorflow-lite-image-classification-component-requirements"></a>

Komponen ini memiliki persyaratan sebagai berikut:<a name="ml-component-requirements"></a>
+ Pada perangkat inti Greengrass yang menjalankan Amazon Linux 2 atau Ubuntu 18.04, [Pustaka GNU C](https://www.gnu.org/software/libc/) (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.<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.

## Dependensi
<a name="tensorflow-lite-image-classification-component-dependencies"></a>

Saat Anda menerapkan komponen, gunakan AWS IoT Greengrass juga 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](#tensorflow-lite-image-classification-component-changelog) 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](https://console.aws.amazon.com//greengrass) tersebut. Pada halaman detail komponen, cari daftar **Dependensi**.

------
#### [ 2.1.11 and 2.1.12 ]

Tabel berikut mencantumkan dependensi untuk versi 2.1.11 dan 2.1.12 komponen ini.


| Dependensi | Versi yang kompatibel | Jenis dependensi | 
| --- | --- | --- | 
| [Inti Greengrass](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0 | Lunak | 
| [TensorFlow Toko model klasifikasi gambar Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Keras | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=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](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0 | Lunak | 
| [TensorFlow Toko model klasifikasi gambar Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Keras | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=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](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0 | Lunak | 
| [TensorFlow Toko model klasifikasi gambar Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Keras | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=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](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0 | Lunak | 
| [TensorFlow Toko model klasifikasi gambar Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Keras | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=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](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0 | Lunak | 
| [TensorFlow Toko model klasifikasi gambar Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Keras | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=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](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0 | Lunak | 
| [TensorFlow Toko model klasifikasi gambar Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Keras | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=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](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0 | Lunak | 
| [TensorFlow Toko model klasifikasi gambar Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Keras | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=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](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0 | Lunak | 
| [TensorFlow Toko model klasifikasi gambar Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Keras | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=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](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0 | Lunak | 
| [TensorFlow Toko model klasifikasi gambar Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Keras | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=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](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0 | Lunak | 
| [TensorFlow Toko model klasifikasi gambar Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Keras | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=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](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0 | Lunak | 
| [TensorFlow Toko model klasifikasi gambar Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Keras | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=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](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0 | Lunak | 
| [TensorFlow Toko model klasifikasi gambar Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Keras | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Keras | 

------

## Konfigurasi
<a name="tensorflow-lite-image-classification-component-configuration"></a>

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

`accessControl`  
<a name="ml-config-accesscontrol-desc"></a>(Opsional) Objek yang berisi [kebijakan otorisasi](interprocess-communication.md#ipc-authorization-policies) 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`  
<a name="ml-config-publishresultsontopic-desc"></a>(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`  <a name="ml-config-accelerator"></a>
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](ml-customization.md#override-public-model-store) untuk menimpa komponen model publik.  
Default: `cpu`

`ImageDirectory`  
<a name="ml-config-imagedirectory-desc"></a>(Opsional) Jalur folder pada perangkat di mana komponen inferensi membaca gambar. Anda dapat mengubah nilai ini ke lokasi mana pun di perangkat yang dapat Anda read/write akses.  
<a name="ml-config-imagedirectory-img-default"></a>Default: `/greengrass/v2/packages/artifacts-unarchived/component-name/image_classification/sample_images/`  
Jika Anda menetapkan nilai `UseCamera` ke `true`, maka parameter konfigurasi ini diabaikan. 

`ImageName`  
<a name="ml-config-imagename-desc"></a>(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 di direktori gambar default. AWS IoT Greengrass mendukung format gambar berikut:`jpeg`,`jpg`,`png`, dan`npy`.   
<a name="ml-config-imagename-img-default"></a>Default: `cat.jpeg`  
Jika Anda menetapkan nilai `UseCamera` ke `true`, maka parameter konfigurasi ini diabaikan. 

`InferenceInterval`  <a name="ml-config-inferenceinterval"></a>
(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`  <a name="ml-config-modelresourcekey"></a>
<a name="ml-config-modelresourcekey-desc"></a>(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`  <a name="ml-config-usecamera"></a>
(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 read/write akses ke lokasi di mana kamera menyimpan gambar yang diambil.  
Default: `false`  
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](update-component-configurations.md) 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](ml-tutorial-image-classification-camera.md).

## Berkas log lokal
<a name="tensorflow-lite-image-classification-component-log-file"></a>

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:\$1greengrass\$1v2* 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
<a name="tensorflow-lite-image-classification-component-changelog"></a>

Tabel berikut menjelaskan perubahan dalam setiap versi komponen.


|  Versi  |  Perubahan  | 
| --- | --- | 
|  2.1.12  |  Versi diperbarui untuk Greengrass nucleus 2.12.5 rilis.  | 
|  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.  | 