YOLO Vision 2026:

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

Triển khai các 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ư thiết bị di động hoặc hệ thống nhúng, có thể gặp nhiều khó khăn. Sử dụng định dạng model được tối ưu hóa cho hiệu năng nhanh hơn sẽ đơn giản hóa quá trình này. Định dạng model TensorFlow Lite Edge TPU hay TFLite Edge TPU được thiết kế để tiêu thụ ít điện năng nhất trong khi vẫn mang lại hiệu năng nhanh cho các 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 các model Ultralytics YOLO26 của mình để suy luận tốc độ cao và tiêu thụ điện năng thấp. Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn cách chuyển đổi model sang định dạng TFLite Edge TPU, giúp các model hoạt động tốt hơn trên nhiều thiết bị di động và thiết bị nhúng khác nhau.

Tại sao bạn 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 diễn ra nhanh chóng và hiệu quả. Công nghệ này phù hợp với các ứng dụng bị hạn chế về nguồn điện, tài nguyên tính toán và khả năng kết nối. Edge TPU là một bộ gia tốc phần cứng do Google phát triển. Nó giúp tăng tốc các model TensorFlow Lite trên các thiết bị biên. 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 lượng tử hóa. Lượng tử hóa giúp các model nhỏ gọn và chạy nhanh hơn mà không làm mất đi nhiều accuracy. Nó rất lý tưởng cho các 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 chóng bằng cách giảm độ trễ và cho phép xử lý dữ liệu nhanh chóng tại chỗ mà không phụ thuộc vào đám mây. Việc xử lý tại chỗ cũng giữ cho dữ liệu người dùng được riêng tư và bảo mật vì dữ liệu không bị gửi đến máy chủ 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 khiến TFLite Edge TPU trở thành lựa chọn định dạng model tuyệt vời cho các nhà phát triển:

  • Hiệu suất tối ưu trên thiết bị biên: TFLite Edge TPU đạt hiệu suất mạng thần kinh tốc độ cao thông qua việc định lượng, tối ưu hóa model, tăng tốc phần cứng và tối ưu hóa trình biên dịch. Kiến trúc tối giản giúp model có kích thước nhỏ hơn và tiết kiệm 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à thực thi runtime hiệu quả để đạt thông lượng tính toán cao. Nó rất phù hợp để triển khai các model machine learning có yêu cầu hiệu suất khắt khe trên các 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 thao tác ma trận, vốn đóng vai trò cốt lõi cho các phép tính neural network. Hiệu quả này là chìa khóa trong các model machine learning, đặc biệt là những model đòi hỏi 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 bắt đầu cách xuất model YOLO26 sang định dạng TFLite Edge TPU, hãy cùng tìm hiểu xem các model TFLite Edge TPU thường được sử dụng ở đâu.

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ị (On-Device Deployment): Các model TensorFlow Edge TPU có thể được triển khai trực tiếp trên thiết bị di động và thiết bị nhúng. Việc triển khai tại 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 đám mây, thông qua việc nhúng model vào gói ứng dụng hoặc tải xuống theo yêu cầu.

  • Điện toán biên với Cloud TensorFlow TPUs: Trong các tình huống thiết bị biên có khả năng xử lý hạn chế, TensorFlow Edge TPUs có thể giảm tải các tác vụ suy luận sang các máy chủ đám mây được trang bị TPU.

  • Triển khai kết hợp (Hybrid): Phương pháp kết hợp giữa triển khai trên thiết bị và trên đám mây mang lại một 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 tác vụ được hỗ trợ#

Tính năng xuất Edge TPU hỗ trợ sáu trong tổng số bảy tác vụ của Ultralytics. Phân đoạn ngữ nghĩa (semantic segmentation) chỉ khả dụng với YOLO26, dòng model duy nhất tích hợp phần đầu (head) này. Ước tính độ sâu (depth estimation) không được hỗ trợ vì model INT8 của nó phát ra một toán tử EXP v2 mà trình biên dịch Edge TPU không thể phân tích cú pháp.

Tác vụYOLOv8YOLO11YOLO26
Detect
Segment
Semantic
Depth
Classify
Pose
OBB

Trình biên dịch Edge TPU ánh xạ các thao tác mà nó hỗ trợ lên bộ tăng tốc và giữ lại phần còn lại trên CPU, do đó việc hỗ trợ tác vụ không đồng nghĩa với việc mọi thao tác đề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 và tính linh hoạt trong triển khai model bằng cách chuyển đổi các model YOLO26 sang TensorFlow Edge TPU.

Cài đặt#

Để cài đặt gói 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 thực tiễn tốt nhất liên quan đến quá trình cài đặt, hãy xem Hướng dẫn Cài đặt Ultralytics của chúng tôi. Trong quá trình cài đặt các gói cần thiết cho YOLO26, 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 để tìm giải pháp và mẹo.

