TensorFlow Lite untuk Android

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

Peta jalan pembelajaran

Desain kode Pelajari konsep dan desain kode untuk membuat aplikasi Android dengan TensorFlow Lite, teruslah membaca .
Mulai Cepat Kode Mulai coding aplikasi Android dengan TensorFlow Lite segera dengan Quickstart .
model ml Pelajari cara memilih dan menggunakan model ML dengan TensorFlow Lite, lihat dokumen Model .

Model pembelajaran mesin

TensorFlow Lite menggunakan model TensorFlow yang diubah menjadi format model pembelajaran mesin yang lebih kecil, portabel, dan lebih efisien. Anda dapat menggunakan model bawaan dengan TensorFlow Lite di Android, atau membuat model TensorFlow Anda sendiri dan mengonversinya ke format TensorFlow Lite.

Halaman ini membahas penggunaan model pembelajaran mesin yang sudah dibuat dan tidak mencakup pembuatan, pelatihan, pengujian, atau konversi model. Pelajari lebih lanjut cara memilih, memodifikasi, membuat, dan mengonversi model machine learning untuk TensorFlow Lite di bagian Model .

Jalankan model di Android

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

Alur eksekusi fungsional untuk model TensorFlow Lite di aplikasi Android

Gambar 1. Alur eksekusi fungsional untuk model TensorFlow Lite di aplikasi Android.

Pada tingkat desain fungsional, aplikasi Android Anda memerlukan elemen berikut untuk menjalankan model TensorFlow Lite:

  • Lingkungan runtime TensorFlow Lite untuk mengeksekusi model
  • Pengendali masukan model untuk mengubah data menjadi tensor
  • Pengendali keluaran model untuk menerima tensor hasil keluaran dan menafsirkannya sebagai hasil prediksi

Bagian berikut menjelaskan cara pustaka dan alat TensorFlow Lite menyediakan elemen fungsional ini.

Bangun aplikasi dengan TensorFlow Lite

Bagian ini menjelaskan jalur paling umum yang direkomendasikan untuk mengimplementasikan TensorFlow Lite di Aplikasi Android Anda. Anda harus memberi perhatian paling besar pada bagian lingkungan runtime dan perpustakaan pengembangan . Jika Anda telah mengembangkan model kustom, pastikan untuk meninjau bagian Jalur pengembangan lanjutan .

Opsi lingkungan waktu proses

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

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

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

API Pengembangan dan perpustakaan

Ada dua API utama yang dapat Anda gunakan untuk mengintegrasikan model machine learning TensorFlow Lite ke dalam aplikasi Android Anda:

Interpreter API menyediakan kelas dan metode untuk menjalankan inferensi dengan model TensorFlow Lite yang sudah ada. TensorFlow Lite Task API menggabungkan Interpreter API dan menyediakan antarmuka pemrograman tingkat tinggi untuk melakukan tugas-tugas machine learning umum dalam menangani data visual, audio, dan teks. Anda harus menggunakan Task API kecuali Anda merasa API tersebut tidak mendukung kasus penggunaan spesifik Anda.

Perpustakaan

Anda dapat mengakses Task API atau Interpreter API menggunakan layanan Google Play . Anda juga dapat menggunakan pustaka yang berdiri sendiri untuk Tugas TensorFlow Lite atau pustaka inti dan dukungan TensorFlow Lite di aplikasi Android Anda. Untuk detail pemrograman tentang penggunaan pustaka TensorFlow Lite dan lingkungan runtime, lihat Alat pengembangan untuk Android .

Dapatkan model

Menjalankan model di aplikasi Android memerlukan model berformat TensorFlow Lite. Anda dapat menggunakan model bawaan atau membuatnya dengan TensorFlow dan mengonversinya ke format Lite. Untuk informasi selengkapnya tentang cara mendapatkan model untuk aplikasi Android Anda, lihat bagian Model TensorFlow Lite.

Menangani data masukan

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

Pustaka Tugas TensorFlow Lite menyediakan logika penanganan data untuk mengubah data visual, teks, dan audio menjadi tensor dengan bentuk yang benar untuk diproses oleh model TensorFlow Lite.

Jalankan inferensi

