Ultralytics YOLO27:
Get Started

Tìm hiểu cách xuất model YOLO26 sang định dạng TFLite Edge TPU#

Việc triển khai model thị giác máy tính trên các thiết bị có năng lực tính toán hạn chế, chẳng hạn như hệ thống di động hoặc nhúng, có thể phức tạp. Sử dụng định dạng model được tối ưu hóa để tăng tốc hiệu năng sẽ đơn giản hóa quy trình. Định dạng model TensorFlow Lite Edge TPU, hay TFLite Edge TPU, được thiết kế để tiêu thụ ít điện năng mà vẫn mang lại hiệu năng nhanh cho mạng neural.

Tính năng xuất sang định dạng TFLite Edge TPU cho phép bạn tối ưu hóa model Ultralytics YOLO26 để suy luận tốc độ cao và tiêu thụ ít điện năng. Trong hướng dẫn này, chúng tôi sẽ chỉ cách chuyển đổi model sang định dạng TFLite Edge TPU, giúp model hoạt động hiệu quả hơn trên nhiều thiết bị di động và thiết bị nhúng.

Tại sao nên xuất sang TFLite Edge TPU?#

Xuất model sang TensorFlow Edge TPU giúp các tác vụ machine learning chạy nhanh và hiệu quả. Công nghệ này phù hợp với các ứng dụng có nguồn điện, tài nguyên tính toán và kết nối hạn chế. Edge TPU là accelerator phần cứng của Google. Accelerator này tăng tốc model TensorFlow Lite trên thiết bị biên. Hình bên dưới minh họa một ví dụ về quy trình liên quan.

TensorFlow Lite Edge TPU compilation workflow

Edge TPU hoạt động với model đã lượng tử hóa. Lượng tử hóa giúp model nhỏ hơn và nhanh hơn mà không làm giảm nhiều độ chính xác. Đây là lựa chọn lý tưởng cho tài nguyên hạn chế của điện toán biên, cho phép ứng dụng phản hồi nhanh nhờ giảm độ trễ và xử lý dữ liệu cục bộ nhanh chóng mà không phụ thuộc vào đám mây. Xử lý cục bộ cũng giúp dữ liệu người dùng luôn riêng tư và an toàn vì dữ liệu không được gửi đến máy chủ từ xa.

Các tính năng chính của TFLite Edge TPU#

Sau đây là những tính năng chính khiến TFLite Edge TPU trở thành lựa chọn định dạng model phù hợp cho developer:

  • Hiệu năng tối ưu trên thiết bị biên: TFLite Edge TPU đạt hiệu năng xử lý mạng neural tốc độ cao nhờ lượng tử hóa, tối ưu hóa model, tăng tốc phần cứng và tối ưu hóa compiler. Kiến trúc tối giản giúp giảm kích thước và chi phí.

  • Thông lượng tính toán cao: TFLite Edge TPU kết hợp khả năng tăng tốc phần cứng chuyên dụng với quá trình thực thi runtime hiệu quả để đạt thông lượng tính toán cao. Đây là lựa chọn phù hợp để triển khai các model machine learning có yêu cầu hiệu năng nghiêm ngặt trên thiết bị biên.

  • Tính toán ma trận hiệu quả: TensorFlow Edge TPU được tối ưu hóa cho các phép toán ma trận, vốn rất quan trọng đối với quá trình tính toán của mạng nơ-ron. Hiệu quả này đóng vai trò then chốt trong các model machine learning, đặc biệt là những model cần thực hiện nhiều phép nhân và biến đổi ma trận phức tạp.

Các tùy chọn triển khai với TFLite Edge TPU#

Trước khi tìm hiểu cách export các model YOLO26 sang định dạng TFLite Edge TPU, hãy cùng tìm hiểu những nơi thường sử dụng model TFLite Edge TPU.

TFLite Edge TPU cung cấp nhiều tùy chọn triển khai model machine learning, bao gồm:

  • Triển khai trên thiết bị: Có thể triển khai trực tiếp các model TensorFlow Edge TPU trên thiết bị di động và thiết bị nhúng. Cách triển khai trên thiết bị cho phép model chạy trực tiếp trên phần cứng, không cần kết nối với cloud, bằng cách nhúng model vào gói ứng dụng hoặc tải model xuống khi cần.

  • Triển khai kết hợp: Phương pháp kết hợp giữa triển khai trên thiết bị và trên cloud mang đến giải pháp linh hoạt, có khả năng mở rộng để triển khai model machine learning. Các ưu điểm bao gồm xử lý trên thiết bị để phản hồi nhanh và điện toán đám mây cho những phép tính phức tạp hơn.

Các tác vụ được hỗ trợ#