Cách sử dụng#

Tất cả các Ultralytics YOLO26 models đều được thiết kế để hỗ trợ xuất ngay khi sử dụng, giúp bạn dễ dàng tích hợp chúng vào quy trình triển khai ưa thích của mình. 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 chế độ Export, PredictValidate. Quá trình suy luận và xác thực chạy trên phần cứng Coral Edge TPU. Hãy xuất model của bạn, sau đó tải model đã xuất để chạy suy luận hoặc xác thực độ chính xác của nó.

Xuất (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'
Dự đoán (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")
Xác thực
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ố xuất#

Đối sốLoạiMặc địnhMô tả
formatstr'edgetpu'Định dạng đích cho model được xuất, xác định khả năng tương thích với các môi trường triển khai khác nhau.
imgszint hoặc tuple640Kích thước ảnh mong muốn cho đầu vào của mô hình. Có thể là một số nguyên cho ả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 lượng tử hóa. 8 (INT8) là bắt buộc và được bật tự động cho Edge TPU, giúp nén model và tăng tốc độ suy luận với mức tổn thất accuracy tối thiểu trên các thiết bị biên. Thay thế cho các cờ half/int8 đã lỗi thời.
opsetintNoneChỉ định phiên bản ONNX opset cho đồ thị ONNX trung gian. Nếu không được thiết lập, hệ thống sẽ sử dụng phiên bản được hỗ trợ mới nhất.
datastrNoneĐường dẫn đến file YAML của dataset, rất cần thiết cho việc lượng tử hóa; tác vụ phân loại thay vào đó sẽ nhận một thư mục dataset hoặc tên dataset tích hợp sẵn. Nếu bỏ qua với quantize=8, Ultralytics sẽ chọn dataset hiệu chuẩn mặc định cho tác vụ của model.
fractionfloat1.0Chỉ định phân đoạn của dataset để sử dụng cho hiệu chuẩn lượng tử hóa INT8. Cho phép hiệu chuẩn trên một tập hợp con của toàn bộ dataset, hữu ích cho các thử nghiệm hoặc khi tài nguyên hạn chế. Nếu không được chỉ định trong khi INT8 đã được bật, toàn bộ dataset sẽ được sử dụng.
devicestrNoneChỉ định thiết bị để xuất: CPU (device=cpu).
Mẹo

Vui lòng đảm bảo sử dụng máy Linux x86 khi xuất sang EdgeTPU.

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

Triển khai các 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, giờ đây bạn có thể triển khai chúng. Bước đầu tiên quan trọng và được khuyến nghị để chạy model TFLite Edge TPU là sử dụng phương thức YOLO("model_edgetpu.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ề việc triển khai các model TFLite Edge TPU của bạn, hãy xem qua 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 được đề cập ở trên, bạn có thể gia tăng tốc độ và năng lực cho các ứng dụng computer vision của mình.

Để biết thêm chi tiết về cách sử dụng, hãy truy cập Edge TPU official website.

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 integration guide page. Tại đó, bạn sẽ khám phá ra các tài nguyên và thông tin chi tiết hữu ích.

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

  • Để 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")

    Để có đầy đủ chi tiết về việc xuất model sang các định dạng khác, hãy tham khảo export guide 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 suất tối ưu: Đạt được hiệu suất mạng thần kinh 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 đám mây.
    • Tăng cường quyền riêng tư: Xử lý cục bộ giữ cho dữ liệu người dùng được riêng tư và bảo mật.

    Điều này làm cho nó trở nên lý tưởng cho các ứng dụng trong edge computing, nơi các thiết bị bị giới hạn về nguồn điện và tài nguyên tính toán. Tìm hiểu thêm về why you should export.

  • Có, các model TensorFlow Lite Edge TPU có thể được triển khai trực tiếp trên các thiết bị di động và thiết bị nhúng. Phương pháp triển khai này cho phép các model thực thi trực tiếp trên phần cứng, mang lại quá trình suy luận nhanh hơn và hiệu quả hơn. Để xem các ví dụ tích hợp, hãy kiểm tra guide on deploying Coral Edge TPU on Raspberry Pi của chúng tôi.

  • Các trường hợp sử dụng phổ biến cho 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 thời gian thực.
    • Thiết bị IoT: Cho phép tự động hóa ngôi nhà thông minh và công nghiệp.
    • Chăm sóc sức khỏe: Tăng tốc chẩn đoán và hình ảnh y tế.
    • 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ụ điện năng thấp của các model TFLite Edge TPU. Khám phá thêm về usage scenarios.

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

Bình luận