Ultralytics YOLO27:
Get Started

Cách chạy Ultralytics YOLO26 trên Raspberry Pi với Coral Edge TPU#

Raspberry Pi with Edge TPU accelerator

Raspberry Pi là nền tảng tiết kiệm điện, giá phải chăng để chạy computer vision tại biên, nhưng suy luận trên thiết bị vẫn chậm ngay cả với các định dạng đã tối ưu như ONNX hoặc OpenVINO. Kết hợp Pi với bộ đồng xử lý Coral Edge TPU sẽ chuyển tác vụ suy luận sang phần cứng chuyên dụng và tăng tốc đáng kể. Hướng dẫn này chỉ cách cài đặt runtime, xuất model Ultralytics YOLO26 sang định dạng Edge TPU và chạy suy luận tăng tốc.



Xem: Cách chạy inference trên Raspberry Pi bằng Google Coral Edge TPU

Tại sao nên dùng Coral Edge TPU?#

Coral Edge TPU là thiết bị nhỏ gọn bổ sung bộ đồng xử lý Edge TPU vào hệ thống, cho phép suy luận ML hiệu năng cao, tiêu thụ ít điện năng với các model TensorFlow Lite. Đây là lựa chọn phù hợp cho các triển khai nhúng và di động, nơi riêng CPU không thể đáp ứng:

  • Suy luận nhanh hơn — Edge TPU tăng tốc các model đã lượng tử hóa vượt xa hiệu năng mà riêng CPU của Raspberry Pi đạt được.
  • Tiêu thụ ít điện năng — thiết bị mang lại thông lượng cao trên mỗi watt, lý tưởng cho các triển khai dùng pin hoặc năng lượng mặt trời.
  • Cắm là chạy — USB Accelerator kết nối qua USB 3.0, không cần tích hợp thêm phần cứng.
Runtime được cập nhật cho TensorFlow Lite hiện tại

Hướng dẫn chính thức của Coral đã lỗi thời: các bản dựng runtime Coral ban đầu không còn hoạt động với phiên bản runtime TensorFlow Lite hiện tại, và dự án không có bản cập nhật nào trong giai đoạn 2021–2025. Hướng dẫn này sử dụng runtime Edge TPU đang được duy trì tích cực cùng tflite-runtime mới nhất để bộ tăng tốc hoạt động trên bản cài đặt Raspberry Pi OS hiện tại.

Điều kiện tiên quyết#

Hướng dẫn này giả định bạn đã có bản cài đặt Raspberry Pi OS đang hoạt động, với ultralytics và các phần phụ thuộc đã được cài đặt. Nếu chưa, trước tiên hãy làm theo hướng dẫn bắt đầu nhanh.

Sau khi chuẩn bị xong các điều kiện tiên quyết, quy trình gồm ba bước: cài đặt runtime Edge TPU trên Pi, xuất model trên máy Linux x86_64 và chạy suy luận trên Pi.

Cài đặt Edge TPU Runtime#

Runtime có một số bản dựng, vì vậy hãy chọn bản phù hợp với hệ điều hành của bạn. Bản dựng tần số cao chạy Edge TPU ở tốc độ xung nhịp cao hơn để cải thiện hiệu năng, nhưng có thể gây giảm xung do quá nhiệt — hãy sử dụng biện pháp làm mát nếu chọn bản này.

Raspberry Pi OSChế độ tần số caoPhiên bản cần tải xuống
Bullseye 32bitKhônglibedgetpu1-std_ ... .bullseye_armhf.deb
Bullseye 64bitKhônglibedgetpu1-std_ ... .bullseye_arm64.deb
Bullseye 32bitCólibedgetpu1-max_ ... .bullseye_armhf.deb
Bullseye 64bitCólibedgetpu1-max_ ... .bullseye_arm64.deb
Bookworm 32bitKhônglibedgetpu1-std_ ... .bookworm_armhf.deb
Bookworm 64bitKhônglibedgetpu1-std_ ... .bookworm_arm64.deb
Bookworm 32bitCólibedgetpu1-max_ ... .bookworm_armhf.deb
Bookworm 64bitCólibedgetpu1-max_ ... .bookworm_arm64.deb

