Cách chạy Ultralytics YOLO26 trên Raspberry Pi với Coral Edge TPU#
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ạy — USB 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.
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#
- Raspberry Pi 4B (khuyến nghị 2GB trở lên) hoặc Raspberry Pi 5 (Khuyến nghị)
- Raspberry Pi OS Bullseye/Bookworm (64-bit) có desktop (Khuyến nghị)
- Coral USB Accelerator
- Một nền tảng không phải ARM (Google Colab, máy Linux x86_64 hoặc Ultralytics Docker container) để export model, vì Edge TPU compiler không có sẵn trên ARM
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 OS | Chế độ tần số cao | Phiên bản cần tải xuống |
|---|---|---|
| Bullseye 32bit | Không | libedgetpu1-std_ ... .bullseye_armhf.deb |
| Bullseye 64bit | Không | libedgetpu1-std_ ... .bullseye_arm64.deb |
| Bullseye 32bit | Có | libedgetpu1-max_ ... .bullseye_armhf.deb |
| Bullseye 64bit | Có | libedgetpu1-max_ ... .bullseye_arm64.deb |
| Bookworm 32bit | Không | libedgetpu1-std_ ... .bookworm_armhf.deb |
| Bookworm 64bit | Không | libedgetpu1-std_ ... .bookworm_arm64.deb |
| Bookworm 32bit | Có | libedgetpu1-max_ ... .bookworm_armhf.deb |
| Bookworm 64bit | Có | libedgetpu1-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.debSau 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-maxExport 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.
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.
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-aarch64Sau đó cài đặt hoặc cập nhật tflite-runtime:
pip install -U tflite-runtimeBây giờ bạn có thể chạy inference:
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.
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 TPUBenchmark#
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.
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 ảnh | Model | Thời gian Inference tiêu chuẩn (ms) | Thời gian Inference tần số cao (ms) |
|---|---|---|---|
| 320 | YOLOv8n | 32.2 | 26.7 |
| 320 | YOLOv8s | 47.1 | 39.8 |
| 512 | YOLOv8n | 73.5 | 60.7 |
| 512 | YOLOv8s | 149.6 | 125.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
.debphù 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.debHã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 modelfrom 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-aarch64Sau đó 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 modelfrom 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.