

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# TensorFlow Lite イメージ分類
<a name="tensorflow-lite-image-classification-component"></a>

TensorFlow Lite イメージ分類コンポーネント (`aws.greengrass.TensorFlowLiteImageClassification`) には、[TensorFlow Lite](https://www.tensorflow.org/lite/guide/python) ランタイムと事前に学習した MobileNet 1.0 量子化モデルのサンプルを使用してイメージ分類推論を実行するためのサンプル推論コードが含まれています。このコンポーネントは、バリアント [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) および [TensorFlow Lite ランタイム](tensorflow-lite-component.md) コンポーネントを依存関係として使用し、TensorFlow Lite ランタイムとサンプルモデルをダウンロードします。

カスタムトレーニングされた TensorFlow Lite モデルでこの推論コンポーネントを使用するには、依存モデルストアコンポーネントの[[create a custom version]](ml-customization.md#override-public-model-store) (カスタムバージョンを作成) します。独自のカスタム推論コードを使用するには、このコンポーネントの recipe をテンプレートとして使用して、[[create a custom inference component]](ml-customization.md#create-inference-component) (カスタム推論コンポーネントを作成) できます。

**Topics**
+ [バージョン](#tensorflow-lite-image-classification-component-versions)
+ [タイプ](#tensorflow-lite-image-classification-component-type)
+ [オペレーティングシステム](#tensorflow-lite-image-classification-component-os-support)
+ [要件](#tensorflow-lite-image-classification-component-requirements)
+ [依存関係](#tensorflow-lite-image-classification-component-dependencies)
+ [構成](#tensorflow-lite-image-classification-component-configuration)
+ [ローカルログファイル](#tensorflow-lite-image-classification-component-log-file)
+ [変更ログ](#tensorflow-lite-image-classification-component-changelog)

## バージョン
<a name="tensorflow-lite-image-classification-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.1.x

## タイプ
<a name="tensorflow-lite-image-classification-component-type"></a>

<a name="public-component-type-generic"></a>この<a name="public-component-type-generic-phrase"></a>コンポーネントはジェネリックコンポーネント (`aws.greengrass.generic`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、コンポーネントのライフサイクルスクリプトを実行します。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="tensorflow-lite-image-classification-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Windows

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

このコンポーネントには次の要件があります。<a name="ml-component-requirements"></a>
+ Amazon Linux 2 または Ubuntu 18.04 を実行している Greengrass コアデバイスの場合は、[GNU C ライブラリ](https://www.gnu.org/software/libc/) (glibc) バージョン 2.27 以降がデバイスにインストールされている必要があります。
+ Raspberry Pi などの Armv7l デバイスでは、OpenCV-Python の依存関係がデバイスにインストールされています。次のコマンドを実行して依存関係をインストールします。

  ```
  sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
  ```
+ Raspberry Pi OS Bullseye を実行する Raspberry Pi デバイスでは、次の要件を満たす必要があります。
  + デバイスに、NumPy 1.22.4 以降がインストールされていること。Raspberry Pi OS Bullseye には以前のバージョンの NumPy が含まれているため、次のコマンドを実行してデバイスの NumPy をアップグレードできます。

    ```
    pip3 install --upgrade numpy
    ```
  + デバイスで、レガシーカメラスタックが有効になっていること。Raspberry Pi OS Bullseye には、デフォルトで新しいカメラスタックが含まれており有効化されていますが、これには互換性がないるため、レガシーカメラスタックを有効にしておく必要があります。<a name="raspberry-pi-bullseye-enable-legacy-camera-stack"></a>

**レガシーカメラスタックを有効にするには**

    1. 次のコマンドを実行して、Raspberry Pi 設定ツールを開きます。

       ```
       sudo raspi-config
       ```

    1. **[Interface Options]** (インターフェイスオプション) を選択します。

    1. **[Legacy camera]** (レガシーカメラ) を選択して、レガシーカメラスタックを有効にします。

    1. Raspberry Pi を再起動します。

## 依存関係
<a name="tensorflow-lite-image-classification-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#tensorflow-lite-image-classification-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

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

次の表に、このコンポーネントのバージョン 2.1.11 および 2.1.12 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------
#### [ 2.1.10 ]

次の表に、このコンポーネントのバージョン 2.1.10 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------
#### [ 2.1.9 ]

次の表に、このコンポーネントのバージョン 2.1.9 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------
#### [ 2.1.8 ]

次の表に、このコンポーネントのバージョン 2.1.8 に関する依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------
#### [ 2.1.7 ]

次の表に、このコンポーネントのバージョン 2.1.7 に関する依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------
#### [ 2.1.6 ]

次の表に、このコンポーネントのバージョン 2.1.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------
#### [ 2.1.5 ]

次の表に、このコンポーネントのバージョン 2.1.5 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------
#### [ 2.1.4 ]

次の表に、このコンポーネントのバージョン 2.1.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------
#### [ 2.1.3 ]

次の表に、このコンポーネントのバージョン 2.1.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------
#### [ 2.1.2 ]

次の表に、このコンポーネントのバージョン 2.1.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------
#### [ 2.1.1 ]

次の表に、このコンポーネントのバージョン 2.1.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------
#### [ 2.1.0 ]

次の表に、このコンポーネントのバージョン 2.1.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------

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

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

`accessControl`  
<a name="ml-config-accesscontrol-desc"></a>(オプション) コンポーネントがデフォルトの通知トピックにメッセージをパブリッシュできるようにする[承認ポリシー](interprocess-communication.md#ipc-authorization-policies)を含むオブジェクト。  
デフォルト:   

```
{
   "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>(オプション) 推論結果をパブリッシュするトピック。この値を変更する場合は、カスタムトピック名と一致するように `resources` パラメータの `accessControl` の値も変更する必要があります。  
デフォルト: `ml/tflite/image-classification`

`Accelerator`  <a name="ml-config-accelerator"></a>
使用するアクセラレーター。サポートされている値は`cpu` および `gpu` です。  
依存モデルコンポーネントのサンプルモデルは CPU アクセラレーションのみをサポートします。別のカスタムモデルで GPU アクセラレーションを使用するには、[カスタムモデルコンポーネントを作成](ml-customization.md#override-public-model-store)して、パブリックモデルコンポーネントを上書きします。  
デフォルト: `cpu`

`ImageDirectory`  
<a name="ml-config-imagedirectory-desc"></a>(オプション) 推論コンポーネントがイメージを読み取る場所と成る、デバイス上のフォルダへのパス。この値は、読み取り/書き込みアクセス権を持つデバイスの任意の場所に変更できます。  
<a name="ml-config-imagedirectory-img-default"></a>デフォルト: `/greengrass/v2/packages/artifacts-unarchived/component-name/image_classification/sample_images/`  
`UseCamera` を `true` の値に設定した場合、この設定パラメータは無視されます。

`ImageName`  
<a name="ml-config-imagename-desc"></a>(オプション) 推論コンポーネントが予測を行う際の入力として使用するイメージの名前。コンポーネントは、`ImageDirectory` で指定されたフォルダ内のイメージを検索します。デフォルトでは、コンポーネントはデフォルトのイメージディレクトリでサンプルイメージを使用します。 は、`jpeg`、、`jpg`、`png`および のイメージ形式 AWS IoT Greengrass をサポートしています`npy`。  
<a name="ml-config-imagename-img-default"></a>デフォルト: `cat.jpeg`  
`UseCamera` を `true` の値に設定した場合、この設定パラメータは無視されます。

`InferenceInterval`  <a name="ml-config-inferenceinterval"></a>
(オプション) 推論コードによって行われた各予測間の時間 (秒単位)。サンプル推論コードは無期限に実行され、指定された時間間隔で予測を繰り返します。例えば、カメラで撮影したイメージをリアルタイム予測に使用する場合などには、この間隔を短い間隔に変更できます。  
デフォルト: `3600`

`ModelResourceKey`  <a name="ml-config-modelresourcekey"></a>
<a name="ml-config-modelresourcekey-desc"></a>(オプション) 依存パブリックモデルコンポーネントで使用されるモデル。このパラメータを変更するのは、パブリックモデルコンポーネントをカスタムコンポーネントでオーバーライドする場合のみです。  
デフォルト:  

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

`UseCamera`  <a name="ml-config-usecamera"></a>
(オプション) Greengrass コアデバイスに接続されたカメラの画像を使用するかどうかを定義する文字列値。サポートされている値は`true` および `false` です。  
この値を `true` に設定した場合、サンプル推論コードはデバイスのカメラにアクセスし、キャプチャしたイメージでローカルに推論を実行します。`ImageName` と `ImageDirectory` パラメータの値は無視されます。このコンポーネントを実行しているユーザーが、カメラがキャプチャしたイメージを保存する場所への、読み込み/書き込みアクセス権を持っていることを確認します。  
デフォルト: `false`  
このコンポーネントの recipe を表示すると、`UseCamera` 設定パラメータはデフォルト設定には表示されません。ただし、このパラメータの値は、コンポーネントをデプロイするときに、[[configuration merge update]](update-component-configurations.md) (設定マージの更新) で変更することができます。  
`UseCamera` を `true` に設定する場合は、ランタイムコンポーネントによって作成された仮想環境から推論コンポーネントがカメラにアクセスできるようにするためのシンボルリンクも作成する必要があります。サンプル推論コンポーネントを使用したカメラの使用方法の詳細については、「[コンポーネント設定の更新](ml-tutorial-image-classification-camera.md)」を参照してください。

## ローカルログファイル
<a name="tensorflow-lite-image-classification-component-log-file"></a>

このコンポーネントは次のログファイルを使用します。

------
#### [ Linux ]

```
/greengrass/v2/logs/aws.greengrass.TensorFlowLiteImageClassification.log
```

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

```
C:\greengrass\v2\logs\aws.greengrass.TensorFlowLiteImageClassification.log
```

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ 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
  ```

------

## 変更ログ
<a name="tensorflow-lite-image-classification-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  バージョン  |  変更  | 
| --- | --- | 
|  2.1.12  |  Greengrass nucleus 2.12.5 のリリース用にバージョンが更新されました。  | 
|  2.1.11  | Greengrass nucleus バージョン 2.12.0 のリリース用にバージョンが更新されました。 | 
|  2.1.10  | Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。 | 
|  2.1.9  | Greengrass nucleus バージョン 2.10.0 のリリース用にバージョンが更新されました。 | 
|  2.1.8  | Greengrass nucleus バージョン 2.9.0 のリリース用にバージョンが更新されました。 | 
|  2.1.7  | Greengrass nucleus バージョン 2.8.0 のリリース用にバージョンが更新されました。 | 
|  2.1.6  |  Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。  | 
|  2.1.5  |  Greengrass nucleus バージョン 2.6.0 のリリース用にバージョンが更新されました。  | 
|  2.1.4  |  Greengrass nucleus バージョン 2.5.0 のリリース用にバージョンが更新されました。  | 
|  2.1.3  |  Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。  | 
|  2.1.2  |  Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。  | 
|  2.1.1  |  Greengrass nucleus バージョン 2.2.0 のリリース用にバージョンが更新されました。  | 
|  2.1.0  |  当初のバージョン  | 