Android 向け開発ツール

LiteRT には、モデルを Android に統合するためのさまざまなツールが用意されています。 。このページでは、以下を使用してアプリをビルドするために使用する開発ツールについて説明します。 Kotlin、Java、C++ をサポートし、Android での LiteRT 開発のサポート Android Studio

Kotlin と Java でビルドするためのツール

以降のセクションでは、 Kotlin と Java 言語です。

LiteRT ライブラリ

Android アプリで LiteRT ライブラリを使用するには、 MavenCentral 追加します。

これは、build.gradle 依存関係で次のように指定できます。

dependencies {
    ...
    implementation 'com.google.ai.edge.litert:+'
}

repositories {
    ...
    google()
}

夜間のスナップショットを使用する場合は、Sonatype スナップショット リポジトリをプロジェクトに追加します。

この AAR には、 ABI。サイズを小さくして アプリケーションのバイナリをサポートする必要があります。

特定のハードウェアをターゲットとする場合を除き、x86x86_64、 および arm32 ABI です。これは、次の Gradle で構成できます。 できます。具体的には armeabi-v7aarm64-v8a のみが含まれています。 最新の Android デバイスのほとんどに対応しています。

android {
    defaultConfig {
        ndk {
            abiFilters 'armeabi-v7a', 'arm64-v8a'
        }
    }
}

abiFilters について詳しくは、Android 版をご覧ください。 Android NDK の ABI ご覧ください

LiteRT サポート ライブラリ

LiteRT Android Support Library でモデルの統合が簡単 組み込むことが重要です未加工の入力データの変換に役立つハイレベル API が モデルが必要とする形式に変換し、モデルの出力を解釈します。 必要なボイラープレート コードの量を減らすことができます。

入力と出力の一般的なデータ形式をサポートします。これには、画像や ありますまた、前処理および後処理ユニットも備えており、 画像サイズの変更や切り抜きなどの機能があります

LiteRT をインクルードして、Android アプリでサポート ライブラリを使用する サポート ライブラリ AAR: MavenCentral.

これは、build.gradle 依存関係で次のように指定できます。

dependencies {
    implementation 'com.google.ai.edge.litert:litert-support:+'
}

夜間のスナップショットを使用する場合は、Sonatype スナップショット リポジトリをプロジェクトに追加します。

使用方法については、LiteRT Android サポートをご覧ください。 Library にあります。

Android Studio の使用

上記の開発ライブラリに加えて、Android Studio は は、以下で説明する LiteRT モデルの統合をサポートしています。

Android Studio ML モデル バインディング

Android Studio 4.1 以降の ML Model Binding 機能を使用すると、次のことができます。 .tflite モデルファイルを既存の Android アプリにインポートすると、 インターフェース クラスを使用して、コードとモデルを簡単に統合できます。

LiteRT モデルをインポートするには:

  1. LiteRT モデルを使用するモジュールを右クリックするか、 [ファイル] >新規 >その他 >LiteRT モデル

  2. LiteRT ファイルの場所を選択します。ツールは、 ML モデル バインディングを使用してモジュールの依存関係を構成し、 必要なすべての依存関係を Android モジュールの build.gradle ファイルに追加します。

  3. [Finish] をクリックしてインポート処理を開始します。インポートが完了すると 入力と出力など、モデルを説明する画面が表示されます。 テンソルです。

  4. モデルの使用を開始するには、[Kotlin] または [Java] を選択し、コードをコピーして貼り付けます サンプルコード セクションにあります。

モデル情報画面に戻るには、[TensorFlow] をダブルクリックします。 Android Studio の ml ディレクトリにある Lite モデル。このモジュールの Android Studio の Modle Binding 機能を使用する場合は、Android Studio の リリース メモをご覧ください。 Android Studio でのモデル バインディングの使用方法の概要については、コードサンプルをご覧ください。 こちらの手順をご覧ください。

C と C++ でビルドするためのツール

LiteRT 用の C および C++ ライブラリは、主に デベロッパーは Android Native Development Kit(NDK)を使用してアプリを構築できます。 NDK を使用してアプリをビルドする場合、C++ で LiteRT を使用する方法は 2 つあります。

LiteRT C API

NDK を使用するデベロッパーには、この API を使用することをおすすめします。 LiteRT AAR は MavenCentral ファイル名を tensorflow-lite-*.zip に変更して解凍します。必ず 4 つの条件を headers/tensorflow/lite/headers/tensorflow/lite/c/ のヘッダー ファイル フォルダと、関連する libtensorflowlite_jni.so ダイナミック ライブラリ NDK プロジェクト内の jni/ フォルダにあります。

c_api.h ヘッダー ファイルには、LiteRT C の使用に関する基本的なドキュメントが含まれています。 API

LiteRT C++ API

C++ API を介して LiteRT を使用する場合は、 ライブラリ:

32 ビット armeabi-v7a:

bazel build -c opt --config=android_arm //tensorflow/lite:libtensorflowlite.so

64 ビット arm64-v8a:

bazel build -c opt --config=android_arm64 //tensorflow/lite:libtensorflowlite.so

現時点では、必要なすべてのヘッダー ファイルを抽出する簡単な方法はありませんが、 そのため、TensorFlow の tensorflow/lite/ にすべてのヘッダー ファイルを含める必要があります。 できます。さらに、Terraform からのヘッダー ファイル、 FlatBuffersAbseil