Bỏ để qua phần nội dung

Hướng dẫn về YOLOv8 Mô hình xuất sang TFLite để triển khai

Biểu trưng TFLite

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 Ultralytics YOLOv8 Mô hì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 dễ dàng hoạt động tốt hơn trên các thiết bị cạnh khác nhau.

Tại sao bạn nên xuất sang TFLite?

Được Google giới thiệu 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 Linux, Android, iOS và MCU nhúng. 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

Before we look at the code for exporting YOLOv8 models to the TFLite format, let's understand how TFLite models are normally used.

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ả ứng dụng Android và iOS với TFLite đều 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 đối tượng. TFLite cũng cung cấp các thư viện iOS gốc được viết bằng SwiftObjective-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 trên nền tảng Android và iOS bằng cách sử dụng TensorFlow Lite.

Kiến trúc

  • 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 của bạn YOLOv8 Mẫu

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:

Cài đặt

# Install the required package for YOLOv8
pip install ultralytics

Để biết hướng dẫn chi tiết và các phương pháp hay nhất liên quan đến quá trình cài đặt, hãy kiểm tra Ultralytics Hướng dẫn cài đặt. Trong khi cài đặt các gói cần thiết cho YOLOv8, 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 đi sâu vào hướng dẫn sử dụng, điều quan trọng cần lưu ý là trong khi tất cả Ultralytics YOLOv8 Các mô hình có sẵn để xuất, bạn có thể đảm bảo rằng mô hình bạn chọn hỗ trợ chức năng xuất tại đây.

Sử dụng

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

# Export the model to TFLite format
model.export(format="tflite")  # creates 'yolov8n_float32.tflite'

# Load the exported TFLite model
tflite_model = YOLO("yolov8n_float32.tflite")

# Run inference
results = tflite_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to TFLite format
yolo export model=yolov8n.pt format=tflite  # creates 'yolov8n_float32.tflite'

# Run inference with the exported model
yolo predict model='yolov8n_float32.tflite' source='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 xuất khẩu YOLOv8 Mô hình TFLite

Sau khi xuất thành công Ultralytics YOLOv8 mô hình sang định dạng TFLite, bây giờ bạn có thể triển khai chúng. Bước đầu tiên chính và được đề xuất để chạy mô hình TFLite là sử dụng YOLOPhương thức ("model.tflite"), như đã nêu trong đoạn mã sử dụng trước. Tuy nhiên, để biết hướng dẫn chuyên sâu về cách triển khai các mô hình TFLite của bạn trong nhiều cài đặt khác, hãy xem các tài nguyên sau:

  • Android: Hướng dẫn bắt đầu nhanh để tích hợp TensorFlow Gọn gàng vào các ứng dụng Android, 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 Các mô hình Lite trong các ứng dụng iOS, 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 YOLOv8 mô hình sang định dạng mô hình TFLite, bạn có thể cải thiện hiệu quả và tốc độ của YOLOv8 mô hình, làm cho chúng hiệu quả hơn và phù hợp với môi trường điện toán biên.

For further details on usage, visit the TFLite official documentation.

Ngoài ra, nếu bạn tò mò về người khác Ultralytics YOLOv8 Tích hợp, 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 và thông tin chi tiết hữu ích đang chờ bạn ở đó.



Created 2024-03-01, Updated 2024-06-10
Authors: glenn-jocher (5), abirami-vina (1)

Ý kiến