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):
Klik kanan pada modul yang ingin Anda gunakan dengan model TFLite atau klik File > New > Other > TensorFlow Lite Model.
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.Klik
Finish
untuk memulai proses impor. Setelah impor selesai, alat akan menampilkan layar yang mendeskripsikan model, termasuk tensor input dan outputnya.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.