Coral Edge TPU trên Raspberry Pi với Ultralytics YOLO26 🚀

Raspberry Pi with Edge TPU accelerator

Coral Edge TPU là gì?

Coral Edge TPU là một thiết bị nhỏ gọn bổ sung bộ đồng xử lý Edge TPU vào hệ thống của bạn. Nó cho phép suy luận ML hiệu suất cao, tiêu thụ điện năng thấp cho các model TensorFlow Lite. Tìm hiểu thêm tại trang chủ Coral Edge TPU.



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

Tăng cường hiệu suất Raspberry Pi với Coral Edge TPU

Nhiều người muốn chạy model trên các thiết bị nhúng hoặc di động như Raspberry Pi vì chúng rất tiết kiệm năng lượng và có thể được sử dụng trong nhiều ứng dụng khác nhau. Tuy nhiên, hiệu suất suy luận trên các thiết bị này thường kém ngay cả khi sử dụng các định dạng như ONNX hoặc OpenVINO. Coral Edge TPU là một giải pháp tuyệt vời cho vấn đề này vì nó có thể được sử dụng với Raspberry Pi và tăng tốc đáng kể hiệu suất suy luận.

Edge TPU trên Raspberry Pi với TensorFlow Lite (Mới)⭐

Các hướng dẫn hiện có của Coral về cách sử dụng Edge TPU với Raspberry Pi đã lỗi thời, và các bản build runtime Coral Edge TPU hiện tại không còn hoạt động với các phiên bản runtime TensorFlow Lite mới nhất nữa. Ngoài ra, Google dường như đã hoàn toàn bỏ bê dự án Coral và không có bất kỳ bản cập nhật nào từ năm 2021 đến 2025. Hướng dẫn này sẽ chỉ cho bạn cách làm cho Edge TPU hoạt động với các phiên bản mới nhất của runtime TensorFlow Lite và runtime Coral Edge TPU được cập nhật trên máy tính bảng đơn (SBC) Raspberry Pi.

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

Hướng dẫn cài đặt

Hướng dẫn này giả định rằng bạn đã cài đặt sẵn Raspberry Pi OS và đã cài đặt ultralytics cùng tất cả các phụ thuộc. Để cài đặt ultralytics, hãy truy cập hướng dẫn bắt đầu nhanh để thiết lập trước khi tiếp tục tại đây.

Cài đặt runtime Edge TPU

Trước tiên, chúng ta cần cài đặt runtime Edge TPU. Có nhiều phiên bản khác nhau, vì vậy bạn cần chọn đúng phiên bản cho hệ điều hành của mình. Phiên bản tần số cao (high-frequency) chạy Edge TPU ở tốc độ xung nhịp cao hơn, giúp cải thiện hiệu suất. Tuy nhiên, điều này có thể dẫn đến hiện tượng giảm xung nhiệt (thermal throttling) của Edge TPU, vì vậy bạn nên trang bị một cơ chế làm mát nào đó.

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 khi tải xuống tệp, bạn có thể cài đặt nó bằng lệnh sau:

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.

Quan trọng

Nếu bạn đã cài đặt sẵn runtime Coral Edge TPU, hãy gỡ cài đặt nó bằng lệnh sau.

# 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 sang Edge TPU

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

Xuất 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 đã xuất sẽ được lưu trong thư mục <model_name>_saved_model/ với tên <model_name>_full_integer_quant_edgetpu.tflite. Đảm bảo tên tệp kết thúc bằng hậu tố _edgetpu.tflite; nếu không, Ultralytics sẽ không phát hiện ra rằng bạn đang sử dụng model Edge TPU.

Chạy model

Trước khi thực sự có thể chạy model, bạn sẽ cần cài đặt các thư viện chính xác.

Nếu bạn đã cài đặt TensorFlow, hãy gỡ cài đặt nó bằng lệnh sau:

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 suy luận bằng đoạn mã sau:

Chạy model
from ultralytics import YOLO

# Load a model
model = YOLO("path/to/<model_name>_full_integer_quant_edgetpu.tflite")  # Load an official model or custom model

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

Tìm thông tin chi tiết trên trang Dự đoán (Predict) để biết đầy đủ về chế độ dự đoán.

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

Nếu bạn có nhiều Edge TPU, bạn có thể sử dụng đoạn mã sau để chọn một TPU cụ thể.

from ultralytics import YOLO

# Load a model
model = YOLO("path/to/<model_name>_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

Các Benchmark

Các Benchmark

Đã kiểm thử với Raspberry Pi OS Bookworm 64-bit và một USB Coral Edge TPU.

Lưu ý

Thời gian suy luận được hiển thị, không bao gồm tiền xử lý/hậu xử lý.

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:

  • 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.

Câu hỏi thường gặp (FAQ)

Coral Edge TPU là gì và nó tăng cường hiệu suất Raspberry Pi với Ultralytics YOLO26 như thế nào?

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

Làm thế nào để cài đặt runtime Coral Edge TPU trên Raspberry Pi?

Để cài đặt runtime Coral Edge TPU trên Raspberry Pi, hãy tải xuống gói .deb phù hợp cho phiên bản Raspberry Pi OS của bạn từ liên kết này. Sau khi tải xuống, hãy sử dụng lệnh sau để cài đặt:

sudo dpkg -i path/to/package.deb

Đảm bảo gỡ cài đặt mọi phiên bản runtime Coral Edge TPU trước đó bằng cách làm theo các bước được nêu trong phần Hướng dẫn cài đặt.

Tôi có thể xuất model Ultralytics YOLO26 để tương thích với Coral Edge TPU không?

Có, bạn có thể xuất model Ultralytics YOLO26 để tương thích với Coral Edge TPU. Chúng tôi khuyên bạn nên thực hiện xuất trên Google Colab, máy Linux x86_64, hoặc sử dụng Ultralytics Docker container. Bạn cũng có thể sử dụng Ultralytics Platform để xuất. Dưới đây là cách bạn có thể xuất model của mình bằng Python và CLI:

Xuất 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 Chế độ Xuất.

Tôi nên làm gì nếu TensorFlow đã được cài đặt trên Raspberry Pi, nhưng tôi muốn sử dụng tflite-runtime thay thế?

Nếu bạn đã cài đặt TensorFlow trên Raspberry Pi và cần chuyển sang tflite-runtime, trước tiên bạn cần gỡ cài đặt TensorFlow bằng lệnh:

pip uninstall tensorflow tensorflow-aarch64

Sau đó, cài đặt hoặc cập nhật tflite-runtime bằng lệnh sau:

pip install -U tflite-runtime

Để biết hướng dẫn chi tiết, hãy tham khảo phần Chạy Model.

Làm thế nào để chạy suy luận với model YOLO26 đã xuất trên Raspberry Pi bằng Coral Edge TPU?

Sau khi xuất model YOLO26 sang định dạng tương thích với Edge TPU, bạn có thể chạy suy luận bằng các đoạn mã sau:

Chạy model
from ultralytics import YOLO

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

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

Thông tin chi tiết toàn diện về các tính năng của chế độ dự đoán đầy đủ có thể được tìm thấy trên Trang Dự đoán (Predict).

Bình luận