日付を保存! Google I / Oが5月18日から20日に戻ってきます今すぐ登録
このページは Cloud Translation API によって翻訳されました。
Switch to English

Androidクイックスタート

AndroidでTensorFlowLiteの使用を開始するには、次の例を検討することをお勧めします。

Android画像分類例

ソースコードの説明については、 TensorFlow LiteAndroid画像分類をお読みください。

このサンプルアプリは、画像分類を使用して、デバイスの背面カメラから見えるものを継続的に分類します。アプリケーションは、デバイスまたはエミュレーターのいずれかで実行できます。

推論は、TensorFlow Lite JavaAPIとTensorFlowLiteAndroidサポートライブラリを使用して実行されます。デモアプリはフレームをリアルタイムで分類し、最も可能性の高い分類を表示します。これにより、ユーザーは浮動小数点モデルまたは量子化モデルのいずれかを選択し、スレッド数を選択して、CPU、GPU、またはNNAPIのいずれで実行するかを決定できます。

AndroidStudioでビルド

Android Studioでサンプルをビルドするには、 README.mdの手順に従ってください。

独自のAndroidアプリを作成する

独自のAndroidコードの記述をすばやく開始するには、 Android画像分類の例を出発点として使用することをお勧めします。

次のセクションには、AndroidでTensorFlowLiteを操作するための役立つ情報が含まれています。

Android StudioMLモデルバインディングを使用する

TensorFlow Lite(TFLite)モデルをインポートするには:

  1. モジュールを右クリックしますTFLiteモデルを使用するか、をクリックしたいFile 、そしてNew > Other > TensorFlow Lite Model メニューを右クリックして、TensorFlowLiteのインポート機能にアクセスします

  2. TFLiteファイルの場所を選択します。ツールは、MLモデルバインディングを使用してモジュールの依存関係を構成し、すべての依存関係はAndroidモジュールのbuild.gradleファイルに自動的に挿入されることに注意してください。

    オプション: GPUアクセラレーションを使用する場合は、TensorFlowGPUをインポートするための2番目のチェックボックスを選択します。 TFLiteモデルのインポートダイアログ

  3. [ Finishクリックします。

  4. インポートが成功すると、次の画面が表示されます。モデルの使用を開始するには、KotlinまたはJavaを選択し、コードをコピーして[ Sample Codeセクションに貼り付けます。 Android Studioのmlディレクトリの下にあるTFLiteモデルをダブルクリックすると、この画面に戻ることができます。 AndroidStudioのモデル詳細ページ

TensorFlowLiteタスクライブラリを使用する

TensorFlow Liteタスクライブラリには、アプリ開発者がTFLiteでMLエクスペリエンスを作成するための、強力で使いやすいタスク固有のライブラリのセットが含まれています。画像分類、質問と回答など、一般的な機械学習タスク用に最適化されたすぐに使用できるモデルインターフェイスを提供します。モデルインターフェイスは、最高のパフォーマンスと使いやすさを実現するために、タスクごとに特別に設計されています。タスクライブラリはクロスプラットフォームで動作し、Java、C ++、およびSwiftでサポートされています(近日公開予定)。

Androidアプリでサポートライブラリを使用するには、JCenter for TaskVisionライブラリとTaskTextライブラリでそれぞれホストされているAARを使用することをお勧めします。

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

dependencies {
    implementation 'org.tensorflow:tensorflow-lite-task-vision:0.1.0'
    implementation 'org.tensorflow:tensorflow-lite-task-text:0.1.0'
}

詳細については、 TensorFlowLiteタスクライブラリの概要の概要をご覧ください。

TensorFlow LiteAndroidサポートライブラリを使用する

TensorFlow Lite Androidサポートライブラリを使用すると、モデルをアプリケーションに簡単に統合できます。生の入力データをモデルに必要な形式に変換し、モデルの出力を解釈するのに役立つ高レベルのAPIを提供し、必要な定型コードの量を削減します。

画像や配列など、入力と出力の一般的なデータ形式をサポートしています。また、画像のサイズ変更やトリミングなどのタスクを実行する前処理ユニットと後処理ユニットも提供します。

Androidアプリでサポートライブラリを使用するには、 JCenterでホストされているTensorFlowLiteサポートライブラリAARを使用することをお勧めします。

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

dependencies {
    implementation 'org.tensorflow:tensorflow-lite-support:0.1.0'
}

開始するには、 TensorFlow LiteAndroidサポートライブラリの手順に従ってください。

JCenterのTensorFlowLiteAARを使用する

AndroidアプリでTensorFlowLiteを使用するには、 JCenterでホストされているTensorFlow LiteAARを使用することをお勧めします。

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

dependencies {
    implementation 'org.tensorflow:tensorflow-lite:0.0.0-nightly-SNAPSHOT'
}

このAARには、すべてのAndroidABIのバイナリが含まれています。サポートする必要のあるABIのみを含めることで、アプリケーションのバイナリのサイズを減らすことができます。

ほとんどの開発者は、 x86x86_64 、およびarm32省略することをお勧めします。これは、次のGradle構成で実現できます。これには、特にarmeabi-v7aarm64-v8aのみが含まれ、最新のAndroidデバイスのほとんどをカバーする必要があります。

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

詳細について学ぶためにabiFilters参照してくださいNdkOptionsアンドロイドのGradleドキュメントのを。

C ++を使用してAndroidアプリをビルドする

NDKを使用してアプリをビルドする場合、C ++を介してTFLiteを使用する方法は2つあります。

TFLite CAPIを使用する

これが推奨されるアプローチです。 JCenterホストされているTensorFlowLite AARをダウンロードし、名前をtensorflow-lite-*.zipに変更して、解凍します。 4つのヘッダーファイルをheaders/tensorflow/lite/ headers/tensorflow/lite/c/フォルダーとheaders/tensorflow/lite/c/フォルダーにlibtensorflowlite_jni.soし、関連するlibtensorflowlite_jni.soダイナミックライブラリをNDKプロジェクトのjni/フォルダーにjni/する必要があります。

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

TFLite C ++ APIを使用する

C ++ APIを介してTFLiteを使用する場合は、C ++共有ライブラリを構築できます。

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/にすべてのヘッダーファイルをtensorflow/lite/する必要があります。さらに、 FlatBuffersAbseilのヘッダーファイルが必要になります