Alat pengembangan untuk Android

TensorFlow Lite menyediakan sejumlah alat untuk mengintegrasikan model ke dalam aplikasi Android. Halaman ini menjelaskan alat pengembangan untuk digunakan dalam mem-build aplikasi dengan Kotlin, Java, dan C++, serta dukungan untuk pengembangan TensorFlow Lite di Android Studio.

Alat untuk membangun aplikasi dengan Kotlin dan Java

Bagian berikut menjelaskan alat pengembangan untuk TensorFlow Lite yang menggunakan bahasa Kotlin dan Java.

Library TensorFlow Lite

Gunakan library TensorFlow Lite di aplikasi Android Anda dengan menambahkan AAR yang dihosting di MavenCentral ke project pengembangan Anda.

Anda dapat menentukan hal ini dalam dependensi build.gradle sebagai berikut:

dependencies {
    implementation 'org.tensorflow:tensorflow-lite:+'
}

Jika menggunakan snapshot setiap malam, pastikan Anda menambahkan repositori snapshot Sonatype ke project Anda.

AAR ini menyertakan biner untuk semua ABI Android. Anda dapat mengurangi ukuran biner aplikasi hanya dengan menyertakan ABI yang perlu didukung.

Kecuali jika menargetkan hardware tertentu, Anda harus menghilangkan ABI x86, x86_64, dan arm32 dalam sebagian besar kasus. Anda dapat mengonfigurasinya dengan konfigurasi Gradle berikut. Library ini secara khusus hanya mencakup armeabi-v7a dan arm64-v8a, dan harus mencakup sebagian besar perangkat Android modern.

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

Untuk mempelajari abiFilters lebih lanjut, lihat ABI Android dalam dokumentasi Android NDK.

Support Library TensorFlow Lite

Android Support Library TensorFlow Lite mempermudah integrasi model ke dalam aplikasi Anda. Library ini menyediakan API tingkat tinggi yang membantu mengubah data input mentah menjadi bentuk yang diperlukan oleh model, dan menafsirkan output model, sehingga mengurangi jumlah kode boilerplate yang diperlukan.

Library ini mendukung format data umum untuk input dan output, termasuk gambar dan array. Library ini juga menyediakan unit pra-pemrosesan dan pascapemrosesan yang melakukan tugas seperti pengubahan ukuran dan pemangkasan gambar.

Gunakan Support Library di aplikasi Android dengan menyertakan AAR Support Library TensorFlow Lite yang dihosting di MavenCentral.

Anda dapat menentukan hal ini dalam dependensi build.gradle sebagai berikut:

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

Jika menggunakan snapshot setiap malam, pastikan Anda menambahkan repositori snapshot Sonatype ke project Anda.

Untuk mengetahui petunjuk cara memulai, lihat Library Dukungan Android TensorFlow Lite.

Versi Android SDK minimum untuk library

Koleksi minSdkVersion Persyaratan Perangkat
tensorflow-lite 21 -
tensorflow-lite-gpu 21 GLES 3.1 atau OpenCL (biasanya hanya tersedia pada API 21+)
tensorflow-lite-support 21 -
tensorflow-lite-metadata 21 -

Menggunakan Android Studio

Selain library pengembangan yang dijelaskan di atas, Android Studio juga menyediakan dukungan untuk mengintegrasikan model TensorFlow Lite, seperti yang dijelaskan di bawah ini.

Binding Model ML Android Studio

Fitur ML Model Binding dari Android Studio 4.1 dan yang lebih baru memungkinkan Anda mengimpor file model .tflite ke aplikasi Android yang ada, dan menghasilkan class antarmuka untuk mempermudah mengintegrasikan kode Anda dengan model.

Untuk mengimpor model TensorFlow Lite (TFLite):

  1. Klik kanan pada modul yang ingin Anda gunakan dengan model TFLite atau klik File > New > Other > TensorFlow Lite Model.

  2. Pilih lokasi file TensorFlow Lite Anda. Perhatikan bahwa alat ini mengonfigurasi dependensi modul dengan binding Model ML dan otomatis menambahkan semua dependensi yang diperlukan ke file build.gradle modul Android Anda.

  3. Klik Finish untuk memulai proses impor. Setelah impor selesai, alat akan menampilkan layar yang mendeskripsikan model, termasuk tensor input dan outputnya.

  4. Untuk mulai menggunakan model, pilih Kotlin atau Java, salin dan tempel kode di bagian Kode Contoh.

Anda dapat kembali ke layar informasi model dengan mengklik dua kali model TensorFlow Lite pada direktori ml di Android Studio. Untuk mengetahui informasi selengkapnya tentang penggunaan fitur Modle Binding Android Studio, lihat catatan rilis Android Studio. Untuk ringkasan penggunaan binding model di Android Studio, lihat instructions contoh kode.

Alat untuk membangun aplikasi dengan C dan C++

Library C dan C++ untuk TensorFlow Lite terutama ditujukan bagi developer yang menggunakan Android Native Development Kit (NDK) untuk mem-build aplikasi mereka. Ada dua cara untuk menggunakan TFLite melalui C++ jika Anda membangun aplikasi dengan NDK:

TFLite C API

Menggunakan API ini merupakan pendekatan yang direkomendasikan bagi developer yang menggunakan NDK. Download AAR TensorFlow Lite yang dihosting di file MavenCentral, ganti nama menjadi tensorflow-lite-*.zip, lalu ekstrak. Anda harus menyertakan empat file header di folder headers/tensorflow/lite/ dan headers/tensorflow/lite/c/ serta library dinamis libtensorflowlite_jni.so yang relevan di folder jni/ dalam project NDK Anda.

File header c_api.h berisi dokumentasi dasar tentang penggunaan TFLite C API.

TFLite C++ API

Jika ingin menggunakan TFLite melalui C++ API, Anda dapat mem-build library bersama C++:

32bit armeabi-v7a:

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

64bit arm64-v8a:

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

Saat ini, tidak ada cara mudah untuk mengekstrak semua file header yang diperlukan, sehingga Anda harus menyertakan semua file header di tensorflow/lite/ dari repositori TensorFlow. Selain itu, Anda akan memerlukan file header dari FlatBuffers dan Abseil.