Ultralytics YOLO27:

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

Việc triển khai các model computer vision trên những 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ể khá phức tạp. Sử dụng định dạng model được tối ưu để đạt hiệu năng cao hơn 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ế để sử dụng mức năng lượng tối thiểu nhưng vẫn mang lại hiệu năng cao cho các neural network.

Tính năng xuất sang định dạng TFLite Edge TPU cho phép bạn tối ưu các model Ultralytics YOLO26 để inferencing tốc độ cao và mức tiêu thụ năng lượng thấp. Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn 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à nhúng.

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

Việc xuất model sang TensorFlow Edge TPU giúp các tác vụ machine learning trở nên nhanh và hiệu quả. Công nghệ này phù hợp với các ứng dụng có giới hạn về năng lượng, tài nguyên tính toán và khả năng kết nối. Edge TPU là một bộ tăng tốc phần cứng của Google. Nó tăng tốc các model TensorFlow Lite trên các thiết bị edge. Hình ả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 các model đã được quantization. Quantization giúp model nhỏ hơn và nhanh hơn mà không làm mất nhiều độ chính xác. Đây là lựa chọn lý tưởng cho các tài nguyên hạn chế của edge computing, cho phép ứng dụng phản hồi nhanh bằng cách giảm latency và xử lý dữ liệu nhanh chóng tại chỗ mà không phụ thuộc vào cloud. Việc xử lý cục bộ cũng giúp dữ liệu người dùng được riêng tư và an toàn vì dữ liệu không được gửi đến server từ xa.

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

Dưới đây là các tính năng chính giúp TFLite Edge TPU trở thành lựa chọn định dạng model phù hợp cho developer:

  • Hiệu năng được tối ưu trên thiết bị edge: TFLite Edge TPU đạt hiệu năng neural network tốc độ cao nhờ quantization, tối ưu model, tăng tốc phần cứng và tối ưu compiler. Kiến trúc tối giản góp phần tạo nên kích thước nhỏ hơn và hiệu quả chi phí cao hơn.

  • Throughput tính toán cao: TFLite Edge TPU kết hợp tăng tốc phần cứng chuyên dụng với việc thực thi runtime hiệu quả để đạt throughput tính toán cao. Công nghệ này rất phù hợp để triển khai các model machine learning có yêu cầu nghiêm ngặt về hiệu năng trên thiết bị edge.

  • Tính toán ma trận hiệu quả: TensorFlow Edge TPU được tối ưu cho các phép toán ma trận, vốn đóng vai trò quan trọng trong tính toán neural network. Hiệu quả này rất quan trọng đối với các model machine learning, đặc biệt là những model yêu cầu 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 xuất model YOLO26 sang định dạng TFLite Edge TPU, hãy cùng tìm hiểu nơi các model TFLite Edge TPU thường được sử dụng.

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

  • Triển khai trên thiết bị: Các model TensorFlow Edge TPU có thể được triển khai trực tiếp trên thiết bị di động và nhúng. Triển khai trên thiết bị cho phép model thực thi trực tiếp trên phần cứng, loại bỏ nhu cầu kết nối cloud, bằng cách nhúng model vào application bundle hoặc tải xuống theo yêu cầu.

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

Các Task được hỗ trợ#

Tính năng xuất Edge TPU hỗ trợ sáu trong số bảy task của Ultralytics. Semantic segmentation chỉ khả dụng với YOLO26, family duy nhất có head này. Depth estimation không được hỗ trợ vì model INT8 của task này tạo ra operator EXP v2 mà Edge TPU compiler không thể phân tích.

TaskYOLOv8YOLO11YOLO26
Detect
Segment
Semantic
Depth
Classify
Pose
OBB

Edge TPU compiler ánh xạ các operation được hỗ trợ lên accelerator và để phần còn lại chạy trên CPU, vì vậy việc hỗ trợ task không có nghĩa là mọi operation đều chạy trên TPU.

Xuất model YOLO26 sang TFLite Edge TPU#

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

Cài đặt#

Để cài đặt package bắt buộc, hãy chạy:

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

Để xem hướng dẫn chi tiết và các best practice liên quan đến quy trình cài đặt, hãy tham khảo 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 xem hướng dẫn Các vấn đề Thường gặp để tìm giải pháp và mẹo xử lý.

Cách sử dụng#

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

Định dạng TFLite Edge TPU hỗ trợ các mode Export, PredictValidate. Inference và validation chạy trên phần cứng Coral Edge TPU. Hãy xuất model, sau đó load model đã xuất để chạy inference hoặc validate độ chính xác.

Export
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TFLite Edge TPU format
model.export(format="edgetpu")  # creates 'yolo26n_full_integer_quant_edgetpu.tflite'
Predict
from ultralytics import YOLO

