TensorFlow Lite

TensorFlow Lite là một bộ công cụ cho phép học máy trên thiết bị bằng cách giúp các nhà phát triển chạy mô hình của họ trên thiết bị di động, nhúng và thiết bị cạnh.

Các tính năng chính

  • Được tối ưu hóa cho máy học trên thiết bị , bằng cách giải quyết 5 hạn chế chính: độ trễ (không có chuyến đi khứ hồi đến máy chủ), quyền riêng tư (không có dữ liệu cá nhân rời khỏi thiết bị), kết nối (không cần kết nối internet), kích thước (kiểu máy giảm và kích thước nhị phân) và tiêu thụ điện năng (suy luận hiệu quả và thiếu kết nối mạng).
  • Hỗ trợ nhiều nền tảng , bao gồm các thiết bị AndroidiOS , Linux nhúngvi điều khiển .
  • Hỗ trợ đa dạng ngôn ngữ , bao gồm Java, Swift, Objective-C, C ++ và Python.
  • Hiệu suất cao , với khả năng tăng tốc phần cứngtối ưu hóa mô hình .
  • Ví dụ từ đầu đến cuối , cho các tác vụ học máy phổ biến như phân loại hình ảnh, phát hiện đối tượng, ước tính tư thế, trả lời câu hỏi, phân loại văn bản, v.v. trên nhiều nền tảng.

Phát triển quy trình làm việc

Hướng dẫn sau đi qua từng bước của quy trình làm việc và cung cấp các liên kết đến các hướng dẫn thêm:

1. Tạo mô hình TensorFlow Lite

Mô hình TensorFlow Lite được thể hiện ở định dạng di động hiệu quả đặc biệt được gọi là FlatBuffers (được xác định bằng phần mở rộng tệp .tflite ). Điều này cung cấp một số lợi thế so với định dạng mô hình bộ đệm giao thức của TensorFlow như giảm kích thước (dấu chân mã nhỏ) và suy luận nhanh hơn (dữ liệu được truy cập trực tiếp mà không cần thêm bước phân tích / giải nén) cho phép TensorFlow Lite thực thi hiệu quả trên các thiết bị có tài nguyên bộ nhớ và máy tính hạn chế .

Mô hình TensorFlow Lite có thể tùy chọn bao gồm siêu dữ liệu có mô tả mô hình có thể đọc được của con người và dữ liệu có thể đọc của máy móc để tạo tự động các đường ống xử lý trước và sau trong quá trình suy luận trên thiết bị. Tham khảo Thêm siêu dữ liệu để biết thêm chi tiết.

Bạn có thể tạo mô hình TensorFlow Lite theo những cách sau:

  • Sử dụng mô hình TensorFlow Lite hiện có: Tham khảo Ví dụ về TensorFlow Lite để chọn mô hình hiện có. Mô hình có thể có hoặc không chứa siêu dữ liệu.

  • Tạo mô hình TensorFlow Lite: Sử dụng Trình tạo mô hình TensorFlow Lite để tạo mô hình với tập dữ liệu tùy chỉnh của riêng bạn. Theo mặc định, tất cả các mô hình đều chứa siêu dữ liệu.

  • Chuyển đổi mô hình TensorFlow thành mô hình TensorFlow Lite: Sử dụng TensorFlow Lite Converter để chuyển đổi mô hình TensorFlow thành mô hình TensorFlow Lite. Trong quá trình chuyển đổi, bạn có thể áp dụng các tối ưu hóa như lượng tử hóa để giảm kích thước và độ trễ của mô hình với độ chính xác tối thiểu hoặc không bị mất. Theo mặc định, tất cả các mô hình không chứa siêu dữ liệu.

2. Chạy suy luận

Suy luận đề cập đến quá trình thực thi mô hình TensorFlow Lite trên thiết bị để đưa ra dự đoán dựa trên dữ liệu đầu vào. Bạn có thể chạy suy luận theo những cách sau dựa trên loại mô hình:

Trên thiết bị Android và iOS, bạn có thể cải thiện hiệu suất bằng cách sử dụng tăng tốc phần cứng. Trên cả hai nền tảng, bạn có thể sử dụng GPU Delegate , trên Android, bạn có thể sử dụng NNAPI Delegate (cho các thiết bị mới hơn) hoặc Hexagon Delegate (trên các thiết bị cũ hơn) và trên iOS, bạn có thể sử dụng Core ML Delegate . Để thêm hỗ trợ cho các trình tăng tốc phần cứng mới, bạn có thể xác định đại biểu của riêng mình .

Bắt đầu

Bạn có thể tham khảo các hướng dẫn sau dựa trên thiết bị mục tiêu của mình:

  • Android và iOS: Khám phá khởi động nhanh Android và khởi động nhanh iOS .

  • Embedded Linux: Khám phá phần khởi động nhanh Python cho các thiết bị nhúng như thiết bị Raspberry PiCoral với Edge TPU hoặc hướng dẫn xây dựng C ++ cho ARM .

  • Bộ vi điều khiển: Khám phá thư viện TensorFlow Lite dành cho Bộ vi điều khiển dành cho bộ vi điều khiển và DSP chỉ chứa một vài kilobyte bộ nhớ.

Ràng buộc kỹ thuật

  • Tất cả các mô hình TensorFlow không thể được chuyển đổi thành mô hình TensorFlow Lite , hãy tham khảo Khả năng tương thích của nhà điều hành .

  • Tuy nhiên, chương trình đào tạo trên thiết bị không được hỗ trợ đã có trong Lộ trình của chúng tôi.