TensorFlow Lite adalah serangkaian alat yang mengaktifkan machine learning di perangkat dengan membantu developer menjalankan model mereka di perangkat seluler, perangkat tersemat, dan edge.
Fitur utama
- Dioptimalkan untuk machine learning di perangkat, dengan mengatasi 5 kendala utama: latensi (tidak ada perjalanan bolak-balik ke server), privasi (tidak ada data pribadi yang keluar dari perangkat), konektivitas (konektivitas internet tidak diperlukan), ukuran (model dan ukuran biner yang lebih kecil), serta konsumsi daya (inferensi yang efisien dan kurangnya koneksi jaringan).
- Dukungan beberapa platform, yang mencakup perangkat Android dan iOS, Linux tersemat, dan pengontrol mikro.
- Dukungan bahasa beragam, yang mencakup Java, Swift, Objective-C, C++, dan Python.
- Performa tinggi, dengan akselerasi hardware dan pengoptimalan model.
Alur kerja pengembangan
Panduan berikut akan memandu setiap langkah alur kerja dan memberikan link ke petunjuk lebih lanjut:
1. Membuat model TensorFlow Lite
Model TensorFlow Lite direpresentasikan dalam format portabel khusus yang efisien yang dikenal sebagai FlatBuffers (diidentifikasi oleh ekstensi file .tflite). Hal ini memberikan beberapa keunggulan dibandingkan format model buffering protokol TensorFlow, seperti ukuran yang lebih kecil (footprint kode kecil) dan inferensi yang lebih cepat (data langsung diakses tanpa langkah penguraian/pelepasan kemasan tambahan) yang memungkinkan TensorFlow Lite berjalan secara efisien pada perangkat dengan resource komputasi dan memori yang terbatas.
Model TensorFlow Lite secara opsional dapat menyertakan metadata yang memiliki deskripsi model yang dapat dibaca manusia dan data yang dapat dibaca mesin untuk pembuatan pipeline pra-pemrosesan dan pascapemrosesan otomatis selama inferensi di perangkat. Baca Menambahkan metadata untuk mengetahui detail selengkapnya.
Anda dapat membuat model TensorFlow Lite dengan cara berikut:
Menggunakan model TensorFlow Lite yang ada: Lihat Contoh TensorFlow Lite untuk memilih model yang ada. Model mungkin berisi atau tidak berisi metadata.
Mengonversi model TensorFlow menjadi model TensorFlow Lite: Gunakan Pengonversi TensorFlow Lite untuk mengonversi model TensorFlow menjadi model TensorFlow Lite. Selama konversi, Anda dapat menerapkan pengoptimalan seperti kuantisasi untuk mengurangi ukuran dan latensi model dengan sedikit atau tanpa kehilangan akurasi. Secara default, semua model tidak berisi metadata.
2. Jalankan Inferensi
Inferensi mengacu pada proses mengeksekusi model TensorFlow Lite di perangkat untuk membuat prediksi berdasarkan data input. Anda dapat menjalankan inferensi dengan cara berikut berdasarkan jenis model:
Model tanpa metadata: Gunakan TensorFlow Lite Interpreter API. Didukung di berbagai platform dan bahasa seperti Java, Swift, C++, Objective-C, dan Python.
Model dengan metadata: Anda dapat membangun pipeline inferensi kustom dengan Support Library TensorFlow Lite. Di perangkat android, pengguna dapat secara otomatis membuat wrapper kode menggunakan Binding Model ML Android Studio atau Generator Kode TensorFlow Lite. Hanya didukung di Java (Android) saat Swift (iOS) dan C++ sedang dalam proses.
Di perangkat Android dan iOS, Anda dapat meningkatkan performa menggunakan akselerasi hardware. Di kedua platform, Anda dapat menggunakan GPU Delegate, dan di iOS Anda dapat menggunakan Core ML Delegate. Untuk menambahkan dukungan akselerator hardware baru, Anda dapat menentukan delegasi Anda sendiri.
Mulai
Anda dapat membaca panduan berikut berdasarkan perangkat target:
Android dan iOS: Pelajari panduan memulai Android dan panduan memulai iOS.
Linux Tersemat: Pelajari panduan panduan Python untuk perangkat tersemat seperti Raspberry Pi dan perangkat Coral dengan Edge TPU, atau petunjuk build C++ untuk ARM.
Mikrokontroler: Pelajari library TensorFlow Lite for Microcontrollers untuk microcontroller dan DSP yang hanya berisi memori beberapa kilobyte.
Batasan teknis
- Semua model TensorFlow tidak dapat dikonversi menjadi model TensorFlow Lite, lihat Kompatibilitas operator.