LiteRT untuk Android

Dengan LiteRT, Anda dapat menjalankan model machine learning (ML) TensorFlow di Android. Sistem LiteRT menyediakan bawaan dan dapat disesuaikan lingkungan eksekusi untuk menjalankan model di Android dengan cepat dan efisien, termasuk pilihan untuk akselerasi perangkat keras.

Model machine learning

LiteRT menggunakan model TensorFlow yang dikonversi menjadi model yang lebih kecil format model machine learning yang portabel, lebih efisien. Anda dapat menggunakan model dengan LiteRT di Android, atau membangun model TensorFlow Anda sendiri dan mengonversinya ke format LiteRT.

Halaman ini membahas penggunaan model machine learning yang sudah dibuat dan tidak membahas pembuatan, pelatihan, pengujian, atau konversi model. Pelajari lebih lanjut cara memilih, memodifikasi, membangun, dan mengonversi model machine learning untuk LiteRT di halaman Model.

Menjalankan model di Android

Model LiteRT yang berjalan di dalam aplikasi Android mengambil data, memprosesnya data, dan menghasilkan prediksi berdasarkan logika model. Sebuah TensorFlow Model Lite memerlukan lingkungan runtime khusus untuk dieksekusi, dan data yang diteruskan ke model harus dalam format data tertentu, yang disebut tensor. Saat model memproses data, yang dikenal sebagai menjalankan inferensi, akan menghasilkan hasil prediksi sebagai tensor, dan meneruskannya ke aplikasi Android agar dapat mengambil tindakan, seperti yang menunjukkan hasilnya kepada pengguna atau menjalankan logika bisnis tambahan.

Alur eksekusi fungsional untuk model LiteRT di Android
aplikasi

Gambar 1. Alur eksekusi fungsional untuk model LiteRT di Android aplikasi.

Pada tingkat desain fungsional, aplikasi Android memerlukan elemen berikut untuk jalankan model LiteRT:

  • Lingkungan runtime LiteRT untuk menjalankan model
  • Pengendali input model untuk mengubah data menjadi tensor
  • Pengendali output model untuk menerima tensor hasil output dan menafsirkannya sebagai hasil prediksi

Bagian berikut menjelaskan cara library dan alat LiteRT menyediakan elemen-elemen fungsional ini.

Membangun aplikasi dengan LiteRT

Bagian ini menjelaskan jalur yang paling umum dan direkomendasikan untuk menerapkan LiteRT di Aplikasi Android. Anda harus memberi perhatian paling banyak pada Bagian lingkungan runtime dan library pengembangan. Jika Anda telah mengembangkan model khusus, pastikan untuk meninjau artikel Pengembangan lanjutan jalur.

Opsi lingkungan runtime

Ada beberapa cara untuk mengaktifkan lingkungan runtime untuk mengeksekusi model di aplikasi Android Anda. Berikut adalah opsi yang disukai:

Secara umum, Anda harus menggunakan lingkungan runtime yang disediakan oleh Google Play karena lebih hemat ruang dibandingkan lingkungan standar karena itu dimuat secara dinamis, sehingga ukuran aplikasi Anda tetap kecil. Layanan Google Play juga otomatis menggunakan rilis LiteRT terbaru dan stabil runtime, yang memberi Anda fitur tambahan dan peningkatan performa dari waktu ke waktu. Jika Anda menawarkan aplikasi Anda di perangkat yang tidak menyertakan layanan Google Play atau Anda perlu mengelola lingkungan runtime ML Anda dengan cermat, maka Anda harus menggunakan dan runtime LiteRT standar. Opsi ini menggabungkan kode tambahan ke dalam memungkinkan Anda memiliki kontrol lebih besar atas runtime ML di aplikasi Anda biaya peningkatan ukuran download aplikasi.

Anda dapat mengakses lingkungan runtime ini di aplikasi Android dengan menambahkan TensorFlow Library pengembangan Lite ke lingkungan pengembangan aplikasi Anda. Untuk informasi tentang cara menggunakan lingkungan runtime standar di aplikasi Anda, lihat bagian.

Perpustakaan

Anda dapat mengakses Interpreter API menggunakan aplikasi Google Play Google. Anda dapat menggunakan Inti dan LiteRT support library di aplikasi Android Anda. Sebagai detail pemrograman tentang penggunaan library dan runtime LiteRT yang lebih canggih, lihat Alat pengembangan untuk Android.

Mendapatkan model

Menjalankan model di aplikasi Android memerlukan model format LiteRT. Anda dapat menggunakan model yang telah dibuat sebelumnya atau membangunnya dengan TensorFlow dan mengonversinya ke format font. Untuk informasi selengkapnya tentang cara mendapatkan model untuk aplikasi Android, lihat Halaman Model LiteRT.

Menangani data input

