Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

Kurangi ukuran biner TensorFlow Lite

Gambaran

Saat menerapkan model untuk aplikasi pembelajaran mesin di perangkat (ODML), penting untuk menyadari keterbatasan memori yang tersedia di perangkat seluler. Ukuran biner model berkorelasi erat dengan jumlah operasi yang digunakan dalam model. TensorFlow Lite memungkinkan Anda mengurangi ukuran biner model dengan menggunakan build selektif. Build selektif melewatkan operasi yang tidak digunakan dalam kumpulan model Anda dan menghasilkan library yang ringkas hanya dengan runtime dan op kernel yang diperlukan agar model dapat berjalan di perangkat seluler Anda.

Build selektif berlaku pada tiga pustaka operasi berikut.

  1. Pustaka operasi bawaan TensorFlow Lite
  2. Operasi kustom TensorFlow Lite
  3. Pilih pustaka operasi TensorFlow

Tabel di bawah ini menunjukkan dampak build selektif untuk beberapa kasus penggunaan umum:

Nama model Domain Arsitektur target Ukuran file AAR
Mobilenet_1.0_224 (float) Klasifikasi gambar armeabi-v7a tensorflow-lite.aar (296.635 byte)
arm64-v8a tensorflow-lite.aar (382.892 byte)
MEMBUMBUI Ekstraksi nada suara armeabi-v7a tensorflow-lite.aar (375.813 byte)
tensorflow-lite-select-tf-ops.aar (1.676.380 byte)
arm64-v8a tensorflow-lite.aar (421.826 byte)
tensorflow-lite-select-tf-ops.aar (2.298.630 byte)
i3d-kinetika-400 Klasifikasi video armeabi-v7a tensorflow-lite.aar (240.085 byte)
tensorflow-lite-select-tf-ops.aar (1.708.597 byte)
arm64-v8a tensorflow-lite.aar (273.713 byte)
tensorflow-lite-select-tf-ops.aar (2.339.697 byte)

Masalah / batasan yang diketahui

  1. Build Selektif untuk C API dan versi iOS tidak didukung saat ini.

Buat TensorFlow Lite dengan Bazel secara selektif

Bagian ini mengasumsikan bahwa Anda telah mendownload kode sumber TensorFlow dan menyiapkan lingkungan pengembangan lokal ke Bazel.

Buat file AAR untuk proyek Android

Anda dapat membuat AAR TensorFlow Lite kustom dengan menyediakan jalur file model Anda sebagai berikut.

sh tensorflow/lite/tools/build_aar.sh \
  --input_models=/a/b/model_one.tflite,/c/d/model_two.tflite \
  --target_archs=x86,x86_64,arm64-v8a,armeabi-v7a

Perintah di atas akan menghasilkan file AAR bazel-bin/tmp/tensorflow-lite.aar untuk operasi bawaan dan kustom TensorFlow Lite; dan secara opsional, menghasilkan file aar bazel-bin/tmp/tensorflow-lite-select-tf-ops.aar jika model Anda berisi operasi Select TensorFlow. Perhatikan bahwa ini membangun AAR yang "gemuk" dengan beberapa arsitektur berbeda; jika Anda tidak membutuhkan semuanya, gunakan subset yang sesuai untuk lingkungan penerapan Anda.

Penggunaan Lanjutan: Dibangun dengan operasi khusus

Jika Anda telah mengembangkan model Tensorflow Lite dengan operasi kustom, Anda dapat membuatnya dengan menambahkan tanda berikut ke perintah build:

sh tensorflow/lite/tools/build_aar.sh \
  --input_models=/a/b/model_one.tflite,/c/d/model_two.tflite \
  --target_archs=x86,x86_64,arm64-v8a,armeabi-v7a \
  --tflite_custom_ops_srcs=/e/f/file1.cc,/g/h/file2.h \
  --tflite_custom_ops_deps=dep1,dep2

Bendera tflite_custom_ops_srcs berisi file sumber operasi kustom Anda dan tanda tflite_custom_ops_deps berisi dependensi untuk membuat file sumber tersebut. Perhatikan bahwa dependensi ini harus ada di repo TensorFlow.

Bangun TensorFlow Lite secara selektif dengan Docker

Bagian ini mengasumsikan bahwa Anda telah menginstal Docker di komputer lokal Anda dan membuat file buruh pelabuhan TensorFlow Lite .

Buat file AAR untuk proyek Android

Unduh skrip untuk membangun dengan Docker dengan menjalankan:

curl -o build_aar_with_docker.sh \
  https://raw.githubusercontent.com/tensorflow/tensorflow/master/tensorflow/lite/tools/build_aar_with_docker.sh &&
chmod +x build_aar_with_docker.sh

Kemudian, Anda dapat membuat TensorFlow Lite AAR kustom dengan menyediakan jalur file model Anda sebagai berikut.

sh build_aar_with_docker.sh \
  --input_models=/a/b/model_one.tflite,/c/d/model_two.tflite \
  --target_archs=x86,x86_64,arm64-v8a,armeabi-v7a \
  --checkpoint=master

Bendera checkpoint adalah komit, cabang, atau tag dari repo TensorFlow yang ingin Anda bayar sebelum membuat pustaka. Perintah di atas akan menghasilkan file AAR tensorflow-lite.aar untuk operasi bawaan dan kustom TensorFlow Lite, dan secara opsional, file AAR tensorflow-lite-select-tf-ops.aar untuk operasi Select TensorFlow di direktori Anda saat ini.

Tambahkan file AAR ke proyek

Tambahkan file AAR dengan langsung mengimpor AAR ke dalam proyek Anda , atau dengan menerbitkan AAR khusus ke repositori Maven lokal Anda . Perhatikan bahwa Anda harus menambahkan file AAR untuk tensorflow-lite-select-tf-ops.aar juga jika Anda membuatnya.