Model machine learning (ML) yang Anda gunakan dengan LiteRT awalnya yang dibangun dan dilatih menggunakan library dan alat inti TensorFlow. Setelah Anda membangun dengan TensorFlow core, Anda bisa mengonversinya ke model format model ML efisien yang disebut model LiteRT. Bagian ini memberikan panduan untuk melakukan konversi model TensorFlow ke format model LiteRT.
Alur kerja konversi
Konversi model TensorFlow ke format LiteRT dapat memerlukan beberapa jalur tergantung pada isi 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 LiteRT standar berdasarkan operasi TensorFlow yang digunakannya. Jika model Anda menggunakan operasi di luar kumpulan yang didukung, Anda harus 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 LiteRT.
Bagian berikut menguraikan proses mengevaluasi dan mengonversi model untuk digunakan dengan LiteRT.
Format model input
Anda dapat menggunakan pengonversi dengan format model input berikut:
- SavedModel (direkomendasikan): Model TensorFlow yang disimpan sebagai kumpulan file di disk.
- Model Keras: Model yang dibuat menggunakan Keras API level tinggi.
- Format Keras H5: Alternatif ringan untuk format SaveModel 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 model konkret sebagai SaveModel dan melakukan konversi menggunakan jalur yang direkomendasikan.
Jika memiliki model Jax, Anda dapat menggunakan TFLiteConverter.experimental_from_jax
API untuk mengonversinya ke format LiteRT. Perhatikan bahwa API ini tunduk
untuk 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 LiteRT. Anda juga harus menentukan apakah model Anda sesuai untuk digunakan pada perangkat seluler dan edge dalam hal ukuran data yang digunakan model, persyaratan pemrosesan perangkat kerasnya, dan ukuran keseluruhan model serta kompleksitas performa yang signifikan.
Pada banyak model, konverter akan dapat langsung difungsikan. Namun, Library operator bawaan LiteRT mendukung subset Operator inti TensorFlow, yang berarti beberapa model mungkin memerlukan langkah sebelum mengonversi ke LiteRT. Selain itu, beberapa operasi yang didukung oleh LiteRT memiliki persyaratan penggunaan yang dibatasi karena alasan performa. Lihat Panduan kompatibilitas operator untuk menentukan apakah model Anda perlu difaktorkan ulang untuk konversi.
Konversi model
Konverter LiteRT mengambil model TensorFlow dan menghasilkan
Model LiteRT (sebuah model
Format FlatBuffer yang diidentifikasi oleh
ekstensi file .tflite
). Anda dapat memuat
SaveModel atau langsung mengonversi model yang Anda buat dalam kode.
Pengonversi mengambil 3 tanda utama (atau opsi) yang menyesuaikan konversi untuk model Anda:
- Tanda kompatibilitas memungkinkan Anda menentukan apakah konversi harus mengizinkan operator kustom atau tidak.
- 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 yang 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 langkah demi langkah instruksi untuk menjalankan konverter pada model Anda.
Biasanya Anda akan mengonversi model untuk LiteRT standar lingkungan runtime atau Lingkungan runtime layanan Google Play untuk LiteRT (Beta). Beberapa kasus penggunaan lanjutan memerlukan kustomisasi lingkungan runtime model, yang memerlukan langkah tambahan dalam proses konversi. Lihat bagian lingkungan runtime lanjutan pada Android ikhtisar untuk panduan selengkapnya.
Konversi lanjutan
Jika Anda mengalami error saat menjalankan konverter pada model Anda, kemungkinan besar Anda memiliki masalah kompatibilitas operator. Tidak semua operasi TensorFlow didukung oleh TensorFlow Ringan. Anda dapat mengatasi masalah ini dengan memfaktorkan ulang model, atau menggunakan opsi konversi lanjutan yang memungkinkan Anda membuat LiteRT yang dimodifikasi dan lingkungan runtime kustom untuk model tersebut.
- Lihat Ringkasan kompatibilitas model untuk mengetahui informasi selengkapnya tentang kompatibilitas model TensorFlow dan LiteRT pertimbangan.
- Topik pada Ringkasan kompatibilitas model mencakup teknik lanjutan untuk memfaktorkan ulang model, seperti operator Pilih kami.
- Untuk daftar lengkap operasi dan batasan, lihat Halaman Operasi LiteRT.
Langkah berikutnya
- Lihat panduan mengonversi model TF untuk mulai menggunakan mengonversi model.
- Lihat ringkasan pengoptimalan untuk panduan mengenai cara mengoptimalkan model yang dikonversi menggunakan teknik seperti kuantisasi pasca-pelatihan.
- Lihat Menambahkan ringkasan metadata untuk mempelajari cara menambahkan metadata ke model Anda. Metadata memberikan deskripsi lain tentang model Anda sebagai informasi yang dapat dimanfaatkan oleh generator kode.