Hướng dẫn về Xuất mô hình YOLO11 sang TFLite để triển khai
Việc triển khai các mô hình thị giác máy tính trên các thiết bị biên hoặc thiết bị nhúng đòi hỏi một định dạng có thể đảm bảo hiệu suất liền mạch.
Các TensorFlow Định dạng xuất Lite hoặc TFLite cho phép bạn tối ưu hóa các mô hình Ultralytics YOLO11 của mình cho các tác vụ như phát hiện đối tượng và phân loại hình ảnh trong các ứng dụng dựa trên thiết bị biên. Trong hướng dẫn này, chúng tôi sẽ hướng dẫn các bước để chuyển đổi mô hình của bạn sang định dạng TFLite, giúp các mô hình của bạn hoạt động tốt hơn trên nhiều thiết bị biên khác nhau.
Tại sao bạn nên xuất sang TFLite?
Giới thiệu bởi Google vào tháng 5 năm 2017 như một phần của TensorFlow khuôn khổ TensorFlow Lite, hay viết tắt là TFLite, là một khung học tập sâu mã nguồn mở được thiết kế để suy luận trên thiết bị, còn được gọi là điện toán biên. Nó cung cấp cho các nhà phát triển các công cụ cần thiết để thực hiện các mô hình được đào tạo của họ trên các thiết bị di động, nhúng và IoT, cũng như các máy tính truyền thống.
TensorFlow Lite tương thích với nhiều nền tảng, bao gồm cả Linux nhúng, Android, iOSvà MCU. Xuất mô hình của bạn sang TFLite giúp các ứng dụng của bạn nhanh hơn, đáng tin cậy hơn và có khả năng chạy ngoại tuyến.
Các tính năng chính của mô hình TFLite
Các mô hình TFLite cung cấp một loạt các tính năng chính 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 các thiết bị di động, nhúng và biên:
Tối ưu hóa trên thiết bị: TFLite tối ưu hóa cho ML trên thiết bị, giảm độ trễ bằng cách xử lý dữ liệu cục bộ, tăng cường quyền riêng tư bằng cách không truyền dữ liệu cá nhân và giảm thiểu kích thước mô hình để tiết kiệm dung lượng.
Hỗ trợ nhiều nền tảng: TFLite cung cấp khả năng tương thích nền tảng rộng rãi, hỗ trợ Android, iOS, Linux nhúng và vi điều khiển.
Hỗ trợ ngôn ngữ đa dạng: TFLite tương thích với nhiều ngôn ngữ lập trình khác nhau, bao gồm Java, Swift, Objective-C, C ++ và Python.
Hiệu suất cao: Đạt được hiệu suất vượt trội thông qua tăng tốc phần cứng và tối ưu hóa mô hình.
Tùy chọn triển khai trong TFLite
Trước khi xem mã để xuất mô hình YOLO11 sang định dạng TFLite, chúng ta hãy tìm hiểu cách mô hình TFLite thường được sử dụng.
TFLite cung cấp các tùy chọn triển khai trên thiết bị khác nhau cho các mô hình học máy, bao gồm:
- Triển khai với Android và iOS:Cả hai Android và iOS các ứng dụng với TFLite có thể phân tích nguồn cấp dữ liệu và cảm biến camera dựa trên cạnh để phát hiện và xác định các đối tượng. TFLite cũng cung cấp bản địa iOS thư viện được viết bằng Swift và Objective-C. Sơ đồ kiến trúc dưới đây cho thấy quá trình triển khai một mô hình được đào tạo lên Android và iOS Nền tảng sử dụng TensorFlow Lite.
Triển khai với Linux nhúng: Nếu chạy suy luận trên Raspberry Pi bằng cách sử dụng Ultralytics Hướng dẫn không đáp ứng các yêu cầu về tốc độ cho trường hợp sử dụng của bạn, bạn có thể sử dụng mô hình TFLite đã xuất để tăng tốc thời gian suy luận. Ngoài ra, có thể cải thiện hiệu suất hơn nữa bằng cách sử dụng Cạnh san hô TPU thiết bị.
Triển khai với vi điều khiển: Các mô hình TFLite cũng có thể được triển khai trên vi điều khiển và các thiết bị khác chỉ với vài kilobyte bộ nhớ. Thời gian chạy lõi chỉ phù hợp với 16 KB trên Arm Cortex M3 và có thể chạy nhiều mô hình cơ bản. Nó không yêu cầu hỗ trợ hệ điều hành, bất kỳ thư viện C hoặc C ++ tiêu chuẩn nào hoặc phân bổ bộ nhớ động.
Xuất sang TFLite: Chuyển đổi mô hình YOLO11 của bạn
Bạn có thể cải thiện hiệu quả thực thi mô hình trên thiết bị và tối ưu hóa hiệu suất bằng cách chuyển đổi chúng sang định dạng TFLite.
Cài đặt
Để cài đặt các gói cần thiết, hãy chạy:
Để biết hướng dẫn chi tiết và các biện pháp thực hành tốt nhất liên quan đến quy trình cài đặt, hãy xem hướng dẫn Cài đặt Ultralytics của chúng tôi. Trong khi cài đặt các gói cần thiết cho YOLO11, nếu bạn gặp bất kỳ khó khăn nào, hãy tham khảo hướng dẫn Các vấn đề thường gặp của chúng tôi để biết các giải pháp và mẹo.
Sử dụng
Trước khi tìm hiểu hướng dẫn sử dụng, điều quan trọng cần lưu ý là mặc dù tất cả các mẫu Ultralytics YOLO11 đều có thể xuất, nhưng bạn có thể đảm bảo rằng mẫu bạn chọn có hỗ trợ chức năng xuất tại đây .
Sử dụng
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TFLite format
model.export(format="tflite") # creates 'yolo11n_float32.tflite'
# Load the exported TFLite model
tflite_model = YOLO("yolo11n_float32.tflite")
# Run inference
results = tflite_model("https://ultralytics.com/images/bus.jpg")
Để biết thêm chi tiết về quy trình xuất, hãy truy cập Ultralytics trang tài liệu về xuất khẩu.
Triển khai các mô hình YOLO11 TFLite đã xuất
Sau khi xuất thành công Ultralytics Các mô hình YOLO11 sang định dạng TFLite, giờ đây bạn có thể triển khai chúng. Bước đầu tiên chính và được khuyến nghị để chạy mô hình TFLite là sử dụng YOLO ("model.tflite"), như đã nêu trong đoạn mã sử dụng trước đó. Tuy nhiên, để biết hướng dẫn chi tiết về việc triển khai các mô hình TFLite của bạn trong nhiều cài đặt khác nhau, hãy xem các tài nguyên sau:
Android : Hướng dẫn bắt đầu nhanh để tích hợp TensorFlow Lite vào Android ứng dụng, cung cấp các bước dễ thực hiện để thiết lập và chạy các mô hình học máy .
iOS: Xem hướng dẫn chi tiết này dành cho các nhà phát triển về tích hợp và triển khai TensorFlow Mô hình Lite trong iOS các ứng dụng, cung cấp hướng dẫn và tài nguyên từng bước.
Ví dụ từ đầu đến cuối: Trang này cung cấp tổng quan về nhiều loại khác nhau TensorFlow Ví dụ nhỏ, giới thiệu các ứng dụng và hướng dẫn thực tế được thiết kế để giúp các nhà phát triển triển khai TensorFlow Lite trong các dự án học máy của họ trên thiết bị di động và thiết bị biên.
Tóm tắt
Trong hướng dẫn này, chúng tôi tập trung vào cách xuất sang định dạng TFLite. Bằng cách chuyển đổi Ultralytics Từ các mô hình YOLO11 sang định dạng mô hình TFLite, bạn có thể cải thiện hiệu quả và tốc độ của các mô hình YOLO11, giúp chúng hiệu quả hơn và phù hợp hơn với môi trường điện toán biên .
Để biết thêm chi tiết về cách sử dụng, hãy truy cập tài liệu chính thức của TFLite.
Ngoài ra, nếu bạn tò mò về những điều khác Ultralytics Tích hợp YOLO11, hãy nhớ xem trang hướng dẫn tích hợp của chúng tôi. Bạn sẽ tìm thấy rất nhiều thông tin hữu ích và hiểu biết sâu sắc đang chờ bạn ở đó.
FAQ
Làm thế nào để xuất mô hình YOLO11 sang định dạng TFLite?
Để xuất mô hình YOLO11 sang định dạng TFLite, bạn có thể sử dụng Ultralytics thư viện. Đầu tiên, cài đặt gói cần thiết bằng cách sử dụng:
Sau đó, sử dụng đoạn mã sau để xuất mô hình của bạn:
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TFLite format
model.export(format="tflite") # creates 'yolo11n_float32.tflite'
Cho CLI Người dùng, bạn có thể đạt được điều này với:
Để biết thêm chi tiết, hãy truy cập Ultralytics Hướng dẫn xuất khẩu.
Lợi ích của việc sử dụng là gì? TensorFlow Lite cho việc triển khai mô hình YOLO11?
TensorFlow Lite (TFLite) là một khuôn khổ học sâu mã nguồn mở được thiết kế để suy luận trên thiết bị, khiến nó trở nên lý tưởng để triển khai các mô hình YOLO11 trên các thiết bị di động, nhúng và IoT. Các lợi ích chính bao gồm:
- Tối ưu hóa trên thiết bị: Giảm thiểu độ trễ và tăng cường quyền riêng tư bằng cách xử lý dữ liệu cục bộ.
- Khả năng tương thích nền tảng: Hỗ trợ Android, iOS, Linux nhúng và MCU.
- Hiệu suất: Sử dụng khả năng tăng tốc phần cứng để tối ưu hóa tốc độ và hiệu quả của mô hình.
Để tìm hiểu thêm, hãy xem hướng dẫn TFLite.
Có thể chạy mô hình YOLO11 TFLite trên Raspberry Pi không?
Có, bạn có thể chạy các mô hình YOLO11 TFLite trên Raspberry Pi để cải thiện tốc độ suy luận. Đầu tiên, xuất mô hình của bạn sang định dạng TFLite như đã giải thích ở đây . Sau đó, sử dụng một công cụ như TensorFlow Lite Interpreter để thực thi mô hình trên Raspberry Pi của bạn.
Để tối ưu hóa thêm, bạn có thể cân nhắc sử dụng Cạnh san hô TPU. Để biết các bước chi tiết, hãy tham khảo hướng dẫn triển khai Raspberry Pi của chúng tôi.
Tôi có thể sử dụng mô hình TFLite trên vi điều khiển để dự đoán YOLO11 không?
Có, TFLite hỗ trợ triển khai trên các bộ vi điều khiển có tài nguyên hạn chế. Thời gian chạy lõi của TFLite chỉ cần 16 KB bộ nhớ trên Arm Cortex M3 và có thể chạy các mô hình YOLO11 cơ bản. Điều này làm cho nó phù hợp để triển khai trên các thiết bị có công suất tính toán và bộ nhớ tối thiểu.
Để bắt đầu, hãy truy cập hướng dẫn TFLite Micro for Microcontrollers.
Những nền tảng nào tương thích với các mẫu YOLO11 được xuất khẩu của TFLite?
TensorFlow Lite cung cấp khả năng tương thích nền tảng rộng rãi, cho phép bạn triển khai các mô hình YOLO11 trên nhiều loại thiết bị, bao gồm:
- Android và iOS: Hỗ trợ gốc thông qua TFLite Android và iOS Thư viện.
- Linux nhúng: Lý tưởng cho các máy tính bảng đơn như Raspberry Pi.
- Vi điều khiển: Thích hợp cho MCU có tài nguyên hạn chế.
Để biết thêm thông tin về các tùy chọn triển khai, hãy xem hướng dẫn triển khai chi tiết của chúng tôi.
Làm thế nào để khắc phục sự cố thường gặp trong quá trình xuất mô hình YOLO11 sang TFLite?
Nếu bạn gặp lỗi khi xuất mô hình YOLO11 sang TFLite, các giải pháp phổ biến bao gồm:
- Kiểm tra tính tương thích của gói: Đảm bảo bạn đang sử dụng các phiên bản tương thích của Ultralytics và TensorFlow. Tham khảo hướng dẫn cài đặt của chúng tôi.
- Hỗ trợ mô hình : Xác minh rằng mô hình YOLO11 cụ thể hỗ trợ xuất TFLite bằng cách kiểm tra tại đây .
Để biết thêm mẹo khắc phục sự cố, hãy truy cập hướng dẫn về các vấn đề thường gặp của chúng tôi.