Tải phiên bản mới nhất tại đây, sau đó cài đặt gói .deb:

sudo dpkg -i path/to/package.deb

Sau khi cài đặt runtime, hãy cắm Coral Edge TPU vào cổng USB 3.0 trên Raspberry Pi để quy tắc udev mới có hiệu lực.

Trước tiên, hãy gỡ mọi runtime hiện có

Nếu Coral Edge TPU runtime đã được cài đặt, hãy gỡ cài đặt trước khi cài bản dựng mới.

# If you installed the standard version
sudo apt remove libedgetpu1-std

# If you installed the high-frequency version
sudo apt remove libedgetpu1-max

Xuất model sang định dạng Edge TPU#

Để sử dụng Edge TPU, hãy chuyển đổi model sang định dạng tương thích. Thực hiện xuất trên Linux x86_64 — Google Colab, máy Linux x86_64, bộ chứa Docker chính thức của Ultralytics trên máy chủ x86_64 hoặc Ultralytics Platform — vì trình biên dịch Edge TPU chỉ có trên Linux x86_64. Xem chế độ Export để biết các đối số khả dụng.

Xuất model
from ultralytics import YOLO

# Tải model
model = YOLO("path/to/model.pt")  # Tải model chính thức hoặc model tùy chỉnh

# # Xuất model
model.export(format="edgetpu")

Model đã xuất được lưu trong thư mục <model_name>_saved_model/ dưới tên <model_name>_full_integer_quant_edgetpu.tflite.

Giữ nguyên hậu tố `_edgetpu.tflite`

Tên tệp phải kết thúc bằng _edgetpu.tflite. Nếu đổi tên thành bất kỳ tên nào khác, Ultralytics sẽ tải tệp dưới dạng model LiteRT thông thường (.tflite) thay vì nhận diện Edge TPU, và bộ tăng tốc sẽ không được sử dụng.

Chạy suy luận trên Edge TPU#

Trước khi chạy model, hãy cài đặt các thư viện phù hợp trên Raspberry Pi. Nếu TensorFlow đã được cài đặt, trước tiên hãy gỡ cài đặt:

pip uninstall tensorflow tensorflow-aarch64

Sau đó cài đặt hoặc cập nhật tflite-runtime:

pip install -U tflite-runtime

Giờ bạn có thể chạy suy luận:

Chạy model
from ultralytics import YOLO

# Tải model
model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite")  # Tải model chính thức hoặc model tùy chỉnh

# Chạy dự đoán
model.predict("path/to/source.png")

Xem thông tin đầy đủ về chế độ dự đoán trên trang Predict.

Suy luận với nhiều Edge TPU

Nếu có nhiều Edge TPU, bạn có thể chọn một thiết bị cụ thể bằng đối số device.

from ultralytics import YOLO

# Tải model
model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite")  # Tải model chính thức hoặc model tùy chỉnh

# Chạy dự đoán
model.predict("path/to/source.png")  # Suy luận mặc định dùng TPU đầu tiên

model.predict("path/to/source.png", device="tpu:0")  # Chọn TPU đầu tiên

model.predict("path/to/source.png", device="tpu:1")  # Chọn TPU thứ hai

Benchmark#

Các số liệu bên dưới được đo trên Raspberry Pi OS Bookworm 64-bit với Coral Edge TPU USB. Chúng chỉ thể hiện thời gian suy luận (không bao gồm tiền xử lý/hậu xử lý) và cung cấp mốc tham khảo tương đối về mức tăng tốc của Edge TPU trên các mẫu Pi và chế độ khác nhau.

Về các số liệu này

