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。サイズを小さくして アプリケーションのバイナリをサポートする必要があります。
特定のハードウェアをターゲットとする場合を除き、x86
、x86_64
、
および arm32
ABI です。これは、次の Gradle で構成できます。
できます。具体的には armeabi-v7a
と arm64-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 モデルをインポートするには:
LiteRT モデルを使用するモジュールを右クリックするか、 [ファイル] >新規 >その他 >LiteRT モデル。
LiteRT ファイルの場所を選択します。ツールは、 ML モデル バインディングを使用してモジュールの依存関係を構成し、 必要なすべての依存関係を Android モジュールの
build.gradle
ファイルに追加します。[
Finish
] をクリックしてインポート処理を開始します。インポートが完了すると 入力と出力など、モデルを説明する画面が表示されます。 テンソルです。モデルの使用を開始するには、[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 からのヘッダー ファイル、
FlatBuffers と
Abseil。