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 memberi perhatian besar pada 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:

  • Lingkungan runtime TensorFlow Lite standar (disarankan)
  • Lingkungan waktu proses layanan Google Play untuk TensorFlow Lite (Beta)

Secara umum, Anda harus menggunakan lingkungan runtime TensorFlow Lite standar, karena ini adalah lingkungan paling serbaguna untuk menjalankan model di Android. Lingkungan waktu proses yang disediakan oleh layanan Google Play lebih nyaman dan hemat ruang daripada lingkungan standar, karena dimuat dari sumber daya Google Play dan tidak digabungkan ke dalam aplikasi Anda. Beberapa kasus penggunaan tingkat lanjut memerlukan penyesuaian lingkungan waktu proses model, yang dijelaskan di bagian Lingkungan waktu proses lanjutan .

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. Untuk informasi tentang lingkungan waktu proses lainnya, lihat Lingkungan waktu proses lanjutan .

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 dengan menyertakan Pustaka Tugas TensorFlow Lite di aplikasi Android Anda. Pustaka Tugas juga menyertakan kelas dan metode Interpreter API jika Anda membutuhkannya.

Jika hanya ingin menggunakan Interpreter API, Anda dapat menyertakan library TensorFlow Lite . Atau, Anda dapat menyertakan pustaka layanan Google Play untuk TensorFlow Lite, dan mengakses Interpreter API melalui layanan Play, tanpa menggabungkan pustaka terpisah ke dalam aplikasi Anda.

Pustaka Dukungan TensorFlow Lite juga tersedia untuk menyediakan fungsionalitas tambahan untuk mengelola data untuk model, metadata model, dan hasil inferensi model.

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

Pemrosesan 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 di mana 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 lebih lanjut 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 hasil 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 pembelajaran mesin 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 pembelajaran mesin 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 adalah 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