Pengolahan data melalui model untuk menghasilkan hasil prediksi disebut menjalankan inferensi . Menjalankan inferensi di aplikasi Android memerlukan lingkungan runtime TensorFlow Lite, model , dan input data .

Kecepatan suatu 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 pembelajaran mesin dapat berjalan lebih cepat pada prosesor khusus ini seperti unit pemrosesan grafis (GPU) dan unit pemrosesan tensor (TPU), menggunakan driver perangkat keras TensorFlow Lite yang disebut delegasi . Untuk informasi selengkapnya tentang delegasi dan akselerasi perangkat keras pada pemrosesan model, lihat Ikhtisar akselerasi perangkat keras .

Menangani hasil keluaran

Model menghasilkan hasil prediksi sebagai tensor, yang harus ditangani oleh aplikasi Android Anda dengan mengambil tindakan atau menampilkan hasilnya kepada pengguna. Hasil keluaran model dapat berupa angka sederhana yang sesuai dengan hasil tunggal (0 = anjing, 1 = kucing, 2 = burung) untuk klasifikasi gambar, hingga hasil yang jauh lebih kompleks, seperti beberapa kotak pembatas untuk beberapa objek yang diklasifikasikan dalam suatu gambar. gambar, dengan peringkat keyakinan prediksi antara 0 dan 1.

Jalur pengembangan lanjutan

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

Lingkungan runtime tingkat lanjut

Selain runtime standar dan lingkungan runtime layanan Google Play untuk TensorFlow Lite, ada lingkungan runtime tambahan yang dapat Anda gunakan dengan aplikasi Android Anda. Kemungkinan besar penggunaan lingkungan ini adalah jika Anda memiliki model pembelajaran mesin yang menggunakan operasi ML yang tidak didukung oleh lingkungan runtime standar untuk TensorFlow Lite.

Runtime TensorFlow Lite Flex memungkinkan Anda menyertakan operator tertentu yang diperlukan untuk model Anda. Sebagai opsi lanjutan untuk menjalankan model, Anda dapat mem-build TensorFlow Lite untuk Android guna menyertakan operator dan fungsi lain yang diperlukan untuk menjalankan model machine learning TensorFlow. Untuk informasi selengkapnya, lihat Membangun TensorFlow Lite untuk Android .

API C dan C++

TensorFlow Lite juga menyediakan API untuk menjalankan model menggunakan C dan C++. Jika aplikasi Anda menggunakan Android NDK , Anda harus mempertimbangkan untuk menggunakan API ini. Anda mungkin juga ingin mempertimbangkan untuk menggunakan API ini jika Anda ingin dapat berbagi kode antar berbagai platform. Untuk informasi selengkapnya tentang opsi pengembangan ini, lihat halaman Alat pengembangan .

Eksekusi model berbasis server

Secara umum, Anda harus menjalankan model di aplikasi Anda pada perangkat Android untuk memanfaatkan latensi yang lebih rendah dan privasi data yang lebih baik bagi pengguna Anda. Namun, ada beberapa kasus di mana menjalankan model di server cloud, di luar perangkat, merupakan solusi yang lebih baik. Misalnya, jika Anda memiliki model besar yang tidak mudah dikompres ke ukuran yang sesuai dengan perangkat Android pengguna Anda, atau dapat dijalankan dengan performa wajar pada perangkat tersebut. Pendekatan ini juga dapat menjadi solusi pilihan Anda jika performa model yang konsisten di berbagai perangkat merupakan prioritas utama.

Google Cloud menawarkan rangkaian layanan lengkap untuk menjalankan model machine learning TensorFlow. Untuk informasi lebih lanjut, lihat halaman produk AI dan machine learning Google Cloud.

Pengembangan dan pengoptimalan model khusus

Jalur pengembangan yang lebih maju kemungkinan besar mencakup pengembangan model pembelajaran mesin khusus dan mengoptimalkan model tersebut untuk digunakan pada perangkat Android. Jika Anda berencana membuat model kustom, pastikan Anda mempertimbangkan untuk menerapkan teknik kuantisasi pada model untuk mengurangi biaya memori dan pemrosesan. Untuk informasi selengkapnya tentang cara membuat model berperforma tinggi untuk digunakan dengan TensorFlow Lite, lihat Praktik terbaik performa di bagian Model.

Langkah selanjutnya