TensorFlow Lite untuk Android

TensorFlow Lite memungkinkan Anda menjalankan model pembelajaran mesin (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

Pelajari konsep dan desain kode untuk membuat aplikasi Android dengan TensorFlow Lite, teruskan membaca .
Mulai coding aplikasi Android dengan TensorFlow Lite segera dengan Quickstart .
Pelajari tentang memilih dan menggunakan model ML dengan TensorFlow Lite, lihat dokumen Models .

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 machine learning yang sudah dibuat dan tidak mencakup pembuatan, pelatihan, pengujian, atau pengonversian model. Pelajari lebih lanjut tentang memilih, memodifikasi, membuat, dan mengonversi model pembelajaran mesin 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 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 , model akan 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 menjalankan model
  • Model input handler untuk mengubah data menjadi tensor
  • Model output handler untuk menerima tensor hasil output dan menafsirkannya sebagai hasil prediksi

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

Bangun aplikasi dengan TensorFlow Lite

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

Opsi lingkungan waktu proses

Ada beberapa cara Anda dapat mengaktifkan lingkungan waktu proses untuk menjalankan model di aplikasi Android Anda. Ini adalah opsi yang disukai:

Secara umum, Anda harus menggunakan lingkungan waktu proses yang disediakan oleh layanan Google Play karena lebih hemat ruang daripada lingkungan standar karena memuat secara dinamis, menjaga ukuran aplikasi Anda lebih kecil. Layanan Google Play juga secara otomatis menggunakan rilis stabil terbaru dari runtime TensorFlow Lite, memberi Anda fitur tambahan dan peningkatan kinerja dari waktu ke waktu. Jika Anda menawarkan aplikasi pada 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 atas waktu proses ML di aplikasi Anda dengan biaya peningkatan ukuran unduhan aplikasi Anda.

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

Pengembangan API dan perpustakaan

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

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

Perpustakaan

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

Dapatkan model

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

Menangani data masukan

Data apa pun yang Anda teruskan ke 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 dikenal sebagai menjalankan inferensi . Menjalankan inferensi di aplikasi Android memerlukan lingkungan waktu proses TensorFlow Lite , model , dan data masukan .

Kecepatan model dapat menghasilkan inferensi pada perangkat tertentu tergantung 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 dari 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 sesederhana angka yang sesuai dengan satu hasil (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, dengan peringkat kepercayaan 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 waktu proses standar dan lingkungan waktu proses layanan Google Play untuk TensorFlow Lite, ada lingkungan waktu proses tambahan yang dapat Anda gunakan 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 TensorFlow Lite.

  • Waktu proses fleksibel untuk TensorFlow Lite
  • Waktu proses TensorFlow Lite yang dibuat khusus

Waktu proses TensorFlow Lite Flex memungkinkan Anda menyertakan operator tertentu yang diperlukan untuk model Anda. Sebagai opsi lanjutan untuk menjalankan model, Anda dapat membuat TensorFlow Lite untuk Android untuk menyertakan operator dan fungsi lain yang diperlukan untuk menjalankan model machine learning TensorFlow Anda. Untuk informasi selengkapnya, lihat Membangun TensorFlow Lite untuk Android .

C dan C++ API

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 di antara beberapa 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 ditingkatkan untuk pengguna Anda. Namun, ada kasus di mana menjalankan model di server cloud, di luar perangkat, adalah 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 kinerja yang wajar pada perangkat tersebut. Pendekatan ini juga dapat menjadi solusi pilihan Anda jika kinerja model yang konsisten di berbagai perangkat menjadi prioritas utama.

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

Pengembangan dan pengoptimalan model khusus

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

Langkah selanjutnya