Coral Edge TPU trên Raspberry Pi với Ultralytics YOLO11 🚀
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, công suất thấp cho các mô hình TensorFlow Lite. Đọc thêm tại trang chủ Coral Edge TPU.
Xem: Cách Chạy Suy Luận trên Raspberry Pi bằng Google Coral Edge TPU
Tăng hiệu suất Mô hình Raspberry Pi với Coral Edge TPU
Nhiều người muốn chạy mô hình của họ trên một thiết bị di động hoặc nhúng như Raspberry Pi, vì chúng rất tiết kiệm điện 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 hiệu suất suy luận đáng kể.
Edge TPU trên Raspberry Pi với TensorFlow Lite (Mới)⭐
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 dựng thời gian chạy Coral Edge TPU hiện tại không còn hoạt động với các phiên bản thời gian chạy TensorFlow Lite hiện tại nữa. Ngoài ra, Google dường như đã hoàn toàn từ bỏ dự án Coral và không có bất kỳ bản cập nhật nào từ năm 2021 đến năm 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 thời gian chạy TensorFlow Lite mới nhất và thời gian chạy Coral Edge TPU được cập nhật trên máy tính bảng đơn Raspberry Pi (SBC).
Đ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 dựa trên ARM để xuất mô hình PyTorch Ultralytics
Hướng dẫn cài đặt
Hướng dẫn này giả định rằng bạn đã cài đặt và có hệ điều hành Raspberry Pi đang hoạt động. ultralytics
và tất cả các dependency. Để lấy ultralytics
đã cài đặt, 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 Edge TPU runtime
Đầu tiên, chúng ta cần cài đặt Edge TPU runtime. 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 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, nó có thể dẫn đến điều tiết nhiệt của Edge TPU, vì vậy bạn nên có một số cơ chế làm mát.
Raspberry Pi OS | Chế độ tần số cao | Phiên bả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ừ đâ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 thời gian chạy, bạn cần cắm Coral Edge TPU vào cổng USB 3.0 trên Raspberry Pi của mình. Điều này là do, theo hướng dẫn chính thức, một udev
Quy tắc cần có hiệu lực sau khi cài đặt.
Quan trọng
Nếu bạn đã cài đặt Coral Edge TPU runtime, 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 mô hình của mình sang định dạng tương thích. Bạn nên chạy xuất trên Google Colab, máy Linux x86_64, sử dụng container Ultralytics Docker chính thức hoặc sử dụng Ultralytics HUB, 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 đối số có sẵn.
Xuất mô hình
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")
yolo export model=path/to/model.pt format=edgetpu # Export an official model or custom model
Mô hình đã xuất sẽ được lưu trong <model_name>_saved_model/
với tên <model_name>_full_integer_quant_edgetpu.tflite
. Điều quan trọng là mô hình của bạn phải kết thúc bằng hậu tố _edgetpu.tflite
, nếu không Ultralytics sẽ không biết rằng bạn đang sử dụng mô hình Edge TPU.
Chạy mô hình
Trước khi bạn có thể thực sự chạy mô hình, bạn sẽ cần cài đặt các thư viện chính xác.
Nếu tensorflow
đã được cài đặt, hãy gỡ cài đặt TensorFlow bằng lệnh sau:
pip uninstall tensorflow tensorflow-aarch64
Sau đó cài đặt/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 mã sau:
Chạy mô hình
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")
yolo predict model=path/to/MODEL_NAME_full_integer_quant_edgetpu.tflite source=path/to/source.png # Load an official model or custom model
Tìm thông tin toàn diện trên trang Dự đoán để biết chi tiế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
Điểm chuẩn
Điểm chuẩn
Đã thử nghiệm với Raspberry Pi Os Bookworm 64-Bit và USB Coral Edge TPU.
Lưu ý
Thời gian suy luận được hiển thị, không bao gồm công đoạn tiền-/hậu xử lý.
Kích thước hình ảnh | Mô hình | Thời gian suy luận tiêu chuẩn (ms) | Thời gian suy luận 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 |
Kích thước hình ảnh | Mô hình | Thời gian suy luận tiêu chuẩn (ms) | Thời gian suy luận tần số cao (ms) |
---|---|---|---|
320 | YOLOv8n | 22.2 | 16.7 |
320 | YOLOv8s | 40.1 | 32.2 |
512 | YOLOv8n | 53.5 | 41.6 |
512 | YOLOv8s | 132.0 | 103.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
Coral Edge TPU là gì và nó tăng cường hiệu suất của Raspberry Pi với Ultralytics YOLO11 như thế nào?
Coral Edge TPU là một thiết bị nhỏ gọn được thiết kế để thêm một 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 máy học hiệu suất cao, công suất thấp, đặc biệt được tối ưu hóa cho các mô hình TensorFlow Lite. Khi sử dụng Raspberry Pi, Edge TPU tăng tốc suy luận mô hình ML, giúp tăng đáng kể hiệu suất, đặc biệt đối với các mô hình Ultralytics YOLO11. Bạn có thể đọc thêm về Coral Edge TPU trên trang chủ của họ.
Làm cách nào để cài đặt Coral Edge TPU runtime trên Raspberry Pi?
Để cài đặt Coral Edge TPU runtime trên Raspberry Pi của bạn, hãy tải xuống .deb
gói 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 Coral Edge TPU runtime 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 mô hình Ultralytics YOLO11 của mình để tương thích với Coral Edge TPU không?
Có, bạn có thể xuất mô hình Ultralytics YOLO11 của mình để tương thích với Coral Edge TPU. Bạn nên thực hiện xuất trên Google Colab, máy Linux x86_64 hoặc sử dụng vùng chứa Ultralytics Docker. Bạn cũng có thể sử dụng Ultralytics HUB để xuất. Dưới đây là cách bạn có thể xuất mô hình của mình bằng Python và CLI:
Xuất mô hình
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")
yolo export model=path/to/model.pt format=edgetpu # Export an official model or custom model
Để 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 của mình, 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 của mình và cần chuyển sang tflite-runtime
, bạn sẽ cần gỡ cài đặt TensorFlow trước bằng cách sử dụng:
pip uninstall tensorflow tensorflow-aarch64
Sau đó, cài đặt hoặc cập nhật tflite-runtime
với 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 Mô hình.
Làm cách nào để chạy suy luận với mô hình YOLO11 đã xuất trên Raspberry Pi bằng Coral Edge TPU?
Sau khi xuất mô hình YOLO11 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 mô hình
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")
yolo predict model=path/to/edgetpu_model.tflite source=path/to/source.png # Load an official model or custom model
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.