Export Edge TPU hỗ trợ sáu trong số bảy tác vụ của Ultralytics. Phân đoạn ngữ nghĩa chỉ khả dụng với YOLO26, dòng model duy nhất có head này. Không hỗ trợ ước lượng độ sâu vì model INT8 của tác vụ này tạo ra toán tử v2 EXP mà trình biên dịch Edge TPU không thể phân tích.

Tác vụYOLOv8YOLO11YOLO26
Phát hiện✅✅✅
Phân đoạn✅✅✅
Ngữ nghĩa❌❌✅
Độ sâu❌❌❌
Phân loại✅✅✅
Tư thế✅✅✅
OBB✅✅✅

Trình biên dịch Edge TPU ánh xạ các phép toán được hỗ trợ lên accelerator và để lại các phép toán còn lại trên CPU, vì vậy việc hỗ trợ một tác vụ không có nghĩa là mọi phép toán đều chạy trên TPU.

Export model YOLO26 sang TFLite Edge TPU#

Bạn có thể mở rộng khả năng tương thích và tính linh hoạt khi triển khai model bằng cách chuyển đổi model YOLO26 sang TensorFlow Edge TPU.

Cài đặt#

Để cài đặt package cần thiết, hãy chạy:

Cài đặt
# Install the required package for YOLO26
pip install ultralytics

Để biết hướng dẫn chi tiết và các phương pháp tốt nhất về quy trình cài đặt, hãy xem hướng dẫn cài đặt Ultralytics. Nếu gặp khó khăn khi cài đặt các package cần thiết cho YOLO26, hãy tham khảo hướng dẫn khắc phục sự cố thường gặp để tìm giải pháp và mẹo hữu ích.

Cách sử dụng#

Tất cả model Ultralytics YOLO26 đều được thiết kế để hỗ trợ xuất ngay từ đầu, giúp bạn dễ dàng tích hợp chúng vào quy trình triển khai mong muốn. Bạn có thể xem danh sách đầy đủ các định dạng xuất được hỗ trợ và tùy chọn cấu hình để chọn thiết lập phù hợp nhất cho ứng dụng.

Định dạng TFLite Edge TPU hỗ trợ các chế độ Export, Predict và Validate. Inference và validation chạy trên phần cứng Coral Edge TPU. Hãy export model, sau đó tải model đã export để chạy inference hoặc xác thực độ chính xác.

Export
from ultralytics import YOLO

# Nạp model YOLO26
model = YOLO("yolo26n.pt")

# Export model sang định dạng TFLite Edge TPU
model.export(format="edgetpu")  # tạo 'yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite'
Dự đoán
from ultralytics import YOLO

# Tải model TFLite Edge TPU đã export
model = YOLO("yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite")

# Chạy suy luận
results = model("https://ultralytics.com/images/bus.jpg")
Xác thực
from ultralytics import YOLO

# Tải model TFLite Edge TPU đã export
model = YOLO("yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite")

# # Đánh giá độ chính xác trên bộ dữ liệu COCO8
metrics = model.val(data="coco8.yaml")

Các tham số xuất model#

Đối sốKiểuMặc địnhMô tả
formatstr'edgetpu'Định dạng đích của model đã xuất, xác định khả năng tương thích với nhiều môi trường triển khai.
imgszint hoặc tuple640Kích thước ảnh mong muốn cho đầu vào model. Có thể là số nguyên cho ảnh vuông hoặc tuple (height, width) để chỉ định kích thước cụ thể.
quantizeint hoặc str8/autoĐộ chính xác lượng tử hóa. 8 (INT8) là bắt buộc và được tự động bật cho Edge TPU, giúp nén model và tăng tốc suy luận với mức mất độ chính xác tối thiểu trên các thiết bị biên. Thay thế các flag half/int8 đã lỗi thời.
opsetintNoneChỉ định phiên bản opset ONNX cho đồ thị ONNX trung gian. Nếu không đặt, phiên bản được hỗ trợ mới nhất sẽ được sử dụng.
datastrNoneĐường dẫn đến YAML của dataset, cần thiết cho việc lượng tử hóa; riêng tác vụ phân loại cần thư mục dataset hoặc tên dataset tích hợp sẵn. Nếu không chỉ định quantize=8, Ultralytics sẽ chọn dataset hiệu chuẩn mặc định cho tác vụ của model.
fractionfloat, int hoặc list1.0Tập con hiệu chuẩn dưới dạng tỷ lệ, số lượng ảnh hoặc tỷ lệ/số lượng [train, val, test]. Danh sách gồm hai mục giữ test ở dạng đầy đủ, còn 0 sẽ bỏ qua mục này.
devicestrNoneChỉ định thiết bị dùng để export: CPU (device=cpu).
Mẹo

