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

Các mô hình học máy (ML) mà bạn sử dụng với TensorFlow Lite ban đầu được xây dựng và đào tạo bằng cách sử dụng các công cụ và thư viện cốt lõi của TensorFlow. Khi bạn đã xây dựng một mô hình với lõi TensorFlow, bạn có thể chuyển đổi nó 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 để 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ể mất một vài con đường tùy thuộc vào nội dung của mô hình ML của bạn. Bước đầu tiên của quá trình đó, bạn nên đánh giá mô hình của mình để xác định xem 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 hoạt động bên ngoài nhóm đượ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.

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

Luồng công việc 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ả mô hình Keras và chức năng cụ thể dưới dạng SavedModel và chuyển đổi bằng cách sử dụng đường dẫn được gợi ý.

Nếu bạn 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 cố gắng chuyển đổi nó. Khi đánh giá, bạn muốn xác định xem nội dung của mô hình 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ị cạnh hay không về kích thước dữ liệu mà mô hình sử dụng, các yêu cầu xử lý phần cứng của mô hình 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 mô hình, bộ chuyển đổi sẽ hoạt động tốt. Tuy nhiên, thư viện toán tử nội trang 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ố hoạt động được TensorFlow Lite hỗ trợ đã hạn chế các yêu cầu sử dụng 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

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

Bộ chuyển đổi có 3 cờ chính (hoặc tùy chọn) để 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 để á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à quanitization 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 dễ dàng tạo mã trình bao bọc dành riêng cho nền tảng 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 cách sử dụng API Python hoặc công cụ Dòng lệnh . Xem hướng dẫn mô hình Chuyển đổi TF để biết hướng dẫn từng bước về cách chạy trình 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, môi trường này 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 để biết thêm hướng dẫn.

Chuyển đổi nâng cao

Nếu bạn gặp lỗi khi chạy trình 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 TensorFlow đều được TensorFlow Lite hỗ trợ. Bạn có thể giải quyết các vấn đề này bằng cách cấu trúc lại 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 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 để cấu trúc lại 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 thao tác và giới hạn, hãy xem trang TensorFlow Lite Ops .

Bước tiếp theo