如何在 Raspberry Pi 上使用 Coral Edge TPU 运行 Ultralytics YOLO26#
Raspberry Pi 是一种功耗低、价格实惠的平台,适合在边缘设备上运行计算机视觉任务,但即使使用 ONNX 或 OpenVINO 等优化格式,设备端推理仍然很慢。将 Pi 与 Coral Edge TPU 协处理器配合使用,可以把推理任务交给专用硬件处理,大幅提升速度。本指南将介绍如何安装运行时、将 Ultralytics YOLO26 模型导出为 Edge TPU 格式,以及如何运行加速推理。
观看: 如何在 Raspberry Pi 上使用 Google Coral Edge TPU 运行推理
为什么要使用 Coral Edge TPU?#
Coral Edge TPU 是一款紧凑型设备,可为系统添加 Edge TPU 协处理器,从而为 TensorFlow Lite 模型提供低功耗、高性能的 ML 推理。它非常适合嵌入式和移动部署,在这些场景中,仅靠 CPU 无法满足性能需求:
- 更快的推理速度 — Edge TPU 对量化模型进行加速,其性能远超 Raspberry Pi CPU 单独运行时的表现。
- 低功耗 — 它能以较低功耗提供高吞吐量,非常适合电池供电或太阳能供电的部署场景。
- 即插即用 — USB 加速器通过 USB 3.0 连接,无需额外集成硬件。
Coral 官方指南已经过时:原版 Coral 运行时构建版本无法与当前 TensorFlow Lite 运行时版本配合使用,而且该项目在 2021 年至 2025 年间没有更新。本指南使用持续维护的 Edge TPU 运行时和最新版 tflite-runtime,确保加速器能够在当前版本的 Raspberry Pi OS 上正常工作。
前置条件#
- Raspberry Pi 4B(建议 2GB 或更大内存)或 Raspberry Pi 5(推荐)
- Raspberry Pi OS Bullseye/Bookworm(64 位,带桌面环境,推荐)
- Coral USB 加速器
- 用于导出模型的 x86_64 Linux 平台(Google Colab、x86_64 Linux 机器,或在 x86_64 主机上运行的 Ultralytics Docker 容器),因为 Edge TPU 编译器仅适用于 x86_64 Linux
本指南假设你已经安装了可正常运行的 Raspberry Pi OS,并已安装 ultralytics 及其依赖项。如果还没有,请先按照快速入门指南进行操作。
准备好先决条件后,工作流程分为三个步骤:在 Pi 上安装 Edge TPU 运行时、在 x86_64 Linux 机器上导出模型,然后返回 Pi 上运行推理。
安装 Edge TPU 运行时#
运行时提供多个构建版本,请选择与你的操作系统匹配的版本。高频版本会以更高的时钟速度运行 Edge TPU,从而提升性能,但可能导致热降频;如果选择该版本,请采取适当的散热措施。
| Raspberry Pi OS | 高频模式 | 下载版本 |
|---|---|---|
| Bullseye 32 位 | 否 | libedgetpu1-std_ ... .bullseye_armhf.deb |
| Bullseye 64 位 | 否 | libedgetpu1-std_ ... .bullseye_arm64.deb |
| Bullseye 32 位 | 是 | libedgetpu1-max_ ... .bullseye_armhf.deb |
| Bullseye 64 位 | 是 | libedgetpu1-max_ ... .bullseye_arm64.deb |
| Bookworm 32 位 | 否 | libedgetpu1-std_ ... .bookworm_armhf.deb |
| Bookworm 64 位 | 否 | libedgetpu1-std_ ... .bookworm_arm64.deb |
| Bookworm 32 位 | 是 | libedgetpu1-max_ ... .bookworm_armhf.deb |
| Bookworm 64 位 | 是 | libedgetpu1-max_ ... .bookworm_arm64.deb |
在此处下载最新版本,然后安装 .deb 软件包:
sudo dpkg -i path/to/package.deb安装运行时后,将 Coral Edge TPU 插入 Raspberry Pi 的 USB 3.0 端口,以使新的 udev 规则生效。
先移除现有运行时
如果已经安装 Coral Edge TPU 运行时,请先卸载,再安装新的构建版本。
# If you installed the standard version
sudo apt remove libedgetpu1-std
# If you installed the high-frequency version
sudo apt remove libedgetpu1-max将模型导出为 Edge TPU 格式#
要使用 Edge TPU,必须将模型转换为兼容格式。请在 x86_64 Linux 环境中运行导出操作,例如 Google Colab、x86_64 Linux 机器、x86_64 主机上的官方 Ultralytics Docker 容器,或 Ultralytics Platform,因为 Edge TPU 编译器仅适用于 x86_64 Linux。有关可用参数,请参阅导出模式。
from ultralytics import YOLO
# 加载模型
model = YOLO("path/to/model.pt") # 加载官方模型或自定义模型
# 导出模型
model.export(format="edgetpu")导出的模型会保存在 <model_name>_saved_model/ 文件夹中,文件名为 <model_name>_full_integer_quant_edgetpu.tflite。
文件名必须以 _edgetpu.tflite 结尾。如果将其重命名为其他名称,Ultralytics 会把它作为普通 LiteRT(.tflite)模型加载,而不是识别为 Edge TPU 模型,因此不会使用加速器。
在 Edge TPU 上运行推理#
运行模型前,请在 Raspberry Pi 上安装正确的库。如果已经安装 TensorFlow,请先卸载:
pip uninstall tensorflow tensorflow-aarch64然后安装或更新 tflite-runtime:
pip install -U tflite-runtime现在可以运行推理了:
from ultralytics import YOLO
# 加载模型
model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite") # 加载官方模型或自定义模型
# 运行预测
model.predict("path/to/source.png")在预测页面中查看预测模式的完整详情。
如果有多个 Edge TPU,可以使用 device 参数选择特定设备。
from ultralytics import YOLO
# 加载模型
model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite") # 加载官方模型或自定义模型
# 运行预测
model.predict("path/to/source.png") # 推理默认使用第一个 TPU
model.predict("path/to/source.png", device="tpu:0") # 选择第一个 TPU
model.predict("path/to/source.png", device="tpu:1") # 选择第二个 TPU基准测试#
以下数据是在 Raspberry Pi OS Bookworm 64 位系统和 USB Coral Edge TPU 上测得的。数据仅显示推理时间(不包括预处理和后处理),可作为参考,帮助比较 Edge TPU 在不同 Pi 型号和模式下带来的加速效果。
这些基准测试使用 YOLOv8 模型进行记录。绝对推理时间会因模型版本和图像尺寸而异,但不同 Pi 型号和时钟模式之间的相对加速效果保持不变。
| 图像尺寸 | 模型 | 标准推理时间(毫秒) | 高频推理时间(毫秒) |
|---|---|---|---|
| 320 | YOLOv8n | 32.2 | 26.7 |
| 320 | YOLOv8s | 47.1 | 39.8 |
| 512 | YOLOv8n | 73.5 | 60.7 |
| 512 | YOLOv8s | 149.6 | 125.3 |
平均而言:
- 标准模式下,Raspberry Pi 5 比 Raspberry Pi 4B 快 22%。
- 高频模式下,Raspberry Pi 5 比 Raspberry Pi 4B 快 30.2%。
- 高频模式比标准模式快 28.4%。
结论#
Coral Edge TPU 可将 Raspberry Pi 变成适用于 Ultralytics YOLO26 的高性能低功耗推理设备。在 x86_64 Linux 机器上导出模型,保留 _edgetpu.tflite 后缀,然后在 Pi 上使用 tflite-runtime 运行模型,即可实现加速的边缘推理。有关更多部署选项,请参阅 Raspberry Pi 指南。
常见问题#
Coral Edge TPU 是一款紧凑型设备,可为系统添加 Edge TPU 协处理器。该协处理器可实现低功耗、高性能的 ML 推理,并针对 TensorFlow Lite 模型进行了特别优化。在 Raspberry Pi 上,它能大幅提升推理速度,远超单独使用 CPU 的表现,从而显著提高 Ultralytics YOLO26 模型的性能。
从此链接下载适用于你的 Raspberry Pi OS 版本的
.deb软件包,然后安装:sudo dpkg -i path/to/package.deb请按照安装 Edge TPU 运行时部分中的步骤,确保卸载任何旧版 Coral Edge TPU 运行时。
可以。请在 Google Colab、x86_64 Linux 机器或 Ultralytics Docker 容器中运行导出操作;你也可以使用 Ultralytics Platform。以下是使用 Python 和 CLI 导出的方法:
导出模型from ultralytics import YOLO # 加载模型 model = YOLO("path/to/model.pt") # 加载官方模型或自定义模型 # 导出模型 model.export(format="edgetpu")更多信息请参阅导出模式文档。
如果已经安装 TensorFlow 并需要切换到
tflite-runtime,请先卸载 TensorFlow:pip uninstall tensorflow tensorflow-aarch64然后安装或更新
tflite-runtime:pip install -U tflite-runtime详细说明请参阅在 Edge TPU 上运行推理部分。
将 YOLO26 模型导出为兼容 Edge TPU 的格式后,使用以下代码片段运行推理。模型文件必须保留
_edgetpu.tflite后缀,这样 Ultralytics 才会在 Edge TPU 上加载该模型:运行模型from ultralytics import YOLO # 加载模型 model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite") # 加载官方模型或自定义模型 # 运行预测 model.predict("path/to/source.png")预测模式的完整详情请参阅预测页面。