Ikhtisar konversi model

Model pembelajaran mesin (ML) yang Anda gunakan dengan TensorFlow Lite awalnya dibuat dan dilatih menggunakan pustaka dan alat inti TensorFlow. Setelah membuat model dengan inti TensorFlow, Anda dapat mengonversinya ke format model ML yang lebih kecil dan efisien yang disebut model TensorFlow Lite. Bagian ini memberikan panduan untuk mengonversi model TensorFlow Anda ke format model TensorFlow Lite.

Alur kerja konversi

Mengonversi model TensorFlow ke format TensorFlow Lite memerlukan beberapa cara bergantung pada konten model ML Anda. Sebagai langkah pertama dari proses tersebut, Anda harus mengevaluasi model Anda untuk menentukan apakah model tersebut dapat dikonversi secara langsung. 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 Anda atau menggunakan teknik konversi tingkat lanjut.

Diagram di bawah menunjukkan langkah-langkah tingkat tinggi dalam mengonversi model.

Alur kerja konversi TFLite

Gambar 1. Alur kerja konversi TensorFlow Lite.

Bagian berikut menguraikan proses evaluasi dan konversi model untuk digunakan dengan TensorFlow Lite.

Format model masukan

Anda dapat menggunakan konverter dengan format model input berikut:

Anda dapat menyimpan model fungsi Keras dan beton sebagai SavedModel dan mengonversinya menggunakan jalur yang direkomendasikan.

Jika Anda memiliki model Jax, Anda dapat menggunakan API TFLiteConverter.experimental_from_jax untuk mengonversinya ke format TensorFlow Lite. Perlu diperhatikan bahwa API ini dapat berubah saat berada dalam mode eksperimental.

Evaluasi konversi

Mengevaluasi model Anda merupakan langkah penting sebelum mencoba mengubahnya. 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 dalam hal ukuran data yang digunakan model, persyaratan pemrosesan perangkat kerasnya, serta ukuran dan kompleksitas model secara keseluruhan.

Untuk banyak model, konverter seharusnya dapat berfungsi dengan baik. Namun, pustaka operator bawaan TensorFlow Lite mendukung subset operator inti TensorFlow, yang berarti beberapa model mungkin memerlukan langkah tambahan sebelum mengonversi ke TensorFlow Lite. Selain itu, beberapa operasi yang didukung oleh TensorFlow Lite 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 TensorFlow Lite menggunakan model TensorFlow dan menghasilkan model TensorFlow Lite (format FlatBuffer yang dioptimalkan yang diidentifikasi dengan ekstensi file .tflite ). Anda dapat memuat SavedModel atau langsung mengonversi model yang Anda buat dalam kode.

Konverter mengambil 3 tanda (atau opsi) utama yang menyesuaikan konversi untuk model Anda:

  1. Tanda kompatibilitas memungkinkan Anda menentukan apakah konversi harus mengizinkan operator khusus.
  2. Tanda pengoptimalan memungkinkan Anda menentukan jenis pengoptimalan yang akan diterapkan selama konversi. Teknik optimasi yang paling umum digunakan adalah kuanitisasi pasca pelatihan .
  3. Tanda metadata memungkinkan Anda menambahkan metadata ke model yang dikonversi sehingga memudahkan pembuatan kode wrapper khusus platform saat menerapkan model pada perangkat.

Anda dapat mengonversi model Anda menggunakan API Python atau alat baris Perintah . Lihat panduan Konversi model TF untuk petunjuk langkah demi langkah dalam 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 tingkat lanjut memerlukan penyesuaian lingkungan runtime model, yang memerlukan langkah tambahan dalam proses konversi. Lihat bagian lingkungan runtime lanjutan pada ikhtisar Android untuk panduan lebih lanjut.

Konversi tingkat lanjut

Jika Anda mengalami kesalahan saat menjalankan konverter 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 Anda, atau dengan menggunakan opsi konversi lanjutan yang memungkinkan Anda membuat model format TensorFlow Lite yang dimodifikasi dan lingkungan runtime kustom untuk model tersebut.

Langkah selanjutnya