Bỏ qua nội dung

Cạnh San Hô TPU trên một Raspberry Pi với Ultralytics YOLO11 🚀

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

Coral Edge là gì? TPU ?

Rìa San Hô TPU là một thiết bị nhỏ gọn bổ sung thêm một Edge TPU bộ đồng xử lý cho 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ủ TPU của Coral Edge .



Đồng hồ: Cách chạy suy luận trên Raspberry Pi bằng cách sử dụng Google Cạnh San Hô TPU

Tăng cườ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 thiết bị nhúng hoặc di độ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 . The Coral Edge TPU là giải pháp tuyệt vời cho vấn đề này vì nó có thể sử dụng với Raspberry Pi và tăng tốc hiệu suất suy luận đáng kể.

Bờ rìa 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à Coral Edge hiện tại TPU xây dựng thời gian chạy không hoạt động với hiện tại TensorFlow Phiên bản Lite runtime nữa. Ngoài ra, Google có vẻ 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 trong khoảng thời gian từ năm 2021 đến năm 2024. Hướng dẫn này sẽ chỉ cho bạn cách nhận Edge TPU làm việc với các phiên bản mới nhất của TensorFlow Thời gian chạy Lite và Coral Edge được cập nhật TPU thời gian chạy 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 hệ điều hành Raspberry Pi đang hoạt động và đã cài đặt ultralytics và tất cả các phụ thuộc. Để có được 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 ở đây.

Cài đặt Edge TPU thời gian chạy

Đầ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 phiên bản phù hợp với hệ điều hành của mình.

Hệ điều hành Raspberry Pi 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 Đúng libedgetpu1-max_ ... .bullseye_armhf.deb
Bullseye 64bit Đúng libedgetpu1-max_ ... .bullseye_arm64.deb
Mọt sách 32bit KHÔNG libedgetpu1-std_ ... .bookworm_armhf.deb
Sách 64bit KHÔNG libedgetpu1-std_ ... .bookworm_arm64.deb
Mọt sách 32bit Đúng libedgetpu1-max_ ... .bookworm_armhf.deb
Sách 64bit Đúng 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 tệp bằng lệnh sau:

sudo dpkg -i path/to/package.deb

Sau khi cài đặt runtime, bạn cần cắm Coral Edge vào TPU vào cổng USB 3.0 trên Raspberry Pi của bạn. Đ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ó Coral Edge TPU runtime đã cài đặt, hãy gỡ cài đặt 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 mô hình của bạn sang Edge TPU mô hình tương thích

Để 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 vùng chứa Docker chính thức của Ultralytics hoặc sử dụng Ultralytics HUB , vì Edge TPU trình biên dịch không khả dụng trên ARM. Xem Chế độ xuất để biết các đối số khả dụng.

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/ thư mục có tên <model_name>_full_integer_quant_edgetpu.tflite. Điều quan trọng là mô hình của bạn kết thúc bằng hậu tố _edgetpu.tflite, nếu không thì ultralytics không biết rằng bạn đang sử dụng Edge TPU người mẫu.

Chạy mô hình

Trước khi bạn có thể chạy mô hình, bạn sẽ cần cài đặt đúng thư viện.

Nếu như tensorflow được cài đặt, gỡ cài đặt tensorflow với 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 cách sử dụng đoạn 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 mã sau để chọn một TPU .

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ÂU HỎI THƯỜNG GẶP

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

Rìa San Hô TPU là một thiết bị nhỏ gọn được thiết kế để thêm một Edge TPU bộ đồng xử lý cho 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 TensorFlow Các mô hình Lite. Khi sử dụng Raspberry Pi, Edge TPU tăng tốc suy luận mô hình ML, tăng cường đáng kể hiệu suất, đặc biệt là đối với Ultralytics YOLO11 mô hình. Bạn có thể đọc thêm về Coral Edge TPU trên trang chủ của họ.

Làm thế nào để tôi cài đặt Coral Edge TPU thời gian chạy trên Raspberry Pi?

Để cài đặt Coral Edge TPU thời gian chạy 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

Hãy đảm bảo gỡ cài đặt bất kỳ Coral Edge nào trước đó TPU phiên bản thời gian chạy 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 khẩu của tôi Ultralytics YOLO11 mô hình tương thích với Coral Edge TPU ?

Có, bạn có thể xuất khẩu Ultralytics YOLO11 mô hình tương thích với Coral Edge TPU . Nên thực hiện xuất khẩu 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. Đây là cách bạn có thể xuất mô hình của mình bằng cách sử dụ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 tôi nhưng tôi muốn sử dụng tflite-runtime thay thế?

Nếu bạn có TensorFlow được cài đặt trên Raspberry Pi của bạn và cần chuyển sang tflite-runtime, bạn sẽ cần phải gỡ cài đặt TensorFlow đầu tiên 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

Đối với một bánh xe cụ thể, chẳng hạn như TensorFlow 2.15.0 tflite-runtime, bạn có thể tải xuống từ liên kết này và cài đặt nó bằng cách sử dụng pip. Hướng dẫn chi tiết có sẵn trong phần chạy mô hình Chạy mô hình.

Làm thế nào để tôi chạy suy luận với một xuất khẩu YOLO11 mô hình trên Raspberry Pi sử dụng Coral Edge TPU ?

Sau khi xuất khẩu của bạn YOLO11 mô hình đến một Edge TPU -định dạng tương thích, bạn có thể chạy suy luận bằng cách sử dụng đ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

Bạn có thể tìm thấy thông tin chi tiết về các tính năng của chế độ dự đoán đầy đủ trên Trang dự đoán .

📅 Được tạo cách đây 10 tháng ✏️ Đã cập nhật cách đây 1 tháng

Bình luận