Alat pengembangan untuk Android

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:

  1. Klik kanan pada modul yang ingin Anda gunakan dengan model LiteRT atau klik File > Baru > Lainnya > Model LiteRT.

  2. 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.

  3. Klik Finish untuk memulai proses impor. Saat impor selesai, alat menampilkan layar yang menjelaskan model, termasuk input dan output-nya tensor.

  4. 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.