# Load the exported TFLite Edge TPU model
model = YOLO("yolo26n_full_integer_quant_edgetpu.tflite")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Validate
from ultralytics import YOLO

# Load the exported TFLite Edge TPU model
model = YOLO("yolo26n_full_integer_quant_edgetpu.tflite")

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Đối số Export#

Đối sốKiểuMặc địnhMô tả
formatstr'edgetpu'Định dạng đích của model đã export, 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 input của model. Có thể là một số nguyên đối với ảnh vuông hoặc một tuple (height, width) cho các kích thước cụ thể.
quantizeint hoặc str8/autoĐộ chính xác quantization. 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 inference với mức giảm độ chính xác tối thiểu trên thiết bị edge. Thay thế các flag half/int8 đã deprecated.
opsetintNoneChỉ định phiên bản opset ONNX cho graph ONNX trung gian. Nếu không thiết lập, 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 lượng tử hóa; tác vụ classification thay vào đó nhận một thư mục dataset hoặc tên dataset tích hợp sẵn. Nếu bị bỏ qua khi dùng quantize=8, Ultralytics sẽ chọn dataset calibration 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 các tỷ lệ/số lượng [train, val, test]. Với danh sách gồm hai mục, test để trống, còn 0 sẽ bỏ qua mục này.
devicestrNoneChỉ định thiết bị dùng để xuất: CPU (device=cpu).
Mẹo

Hãy đảm bảo sử dụng máy Linux x86 khi xuất sang Edge TPU.

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

Triển khai model YOLO26 TFLite Edge TPU đã xuất#

Sau khi xuất 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 và được khuyến nghị để chạy model TFLite Edge TPU là sử dụng phương thức YOLO("model_edgetpu.tflite"), như đã trình bày trong đoạn code sử dụng trước đó.

Tuy nhiên, để xem hướng dẫn chuyên sâu về việc 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 xuất các model Ultralytics YOLO26 sang định dạng TFLite Edge TPU. Bằng cách làm theo các bước nêu trên, bạn có thể tăng tốc độ và giảm mức tiêu thụ năng lượng cho các ứng dụng computer vision.

Để 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, để biết thêm thông tin về các tích hợp Ultralytics YOLO26 khác, vui lòng 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 hữu ích.

FAQ#

  • Để xuất model YOLO26 sang định dạng TFLite Edge TPU, bạn có thể làm theo các bước sau:

    Cách sử dụng
    from ultralytics import YOLO
    
    # Load a YOLO26 model
    model = YOLO("yolo26n.pt")
    
    # Export the model to TFLite Edge TPU format
    model.export(format="edgetpu")  # creates 'yolo26n_full_integer_quant_edgetpu.tflite'
    
    # Load the exported TFLite Edge TPU model
    edgetpu_model = YOLO("yolo26n_full_integer_quant_edgetpu.tflite")
    
    # Run inference
    results = edgetpu_model("https://ultralytics.com/images/bus.jpg")

    Để biết đầy đủ chi tiết về việc xuất 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.

  • Việc xuất model YOLO26 sang TFLite Edge TPU mang lại một số lợi ích:

    • Hiệu năng được tối ưu: Đạt hiệu năng neural network tốc độ cao với mức tiêu thụ năng lượng tối thiểu.
    • Giảm latency: 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 dữ liệu người dùng luôn riêng tư và an toàn.

    Điều này khiến TFLite Edge TPU trở nên lý tưởng cho các ứng dụng edge computing, nơi thiết bị có năng lượng và tài nguyên tính toán hạn chế. Tìm hiểu thêm về lý do nên xuất.

  • Có, model TensorFlow Lite Edge TPU có thể được triển khai trực tiếp trên thiết bị di động và nhúng. Phương pháp triển khai này cho phép model thực thi trực tiếp trên phần cứng, mang lại inference nhanh và hiệu quả hơn. Để xem các 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ủa chúng tôi.

  • 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: Kích hoạt các ứng dụng nhà thông minh và tự động hóa công nghiệp.
    • Chăm sóc sức khỏe: Tăng tốc xử lý hình ả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 hưởng lợi từ hiệu năng cao và mức tiêu thụ năng lượng thấp của model TFLite Edge TPU. Khám phá thêm về các kịch bản sử dụng.

  • Nếu gặp sự cố khi xuất hoặc triển khai model TFLite Edge TPU, hãy tham khảo hướng dẫn Common Issues để biết các mẹo khắc phục sự cố. Hướng dẫn này trình bày các vấn đề phổ biến và giải pháp giúp bạn đảm bảo operation diễn ra suôn sẻ. Để nhận thêm hỗ trợ, hãy truy cập Help Center.

Bình luận