Trang này được dịch bởi Cloud Translation API.
Switch to English

Giảm kích thước nhị phân TensorFlow Lite

Tổng quat

Khi triển khai các mô hình cho các ứng dụng học máy trên thiết bị (ODML), điều quan trọng là phải nhận thức được bộ nhớ giới hạn khả dụng trên thiết bị di động. Kích thước nhị phân của mô hình có tương quan chặt chẽ với số lượng hoạt động được sử dụng trong mô hình. TensorFlow Lite cho phép bạn giảm kích thước nhị phân của mô hình bằng cách sử dụng các bản dựng có chọn lọc. Các bản dựng có chọn lọc bỏ qua các thao tác không sử dụng trong tập mô hình của bạn và tạo một thư viện nhỏ gọn chỉ với thời gian chạy và hạt nhân op cần thiết để mô hình chạy trên thiết bị di động của bạn.

Bản dựng có chọn lọc áp dụng trên ba thư viện hoạt động sau.

  1. Thư viện hoạt động tích hợp TensorFlow Lite
  2. Hoạt động tùy chỉnh của TensorFlow Lite
  3. Chọn thư viện hoạt động TensorFlow

Bảng dưới đây thể hiện tác động của các bản dựng có chọn lọc đối với một số trường hợp sử dụng phổ biến:

Tên Model Miền Kiến trúc đích (Các) kích thước tệp AAR
Mobilenet_1.0_224 (float) Phân loại hình ảnh armeabi-v7a tensorflow-lite.aar (296.635 byte)
arm64-v8a tensorflow-lite.aar (382.892 byte)
SPICE Trích xuất cao độ âm thanh 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-kinetics-400 Phân loại 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)

Các vấn đề / hạn chế đã biết

  1. Bản dựng có chọn lọc cho API C và phiên bản iOS hiện không được hỗ trợ.

Chọn lọc xây dựng TensorFlow Lite với Bazel

Phần này giả định rằng bạn đã tải xuống mã nguồn TensorFlow và thiết lập môi trường phát triển cục bộ cho Bazel.

Tạo tệp AAR cho dự án Android

Bạn có thể xây dựng các AAR TensorFlow Lite tùy chỉnh bằng cách cung cấp các đường dẫn tệp mô hình của bạn như sau.

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

Lệnh trên sẽ tạo tệp AAR bazel-bin/tmp/tensorflow-lite.aar cho các hoạt động tùy chỉnh và cài sẵn TensorFlow Lite; và tùy chọn, tạo tệp bazel-bin/tmp/tensorflow-lite-select-tf-ops.aar nếu các mô hình của bạn có hoạt động Chọn TensorFlow. Lưu ý rằng điều này xây dựng một AAR "béo" với một số kiến ​​trúc khác nhau; nếu bạn không cần tất cả chúng, hãy sử dụng tập hợp con phù hợp với môi trường triển khai của bạn.

Sử dụng nâng cao: Xây dựng với các hoạt động tùy chỉnh

Nếu bạn đã phát triển các mô hình Tensorflow Lite với các hoạt động tùy chỉnh, bạn có thể xây dựng chúng bằng cách thêm các cờ sau vào lệnh xây dựng:

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

Cờ tflite_custom_ops_srcs chứa các tệp nguồn của các hoạt động tùy chỉnh của bạn và cờ tflite_custom_ops_deps chứa các phụ thuộc để tạo các tệp nguồn đó. Lưu ý rằng các phụ thuộc này phải tồn tại trong repo TensorFlow.

Chọn lọc xây dựng TensorFlow Lite với Docker

Phần này giả định rằng bạn đã cài đặt Docker trên máy cục bộ của mình và xây dựng tệp docker TensorFlow Lite .

Tạo tệp AAR cho dự án Android

Tải xuống tập lệnh để xây dựng với Docker bằng cách chạy:

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

Sau đó, bạn có thể xây dựng TensorFlow Lite AAR tùy chỉnh bằng cách cung cấp các đường dẫn tệp mô hình của bạn như sau.

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

Cờ checkpoint là một cam kết, một nhánh hoặc một thẻ của kho lưu trữ TensorFlow mà bạn muốn kiểm tra trước khi xây dựng các thư viện. Lệnh trên sẽ tạo tệp AAR tensorflow-lite.aar cho hoạt động tùy chỉnh và cài sẵn TensorFlow Lite và tùy chọn tệp AAR tensorflow-lite-select-tf-ops.aar cho Chọn hoạt động TensorFlow trong thư mục hiện tại của bạn.

Thêm tệp AAR vào dự án

Thêm tệp AAR bằng cách nhập trực tiếp AAR vào dự án của bạn hoặc bằng cách xuất bản AAR tùy chỉnh vào kho lưu trữ Maven cục bộ của bạn . Lưu ý rằng bạn cũng phải thêm tệp AAR cho tensorflow-lite-select-tf-ops.aar nếu bạn tạo nó.