Vui lòng đảm bảo sử dụng máy Linux x86 khi export sang Edge TPU.

Để biết thêm chi tiết về quy trình xuất, hãy truy cập trang tài liệu Ultralytics về xuất model.

Triển khai model YOLO26 TFLite Edge TPU đã export#

Sau khi export thành công các model Ultralytics YOLO26 sang định dạng TFLite Edge TPU, bạn có thể triển khai chúng. Bước đầu tiên chính và được khuyến nghị để chạy model TFLite Edge TPU là sử dụng phương thức YOLO("model_edgetpu.tflite"), như minh họa trong đoạn mã sử dụng ở phần trước.

Để xem hướng dẫn chi tiết về cách triển khai model TFLite Edge TPU, hãy tham khảo các tài nguyên sau:

Tóm tắt#

Trong hướng dẫn này, chúng ta đã tìm hiểu cách export model Ultralytics YOLO26 sang định dạng TFLite Edge TPU. Bằng cách thực hiện theo các bước trên, bạn có thể tăng tốc độ và hiệu năng cho ứng dụng thị giác máy tính của mình.

Để biết thêm chi tiết về cách sử dụng, hãy truy cập trang web chính thức của Coral Edge TPU.

Ngoài ra, để tìm hiểu thêm về các tích hợp Ultralytics YOLO26 khác, hãy truy cập trang hướng dẫn tích hợp của chúng tôi. Tại đó, bạn sẽ tìm thấy các tài nguyên và thông tin chuyên sâu hữu ích.

Câu hỏi thường gặp#

  • Để export model YOLO26 sang định dạng TFLite Edge TPU, bạn có thể thực hiện theo các bước sau:

    Cách sử dụng
    from ultralytics import YOLO
    
    # Nạp model YOLO26
    model = YOLO("yolo26n.pt")
    
    # Export model sang định dạng TFLite Edge TPU
    model.export(format="edgetpu")  # tạo 'yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite'
    
    # Tải model TFLite Edge TPU đã export
    edgetpu_model = YOLO("yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite")
    
    # Chạy suy luận
    results = edgetpu_model("https://ultralytics.com/images/bus.jpg")

    Để biết đầy đủ chi tiết về cách export model sang các định dạng khác, hãy tham khảo hướng dẫn export của chúng tôi.

  • Export model YOLO26 sang TFLite Edge TPU mang lại một số lợi ích:

    • Hiệu năng được tối ưu hóa: Đạt hiệu năng mạng nơ-ron tốc độ cao với mức tiêu thụ điện năng tối thiểu.
    • Giảm độ trễ: Xử lý dữ liệu cục bộ nhanh chóng mà không cần phụ thuộc vào cloud.
    • Tăng cường quyền riêng tư: Xử lý cục bộ giúp bảo vệ dữ liệu người dùng và giữ dữ liệu an toàn.

    Điều này khiến công nghệ trở nên lý tưởng cho các ứng dụng điện toán biên, nơi thiết bị có nguồn điện và tài nguyên tính toán hạn chế. Tìm hiểu thêm về lý do bạn nên export.

  • Có, có thể triển khai trực tiếp model TensorFlow Lite Edge TPU trên thiết bị di động và thiết bị nhúng. Phương pháp triển khai này cho phép model chạy trực tiếp trên phần cứng, mang lại quá trình inference nhanh hơn và hiệu quả hơn. Để xem ví dụ tích hợp, hãy tham khảo hướng dẫn triển khai Coral Edge TPU trên Raspberry Pi.

  • Các trường hợp sử dụng phổ biến của model TFLite Edge TPU bao gồm:

    • Camera thông minh: Nâng cao khả năng phân tích hình ảnh và video theo thời gian thực.
    • Thiết bị IoT: Hỗ trợ tự động hóa nhà thông minh và công nghiệp.
    • Chăm sóc sức khỏe: Tăng tốc xử lý ảnh y tế và chẩn đoán.
    • Bán lẻ: Cải thiện quản lý hàng tồn kho và phân tích hành vi khách hàng.

    Các ứng dụng này được hưởng lợi từ hiệu năng cao và mức tiêu thụ điện năng thấp của model TFLite Edge TPU. Tìm hiểu thêm về các tình huống sử dụng.

  • Nếu gặp sự cố khi export hoặc triển khai model TFLite Edge TPU, hãy tham khảo hướng dẫn Các sự cố thường gặp để biết các mẹo khắc phục. Hướng dẫn này đề cập đến những sự cố thường gặp và giải pháp, giúp bạn đảm bảo hệ thống hoạt động trơn tru. Để được hỗ trợ thêm, hãy truy cập Trung tâm trợ giúp.

Bình luận