Setiap data yang Anda teruskan ke model ML harus berupa tensor dengan data tertentu struktur, sering disebut shape. Untuk memproses data dengan model, kode aplikasi Anda harus mengubah data dari format native-nya, seperti gambar, teks, atau data audio, menjadi tensor dalam bentuk yang diperlukan untuk model Anda.

Menjalankan inferensi

Memproses data melalui model untuk menghasilkan hasil prediksi dikenal sebagai menjalankan inferensi. Menjalankan inferensi di aplikasi Android memerlukan Lingkungan runtime LiteRT, model, dan input data Anda.

Kecepatan model dapat menghasilkan inferensi pada perangkat tertentu bergantung pada ukuran data yang diproses, kompleksitas model, dan sumber daya komputasi yang tersedia seperti memori dan CPU, atau prosesor khusus yang disebut akselerator. Model machine learning dapat berjalan lebih cepat di prosesor khusus seperti unit pemrosesan grafis (GPU) dan tensor unit pemrosesan (TPU), menggunakan {i>driver <i}perangkat keras LiteRT yang disebut delegasi. Untuk informasi selengkapnya tentang delegasi dan akselerasi hardware pemrosesan model, lihat panduan Hardware acceleration ringkasan.

Menangani hasil output

Model menghasilkan hasil prediksi sebagai tensor, yang harus ditangani oleh aplikasi Android dengan mengambil tindakan atau menampilkan hasilnya kepada pengguna. Output model hasil dapat sesederhana angka yang sesuai dengan hasil tunggal (0 = {i>dog<i}, 1 = kucing, 2 = burung) untuk klasifikasi gambar, hingga hasil yang jauh lebih kompleks, seperti beberapa kotak pembatas untuk beberapa objek yang diklasifikasikan dalam gambar, dengan tingkat keyakinan prediksi antara 0 dan 1.

Jalur pengembangan lanjutan

Saat menggunakan model LiteRT yang lebih canggih dan disesuaikan, Anda dapat perlu menggunakan pendekatan pengembangan yang lebih canggih daripada yang dijelaskan di atas. Bagian berikut ini menjelaskan teknik lanjutan untuk mengeksekusi model dan mengembangkannya untuk LiteRT di aplikasi Android.

Lingkungan runtime lanjutan

Selain runtime standar dan runtime layanan Google Play untuk LiteRT, ada lingkungan runtime tambahan yang dapat digunakan dengan aplikasi Android Anda. Penggunaan yang paling mungkin untuk lingkungan ini adalah jika Anda memiliki model machine learning yang menggunakan operasi ML yang tidak didukung oleh lingkungan runtime standar untuk LiteRT.

Runtime Flex LiteRT memungkinkan Anda menyertakan operator spesifik yang diperlukan untuk model Anda. Sebagai opsi lanjutan untuk menjalankan model, Anda dapat membangun LiteRT untuk Android guna menyertakan operator dan fungsionalitas lain yang diperlukan untuk menjalankan model machine learning TensorFlow. Untuk mengetahui informasi selengkapnya, lihat Membuat LiteRT untuk Android.

API C dan C++

LiteRT juga menyediakan API untuk menjalankan model menggunakan C dan C++. Jika aplikasi Anda menggunakan Android NDK, Anda harus pertimbangkan untuk menggunakan API ini. Anda juga dapat mempertimbangkan penggunaan API ini jika ingin dapat berbagi kode antara beberapa platform. Untuk informasi selengkapnya tentang opsi pengembangan ini, lihat alat.

Eksekusi model berbasis server

Umumnya, Anda harus menjalankan model di aplikasi pada perangkat Android untuk memanfaatkan latensi yang lebih rendah dan meningkatkan privasi data untuk pengguna Anda. Namun, ada kasus di mana menjalankan model di server {i>cloud<i}, di luar perangkat, adalah solusi. Misalnya, jika Anda memiliki model besar yang tidak mudah dikompresi menjadi ukuran yang sesuai dengan kebutuhan pengguna perangkat Android, atau dapat dijalankan dengan performa yang wajar pada perangkat tersebut. Pendekatan ini juga dapat menjadi sebagai solusi pilihan jika performa model yang konsisten pada berbagai perangkat adalah prioritas utama.

Google Cloud menawarkan rangkaian layanan lengkap untuk menjalankan mesin TensorFlow machine learning. Untuk mengetahui informasi selengkapnya, lihat AI dan machine learning Google Cloud produk pembelajaran.

Pengembangan dan pengoptimalan model kustom

Jalur pengembangan yang lebih canggih kemungkinan besar mencakup pengembangan mesin kustom machine learning dan mengoptimalkan model tersebut untuk digunakan di perangkat Android. Jika Anda merancang model kustom, pastikan Anda mempertimbangkan untuk menerapkan kuantisasi teknik ke model untuk mengurangi memori dan pemrosesan. Untuk informasi selengkapnya tentang cara membangun model performa tinggi untuk digunakan dengan LiteRT, lihat Performa terbaik praktik terbaik di bagian Model.