Ringkasan konversi model

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.

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 input

Anda dapat menggunakan pengonversi dengan format model input berikut:

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:

  1. Tanda kompatibilitas memungkinkan Anda menentukan apakah konversi harus mengizinkan operator kustom.
  2. Tanda pengoptimalan memungkinkan Anda menentukan jenis pengoptimalan yang akan diterapkan selama konversi. Teknik pengoptimalan yang paling umum digunakan adalah kuantisasi pasca-pelatihan.
  3. 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