Chuyển đến nội dung

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

Máy tính đơn bảng Raspberry Pi với bộ tăng tốc USB Edge TPU

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

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 libedgetpu1-max_ ... .bullseye_armhf.deb
Bullseye 64bit 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 libedgetpu1-max_ ... .bookworm_armhf.deb
Bookworm 64bit 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.



📅 Đã tạo 1 năm trước ✏️ Cập nhật 5 tháng trước

Bình luận