Ultralytics YOLO27:

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

Raspberry Pi with Edge TPU accelerator

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



Watch: How to Run Inference on Raspberry Pi using Google Coral Edge TPU

Tại sao nên sử dụng Coral Edge TPU?#

Coral Edge TPU là một thiết bị nhỏ gọn, bổ sung coprocessor Edge TPU cho hệ thống, cho phép thực hiện inference ML hiệu năng cao với mức tiêu thụ điện thấp đối 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 chỉ CPU không thể đáp ứng đủ tốc độ:

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

Hướng dẫn Coral chính thức đã lỗi thời: các bản build Coral runtime ban đầu không còn hoạt động với các phiên bản TensorFlow Lite runtime 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 Edge TPU runtime được duy trì tích cực và tflite-runtime mới nhất để accelerator 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 hoạt động với ultralytics và các dependency của nó. Nếu chưa, trước tiên hãy làm theo hướng dẫn quickstart.

Khi đã chuẩn bị xong các điều kiện tiên quyết, workflow gồm ba bước: cài đặt Edge TPU runtime trên Pi, export model của bạn trên máy không phải ARM và chạy inference trở lại trên Pi.

Cài đặt Edge TPU Runtime#

Runtime có nhiều bản build, 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 build 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 throttling do nhiệt — hãy sử dụng một hình thức làm mát nào đó 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 32bitlibedgetpu1-max_ ... .bullseye_armhf.deb
Bullseye 64bitlibedgetpu1-max_ ... .bullseye_arm64.deb
Bookworm 32bitKhônglibedgetpu1-std_ ... .bookworm_armhf.deb
Bookworm 64bitKhônglibedgetpu1-std_ ... .bookworm_arm64.deb
Bookworm 32bitlibedgetpu1-max_ ... .bookworm_armhf.deb
Bookworm 64bitlibedgetpu1-max_ ... .bookworm_arm64.deb

Tải xuống phiên bản mới nhất tại đây, sau đó cài đặt package .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 để rule 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 một bản build 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

Export Model sang Format Edge TPU#

Để sử dụng Edge TPU, hãy chuyển đổi model sang một format tương thích. Thực hiện export trên nền tảng không phải ARM — Google Colab, máy Linux x86_64, Ultralytics Docker container chính thức hoặc Ultralytics Platform — vì Edge TPU compiler không có sẵn trên ARM. Xem Export mode để biết các argument khả dụng.

Export model
from ultralytics import YOLO

# Load a model
model = YOLO("path/to/model.pt")  # Load an official model or custom model

# Export the model
model.export(format="edgetpu")

Model đã export được lưu trong thư mục <model_name>_saved_model/ dưới dạng <model_name>_full_integer_quant_edgetpu.tflite.

Giữ hậu tố `_edgetpu.tflite`

Tên file 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ẽ load file này dưới dạng model TensorFlow Lite thông thường thay vì phát hiện Edge TPU, và accelerator sẽ không được sử dụng.

Chạy Inference trên Edge TPU#

Trước khi chạy model, hãy cài đặt đúng các library 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

Bây giờ bạn có thể chạy inference:

Chạy model
from ultralytics import YOLO

# Load a model
model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite")  # Load an official model or custom model

# Run Prediction
model.predict("path/to/source.png")

Xem thông tin đầy đủ về prediction mode trên trang Predict.

Inference 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 argument device.

from ultralytics import YOLO

# Load a model
model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite")  # Load an official model or custom model

# Run Prediction
model.predict("path/to/source.png")  # Inference defaults to the first TPU

model.predict("path/to/source.png", device="tpu:0")  # Select the first TPU

model.predict("path/to/source.png", device="tpu:1")  # Select the second TPU

Benchmark#

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

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

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

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

Trung bình:

  • Raspberry Pi 5 nhanh hơn 22% ở chế độ tiêu chuẩn so với Raspberry Pi 4B.
  • Raspberry Pi 5 nhanh hơn 30,2% ở chế độ tần số cao so với Raspberry Pi 4B.
  • Chế độ tần số cao nhanh hơn 28,4% so với chế độ tiêu chuẩn.

Kết luận#

Coral Edge TPU biến Raspberry Pi thành một thiết bị inference có năng lực và tiết kiệm điện cho Ultralytics YOLO26. Hãy export model trên máy không phải ARM, giữ hậu tố _edgetpu.tflite và chạy model bằng tflite-runtime trên Pi để có inference tại edge được tăng tốc. Để biết thêm các tùy chọn triển khai, xem hướng dẫn Raspberry Pi.

FAQ#

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

  • Tải package .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 đảm bảo gỡ cài đặt mọi phiên bản Coral Edge TPU runtime trước đó bằng cách làm theo các bước trong phần Cài đặt Edge TPU Runtime.

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

    Export model
    from ultralytics import YOLO
    
    # Load a model
    model = YOLO("path/to/model.pt")  # Load an official model or custom model
    
    # Export the model
    model.export(format="edgetpu")

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

  • Nếu đã 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 phần Chạy Inference trên Edge TPU.

  • Sau khi export model YOLO26 sang format tương thích với Edge TPU, hãy chạy inference bằng các đoạn code sau. File model phải giữ hậu tố _edgetpu.tflite để Ultralytics load model trên Edge TPU:

    Chạy model
    from ultralytics import YOLO
    
    # Load a model
    model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite")  # Load an official model or custom model
    
    # Run Prediction
    model.predict("path/to/source.png")

    Xem thông tin toàn diện về prediction mode trên trang Predict.

Bình luận