LiteRT menyediakan sejumlah alat untuk mengintegrasikan model ke dalam Android aplikasi. Halaman ini menjelaskan alat pengembangan untuk digunakan dalam membangun aplikasi dengan Kotlin, Java, dan C++, serta dukungan untuk pengembangan LiteRT di Android Studio.
Alat untuk membangun aplikasi dengan Kotlin dan Java
Bagian berikut ini menjelaskan alat pengembangan untuk LiteRT yang menggunakan bahasa Kotlin dan Java.
Library LiteRT
Gunakan library LiteRT di aplikasi Android dengan menambahkan AAR yang dihosting di MavenCentral ke proyek pengembangan.
Anda dapat menentukannya dalam dependensi build.gradle
sebagai berikut:
dependencies {
...
implementation 'com.google.ai.edge.litert:+'
}
repositories {
...
google()
}
Jika Anda menggunakan snapshot setiap malam, pastikan Anda menambahkan snapshot Sonatype repositori ke project Anda.
AAR ini menyertakan biner untuk semua paket Android ABI. Anda dapat mengurangi ukuran biner aplikasi Anda dengan hanya menyertakan ABI yang perlu Anda dukung.
Kecuali jika Anda menargetkan hardware tertentu, Anda harus menghilangkan x86
, x86_64
,
dan arm32
ABI dalam sebagian besar kasus. Anda dapat mengonfigurasi ini dengan Gradle berikut
konfigurasi Anda. Secara khusus hanya menyertakan armeabi-v7a
dan arm64-v8a
, serta
akan mencakup sebagian besar perangkat Android modern.
android {
defaultConfig {
ndk {
abiFilters 'armeabi-v7a', 'arm64-v8a'
}
}
}
Untuk mempelajari abiFilters
lebih lanjut, lihat Android
ABI di Android NDK
dokumentasi layanan.
Support Library LiteRT
LiteRT Android Support Library memudahkan integrasi model dalam aplikasi Anda. Menyediakan API tingkat tinggi yang membantu mentransformasi input mentah data ke dalam bentuk yang dibutuhkan oleh model, dan menafsirkan output model, mengurangi jumlah kode boilerplate yang diperlukan.
Fungsi ini mendukung format data umum untuk input dan output, termasuk gambar dan . Layanan ini juga menyediakan unit pra- dan pasca-pemrosesan yang melakukan tugas-tugas seperti seperti pengubahan ukuran dan pemangkasan gambar.
Menggunakan Support Library di aplikasi Android dengan menyertakan LiteRT Ar Library Dukungan yang dihosting di MavenCentral.
Anda dapat menentukannya dalam dependensi build.gradle
sebagai berikut:
dependencies {
implementation 'com.google.ai.edge.litert:litert-support:+'
}
Jika Anda menggunakan snapshot setiap malam, pastikan Anda menambahkan snapshot Sonatype repositori ke project Anda.
Untuk mendapatkan petunjuk tentang cara memulai, lihat dokumen Dukungan Android LiteRT Library.
Menggunakan Android Studio
Selain library pengembangan yang dijelaskan di atas, Android Studio juga memberikan dukungan untuk mengintegrasikan model LiteRT, seperti yang dijelaskan di bawah.
Binding Model ML Android Studio
Fitur ML Model Binding di Android Studio 4.1 dan yang lebih baru memungkinkan Anda untuk
impor file model .tflite
ke aplikasi Android yang ada, dan buat
untuk mempermudah integrasi kode dengan model.
Untuk mengimpor model LiteRT:
Klik kanan pada modul yang ingin Anda gunakan dengan model LiteRT atau klik File > Baru > Lainnya > Model LiteRT.
Pilih lokasi file LiteRT Anda. Perhatikan bahwa alat mengonfigurasi dependensi modul dengan binding Model ML dan secara otomatis menambahkan semua dependensi yang diperlukan ke file
build.gradle
modul Android Anda.Klik
Finish
untuk memulai proses impor. Saat impor selesai, alat menampilkan layar yang menjelaskan model, termasuk input dan output-nya tensor.Untuk mulai menggunakan model tersebut, pilih Kotlin atau Java, lalu salin dan tempel kodenya di di bagian Sample Code.
Anda dapat kembali ke layar informasi model dengan mengklik dua kali TensorFlow
Model ringan pada direktori ml
di Android Studio. Untuk mengetahui informasi
selengkapnya tentang
menggunakan fitur Modle Binding di Android Studio, lihat Android Studio
rilis
catatan.
Untuk ringkasan tentang penggunaan model binding di Android Studio, lihat contoh kode
petunjuk ini.
Alat untuk membangun aplikasi dengan C dan C++
Library C dan C++ untuk LiteRT utamanya ditujukan untuk developer yang menggunakan Android Native Development Kit (NDK) untuk membangun aplikasi mereka. Ada dua cara untuk menggunakan LiteRT melalui C++ jika Anda membangun aplikasi dengan NDK:
API LiteRT C
Menggunakan API ini adalah pendekatan yang direkomendasikan bagi developer yang menggunakan NDK.
Download AAR LiteRT yang dihosting di
MavenCentral
file, ganti nama menjadi tensorflow-lite-*.zip
, lalu ekstrak. Anda harus menyertakan empat
file header di headers/tensorflow/lite/
dan headers/tensorflow/lite/c/
folder dan library dinamis libtensorflowlite_jni.so
yang relevan di
jni/
di project NDK Anda.
File header c_api.h
berisi dokumentasi dasar tentang penggunaan LiteRT C
Compute Engine API.
API C++ LiteRT
Jika ingin menggunakan LiteRT melalui C++ API, Anda dapat membangun paket C++ bersama {i>library<i}:
32bit armeabi-v7a:
bazel build -c opt --config=android_arm //tensorflow/lite:libtensorflowlite.so
Arm64-v8a 64bit:
bazel build -c opt --config=android_arm64 //tensorflow/lite:libtensorflowlite.so
Saat ini, tidak ada cara mudah untuk mengekstrak
semua file {i>header<i} yang diperlukan,
jadi Anda harus menyertakan semua file header di tensorflow/lite/
dari TensorFlow
repositori resource. Selain itu, Anda akan membutuhkan
file {i>header<i} dari
FlatBuffers dan
Abseil.