Model machine learning (ML) yang Anda gunakan dengan TensorFlow Lite awalnya dibuat dan dilatih menggunakan library dan alat inti TensorFlow. Setelah membuat model dengan TensorFlow core, Anda dapat mengonversinya ke format model ML yang lebih kecil dan lebih efisien yang disebut model TensorFlow Lite. Bagian ini berisi panduan untuk mengonversi model TensorFlow ke format model TensorFlow Lite.
Alur kerja konversi
Konversi model TensorFlow ke format TensorFlow Lite dapat memerlukan beberapa jalur, bergantung pada konten model ML Anda. Sebagai langkah pertama dari proses tersebut, Anda harus mengevaluasi model untuk menentukan apakah model tersebut dapat langsung dikonversi. Evaluasi ini menentukan apakah konten model didukung oleh lingkungan runtime TensorFlow Lite standar berdasarkan operasi TensorFlow yang digunakannya. Jika model Anda menggunakan operasi di luar kumpulan yang didukung, Anda memiliki opsi untuk memfaktorkan ulang model atau menggunakan teknik konversi lanjutan.
Diagram di bawah menunjukkan langkah-langkah tingkat tinggi dalam mengonversi model.
Gambar 1. Alur kerja konversi TensorFlow Lite.
Bagian berikut menguraikan proses evaluasi dan konversi model untuk digunakan dengan TensorFlow Lite.
Format model input
Anda dapat menggunakan pengonversi dengan format model input berikut:
- SavedModel (direkomendasikan): Model TensorFlow yang disimpan sebagai kumpulan file pada disk.
- Keras model: Model yang dibuat menggunakan Keras API tingkat tinggi.
- Format Keras H5: Alternatif ringan untuk formatSavedModel yang didukung oleh Keras API.
- Model yang dibuat dari fungsi konkret: Model yang dibuat menggunakan TensorFlow API tingkat rendah.
Anda dapat menyimpan model fungsi Keras dan konkret sebagaiSavedModel dan melakukan konversi menggunakan jalur yang direkomendasikan.
Jika memiliki model Jax, Anda dapat menggunakan TFLiteConverter.experimental_from_jax
API untuk mengonversinya ke format TensorFlow Lite. Perlu diperhatikan bahwa API ini dapat
berubah saat dalam mode eksperimental.
Evaluasi konversi
Mengevaluasi model Anda merupakan langkah penting sebelum mencoba mengonversinya. Saat mengevaluasi, Anda ingin menentukan apakah konten model Anda kompatibel dengan format TensorFlow Lite. Anda juga harus menentukan apakah model Anda cocok untuk digunakan pada perangkat seluler dan edge dari segi ukuran data yang digunakan model, persyaratan pemrosesan hardware-nya, serta ukuran dan kompleksitas model secara keseluruhan.
Untuk banyak model, konverter seharusnya dapat langsung berfungsi. Namun, library operator bawaan TensorFlow Lite mendukung subset operator inti TensorFlow, yang berarti beberapa model mungkin memerlukan langkah tambahan sebelum dikonversi ke TensorFlow Lite. Selain itu, beberapa operasi yang didukung oleh TensorFlow Lite telah membatasi persyaratan penggunaan karena alasan performa. Lihat panduan kompatibilitas operator untuk menentukan apakah model Anda perlu difaktorkan ulang untuk menghasilkan konversi.
Konversi model
Konverter TensorFlow Lite mengambil model TensorFlow dan menghasilkan model TensorFlow Lite (format FlatBuffer yang dioptimalkan yang diidentifikasi oleh ekstensi file .tflite
). Anda dapat memuat SaveModel atau langsung mengonversi model yang Anda buat dalam kode.
Konverter mengambil 3 flag (atau opsi) utama yang menyesuaikan konversi untuk model Anda:
- Tanda kompatibilitas memungkinkan Anda menentukan apakah konversi harus mengizinkan operator kustom.
- Tanda pengoptimalan memungkinkan Anda menentukan jenis pengoptimalan yang akan diterapkan selama konversi. Teknik pengoptimalan yang paling umum digunakan adalah kuantisasi pasca-pelatihan.
- Flag metadata memungkinkan Anda menambahkan metadata ke model yang dikonversi, sehingga mempermudah pembuatan kode wrapper khusus platform saat men-deploy model di perangkat.
Anda dapat mengonversi model menggunakan Python API atau alat Command line. Lihat panduan Mengonversi model TF untuk mengetahui petunjuk langkah demi langkah cara menjalankan konverter pada model Anda.
Biasanya, Anda akan mengonversi model untuk lingkungan runtime TensorFlow Lite standar atau lingkungan runtime layanan Google Play untuk TensorFlow Lite (Beta). Beberapa kasus penggunaan lanjutan memerlukan penyesuaian lingkungan runtime model, yang memerlukan langkah tambahan dalam proses konversi. Lihat bagian lingkungan runtime lanjutan pada ringkasan Android untuk panduan lebih lanjut.
Konversi lanjutan
Jika mengalami error saat menjalankan pengonversi pada model Anda, kemungkinan besar Anda mengalami masalah kompatibilitas operator. Tidak semua operasi TensorFlow didukung oleh TensorFlow Lite. Anda dapat mengatasi masalah ini dengan memfaktorkan ulang model, atau dengan menggunakan opsi konversi lanjutan yang memungkinkan Anda membuat model format TensorFlow Lite yang dimodifikasi dan lingkungan runtime kustom untuk model tersebut.
- Lihat Ringkasan kompatibilitas model untuk mengetahui informasi selengkapnya tentang pertimbangan kompatibilitas model TensorFlow dan TensorFlow Lite.
- Topik dalam ringkasan Kompatibilitas model mencakup teknik lanjutan untuk pemfaktoran ulang model, misalnya panduan Pilih operator.
- Untuk daftar lengkap operasi dan batasan, lihat halaman TensorFlow Lite Ops.
Langkah berikutnya
- Lihat panduan mengonversi model TF untuk mulai mengonversi model dengan cepat.
- Lihat ringkasan pengoptimalan untuk mengetahui panduan cara mengoptimalkan model yang dikonversi menggunakan teknik seperti kuantisasi pasca-pelatihan.
- Lihat Ringkasan menambahkan metadata untuk mempelajari cara menambahkan metadata ke model Anda. Metadata memberikan deskripsi lain tentang model Anda serta informasi yang dapat dimanfaatkan oleh generator kode.