Các benchmark này được ghi nhận bằng model YOLOv8. Thời gian suy luận tuyệt đối thay đổi theo phiên bản model và kích thước ảnh, nhưng mức tăng tốc tương đối giữa các mẫu Pi và chế độ xung nhịp vẫn giữ nguyên.

Kích thước ảnhModelThời gian suy luận tiêu chuẩn (ms)Thời gian suy luận tần số cao (ms)
320YOLOv8n32.226.7
320YOLOv8s47.139.8
512YOLOv8n73.560.7
512YOLOv8s149.6125.3

Trung bình:

  • Ở chế độ tiêu chuẩn, Raspberry Pi 5 nhanh hơn Raspberry Pi 4B 22%.
  • Ở chế độ tần số cao, Raspberry Pi 5 nhanh hơn Raspberry Pi 4B 30.2%.
  • Chế độ tần số cao nhanh hơn chế độ tiêu chuẩn 28.4%.

Kết luận#

Coral Edge TPU biến Raspberry Pi thành thiết bị suy luận hiệu năng cao, tiêu thụ ít điện năng cho Ultralytics YOLO26. Hãy xuất model trên máy Linux x86_64, giữ nguyên hậu tố _edgetpu.tflite và chạy model bằng tflite-runtime trên Pi để tăng tốc suy luận tại biên. Để biết thêm các tùy chọn triển khai, hãy xem hướng dẫn Raspberry Pi.

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

  • Coral Edge TPU là thiết bị nhỏ gọn bổ sung bộ đồng xử lý Edge TPU vào hệ thống. Bộ đồng xử lý này cho phép suy luận ML hiệu năng cao với mức tiêu thụ điện năng thấp, đặc biệt được tối ưu cho model TensorFlow Lite. Trên Raspberry Pi, thiết bị tăng tốc suy luận vượt xa hiệu năng riêng của CPU, qua đó cải thiện đáng kể hiệu năng của model Ultralytics YOLO26.

  • Tải gói .deb phù hợp với phiên bản Raspberry Pi OS của bạn từ liên kết này, sau đó cài đặt:

    sudo dpkg -i path/to/package.deb

    Hãy gỡ cài đặt mọi phiên bản Coral Edge TPU runtime trước đó theo các bước trong mục Cài đặt Edge TPU Runtime.

  • Có. Thực hiện xuất trên Google Colab, máy Linux x86_64 hoặc bộ chứa Docker Ultralytics; bạn cũng có thể sử dụng Ultralytics Platform. Sau đây là cách xuất bằng Python và CLI:

    Xuất model
    from ultralytics import YOLO
    
    # Tải model
    model = YOLO("path/to/model.pt")  # Tải model chính thức hoặc model tùy chỉnh
    
    # # Xuất model
    model.export(format="edgetpu")

    Để biết thêm thông tin, hãy tham khảo tài liệu chế độ Export.

  • Nếu bạn đã cài đặt TensorFlow và cần chuyển sang tflite-runtime, trước tiên hãy gỡ cài đặt TensorFlow:

    pip uninstall tensorflow tensorflow-aarch64

    Sau đó cài đặt hoặc cập nhật tflite-runtime:

    pip install -U tflite-runtime

    Để biết hướng dẫn chi tiết, hãy tham khảo mục Chạy suy luận trên Edge TPU.

  • Sau khi xuất model YOLO26 sang định dạng tương thích với Edge TPU, hãy chạy suy luận bằng các đoạn mã sau. Tệp model phải giữ nguyên hậu tố _edgetpu.tflite để Ultralytics tải model trên Edge TPU:

    Chạy model
    from ultralytics import YOLO
    
    # Tải model
    model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite")  # Tải model chính thức hoặc model tùy chỉnh
    
    # Chạy dự đoán
    model.predict("path/to/source.png")

    Thông tin chi tiết về chế độ dự đoán có trên trang Predict.

Bình luận