Tổng quan về chuyển đổi mô hình

Các mô hình máy học (ML) bạn sử dụng với TensorFlow Lite ban đầu được xây dựng và đào tạo bằng các công cụ và thư viện cốt lõi của TensorFlow. Sau khi xây dựng mô hình với lõi TensorFlow, bạn có thể chuyển đổi mô hình đó sang định dạng mô hình ML nhỏ hơn, hiệu quả hơn được gọi là mô hình TensorFlow Lite. Phần này cung cấp hướng dẫn cách chuyển đổi mô hình TensorFlow của bạn sang định dạng mô hình TensorFlow Lite.

Quy trình chuyển đổi

Việc chuyển đổi mô hình TensorFlow sang định dạng TensorFlow Lite có thể thực hiện một số đường dẫn tùy thuộc vào nội dung mô hình ML của bạn. Bước đầu tiên của quy trình đó, bạn nên đánh giá mô hình của mình để xác định xem liệu nó có thể được chuyển đổi trực tiếp hay không. Đánh giá này xác định xem nội dung của mô hình có được hỗ trợ bởi môi trường thời gian chạy TensorFlow Lite tiêu chuẩn hay không dựa trên các hoạt động TensorFlow mà nó sử dụng. Nếu mô hình của bạn sử dụng các thao tác bên ngoài tập hợp được hỗ trợ, bạn có tùy chọn cấu trúc lại mô hình của mình hoặc sử dụng các kỹ thuật chuyển đổi nâng cao.

Sơ đồ dưới đây cho thấy các bước cấp cao trong việc chuyển đổi mô hình.

Quy trình chuyển đổi TFLite

Hình 1. Quy trình chuyển đổi TensorFlow Lite.

Các phần sau đây phác thảo quá trình đánh giá và chuyển đổi các mô hình để sử dụng với TensorFlow Lite.

Định dạng mô hình đầu vào

Bạn có thể sử dụng trình chuyển đổi với các định dạng mô hình đầu vào sau:

Bạn có thể lưu cả Keras và mô hình hàm cụ thể dưới dạng SavingModel và chuyển đổi bằng đường dẫn được đề xuất.

Nếu có mô hình Jax, bạn có thể sử dụng API TFLiteConverter.experimental_from_jax để chuyển đổi nó sang định dạng TensorFlow Lite. Lưu ý rằng API này có thể thay đổi khi ở chế độ thử nghiệm.

Đánh giá chuyển đổi

Đánh giá mô hình của bạn là một bước quan trọng trước khi thử chuyển đổi nó. Khi đánh giá, bạn muốn xác định xem nội dung mô hình của bạn có tương thích với định dạng TensorFlow Lite hay không. Bạn cũng nên xác định xem mô hình của mình có phù hợp để sử dụng trên thiết bị di động và thiết bị biên hay không về kích thước dữ liệu mà mô hình sử dụng, yêu cầu xử lý phần cứng cũng như kích thước và độ phức tạp tổng thể của mô hình.

Đối với nhiều kiểu máy, bộ chuyển đổi sẽ hoạt động tốt. Tuy nhiên, thư viện toán tử dựng sẵn TensorFlow Lite hỗ trợ một tập hợp con các toán tử lõi TensorFlow, có nghĩa là một số mô hình có thể cần các bước bổ sung trước khi chuyển đổi sang TensorFlow Lite. Ngoài ra, một số thao tác được TensorFlow Lite hỗ trợ có yêu cầu sử dụng hạn chế vì lý do hiệu suất. Xem hướng dẫn về khả năng tương thích của nhà điều hành để xác định xem mô hình của bạn có cần được cấu trúc lại để chuyển đổi hay không.

Chuyển đổi mô hình

Trình chuyển đổi TensorFlow Lite lấy mô hình TensorFlow và tạo mô hình TensorFlow Lite (định dạng FlatBuffer được tối ưu hóa được xác định bởi phần mở rộng tệp .tflite ). Bạn có thể tải SavingModel hoặc chuyển đổi trực tiếp mô hình bạn tạo bằng mã.

Trình chuyển đổi có 3 cờ (hoặc tùy chọn) chính để tùy chỉnh chuyển đổi cho mô hình của bạn:

  1. Cờ tương thích cho phép bạn chỉ định liệu chuyển đổi có cho phép các toán tử tùy chỉnh hay không.
  2. Cờ tối ưu hóa cho phép bạn chỉ định loại tối ưu hóa sẽ áp dụng trong quá trình chuyển đổi. Kỹ thuật tối ưu hóa được sử dụng phổ biến nhất là lượng tử hóa sau đào tạo .
  3. Cờ siêu dữ liệu cho phép bạn thêm siêu dữ liệu vào mô hình đã chuyển đổi, giúp tạo mã trình bao bọc dành riêng cho nền tảng dễ dàng hơn khi triển khai mô hình trên thiết bị.

Bạn có thể chuyển đổi mô hình của mình bằng API Python hoặc công cụ dòng lệnh . Xem hướng dẫn chuyển đổi mô hình TF để biết hướng dẫn từng bước về cách chạy bộ chuyển đổi trên mô hình của bạn.

Thông thường, bạn sẽ chuyển đổi mô hình của mình cho môi trường thời gian chạy TensorFlow Lite tiêu chuẩn hoặc môi trường thời gian chạy dịch vụ Google Play cho TensorFlow Lite (Beta). Một số trường hợp sử dụng nâng cao yêu cầu tùy chỉnh môi trường thời gian chạy mô hình, yêu cầu các bước bổ sung trong quy trình chuyển đổi. Xem phần môi trường thời gian chạy nâng cao trong tổng quan về Android để được hướng dẫn thêm.

Chuyển đổi nâng cao

Nếu bạn gặp lỗi khi chạy bộ chuyển đổi trên mô hình của mình, rất có thể bạn gặp sự cố về khả năng tương thích của nhà điều hành. Không phải tất cả các hoạt động của TensorFlow đều được TensorFlow Lite hỗ trợ. Bạn có thể giải quyết những vấn đề này bằng cách tái cấu trúc mô hình của mình hoặc bằng cách sử dụng các tùy chọn chuyển đổi nâng cao cho phép bạn tạo mô hình định dạng TensorFlow Lite đã sửa đổi và môi trường thời gian chạy tùy chỉnh cho mô hình đó.

  • Xem phần Tổng quan về khả năng tương thích của mô hình để biết thêm thông tin về các cân nhắc về khả năng tương thích của mô hình TensorFlow và TensorFlow Lite.
  • Các chủ đề trong phần Tổng quan về khả năng tương thích của Mô hình bao gồm các kỹ thuật nâng cao để tái cấu trúc mô hình của bạn, chẳng hạn như hướng dẫn Chọn toán tử .
  • Để biết danh sách đầy đủ các hoạt động và giới hạn, hãy xem trang TensorFlow Lite Ops .

Bước tiếp theo