Bỏ để qua phần 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 Accelerator

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 .



Xem: 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 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ể.

Cạnh 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 EdgeTPU với Raspberry Pi đã lỗi thời và Coral Edge hiện tại TPU Bản dựng thời gian chạy không hoạt động với hiện tại TensorFlow Phiên bản thời gian chạy Lite nữa. Thêm vào đó, Google dường như đã từ bỏ hoàn toàn dự án Coral và không có bất kỳ cập nhật nào từ năm 2021 đến năm 2024. Hướng dẫn này sẽ chỉ cho bạn cách lấy 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 tại đây.

Cài đặt Edge TPU Runtime

Đầu tiên, chúng ta cần cài đặt Edge TPU Runtime. Có rất nhiều phiên bản khác nhau có sẵn, 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 PiChế độ tần số caoPhiên bản để tải xuống
Mắt bò 32bitKhônglibedgetpu1-std_ ... .bullseye_armhf.deb
Mắt bò 64bitKhônglibedgetpu1-std_ ... .bullseye_arm64.deb
Mắt bò 32bitlibedgetpu1-max_ ... .bullseye_armhf.deb
Mắt bò 64bitlibedgetpu1-max_ ... .bullseye_arm64.deb
Mọt sách 32bitKhônglibedgetpu1-std_ ... .bookworm_armhf.deb
Mọt sách 64bitKhônglibedgetpu1-std_ ... .bookworm_arm64.deb
Mọt sách 32bitlibedgetpu1-max_ ... .bookworm_armhf.deb
Mọt sách 64bitlibedgetpu1-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 của mình 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 mới 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 thời gian chạy được cài đặt, 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 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, x86_64 máy Linux, sử dụng chính thức Ultralytics Bộ chứa Docker, hoặc sử dụng Ultralytics HUB, kể từ Edge TPU trình biên dịch không có sẵn 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/ 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 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

FAQ

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 là gì?

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 Các mẫu 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 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 bản thích hợp .deb gói cho phiên bản hệ điều hành Raspberry Pi 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 nó:

sudo dpkg -i path/to/package.deb

Đảm bảo gỡ cài đặt mọi Coral Edge 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 Mẫu YOLO11 tương thích với Coral Edge TPU ?

Có, bạn có thể xuất khẩu Ultralytics Mẫu YOLO11 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 về 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 gỡ cài đặt TensorFlow Sử dụng lần đầu:

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ô hình YOLO11 đã xuất trên Raspberry Pi bằng cách sử dụng Coral Edge TPU ?

Sau khi xuất mô hình YOLO11 của bạn sang 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 toàn diện 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 9 tháng ✏️ Đã cập nhật cách đây 1 tháng

Ý kiến