在Raspberry Pi上使用Coral Edge TPU与Ultralytics YOLO11 🚀
什么是Coral Edge TPU?
Coral Edge TPU是一个紧凑的设备,为您的系统添加了一个Edge TPU协处理器。它为TensorFlow Lite模型提供了低功耗、高性能的ML推理。更多信息请访问Coral Edge TPU主页。
观看: 如何在Raspberry Pi上使用Google Coral Edge TPU进行推理
使用Coral Edge TPU提升Raspberry Pi的模型性能
许多人希望在嵌入式或移动设备(如Raspberry Pi)上运行他们的模型,因为这些设备非常节能,并且可以用于许多不同的应用。然而,即使使用onnx或openvino等格式,这些设备上的推理性能通常也很差。Coral Edge TPU是解决这个问题的一个很好的方案,因为它可以与Raspberry Pi一起使用,并大大加速推理性能。
在Raspberry Pi上使用TensorFlow Lite的Edge TPU(新)⭐
Coral关于如何在Raspberry Pi上使用Edge TPU的现有指南已经过时,当前的Coral Edge TPU运行时构建不再与当前的TensorFlow Lite运行时版本兼容。此外,Google似乎已经完全放弃了Coral项目,2021年至2024年之间没有任何更新。本指南将向您展示如何在Raspberry Pi单板计算机(SBC)上使用最新版本的TensorFlow Lite运行时和更新的Coral Edge TPU运行时。
前提条件
- Raspberry Pi 4B(推荐2GB或更多)或Raspberry Pi 5(推荐)
- Raspberry Pi OS Bullseye/Bookworm(64位)带桌面(推荐)
- Coral USB加速器
- 用于导出Ultralytics PyTorch模型的非ARM平台
安装步骤
本指南假设您已经安装了可用的Raspberry Pi OS,并且已经安装了ultralytics
及其所有依赖项。要安装ultralytics
,请访问快速入门指南以在继续之前进行设置。
安装Edge TPU运行时
首先,我们需要安装Edge TPU运行时。有许多不同的版本可用,因此您需要为您的操作系统选择正确的版本。
Raspberry Pi OS | 高频模式 | 下载版本 |
---|---|---|
Bullseye 32bit | 否 | libedgetpu1-std_ ... .bullseye_armhf.deb |
Bullseye 64bit | 否 | libedgetpu1-std_ ... .bullseye_arm64.deb |
Bullseye 32bit | 是 | libedgetpu1-max_ ... .bullseye_armhf.deb |
Bullseye 64bit | 是 | libedgetpu1-max_ ... .bullseye_arm64.deb |
Bookworm 32bit | 否 | libedgetpu1-std_ ... .bookworm_armhf.deb |
Bookworm 64bit | 否 | libedgetpu1-std_ ... .bookworm_arm64.deb |
Bookworm 32bit | 是 | libedgetpu1-max_ ... .bookworm_armhf.deb |
Bookworm 64bit | 是 | libedgetpu1-max_ ... .bookworm_arm64.deb |
下载文件后,可以使用以下命令安装它:
安装运行时后,您需要将Coral Edge TPU插入Raspberry Pi上的USB 3.0端口。这是因为根据官方指南,安装后需要新的udev
规则生效。
重要
如果您已经安装了Coral Edge TPU运行时,请使用以下命令卸载它。
将你的模型导出为Edge TPU兼容的模型
要使用Edge TPU,你需要将模型转换为兼容的格式。建议你在Google Colab、x86_64 Linux机器上运行导出,使用官方的Ultralytics Docker容器,或使用Ultralytics HUB,因为Edge TPU编译器在ARM上不可用。查看导出模式以获取可用参数。
导出模型
导出的模型将保存在<model_name>_saved_model/
文件夹中,名称为<model_name>_full_integer_quant_edgetpu.tflite
。
运行模型
导出模型后,你可以使用以下代码运行推理:
运行模型
在预测页面找到全面的预测模式详细信息。
重要
你应该使用tflite-runtime
而不是tensorflow
来运行模型。
如果已安装tensorflow
,请使用以下命令卸载tensorflow:
然后安装/更新tflite-runtime
:
如果你想为tensorflow
2.15.0下载tflite-runtime
轮子,请从这里下载并使用pip
或你选择的包管理器安装。
常见问题
什么是Coral Edge TPU,它如何增强Raspberry Pi与Ultralytics YOLO11的性能?
Coral Edge TPU是一个紧凑的设备,旨在为你的系统添加一个Edge TPU协处理器。这个协处理器能够在低功耗下实现高性能的机器学习推理,特别是针对TensorFlow Lite模型的优化。当使用Raspberry Pi时,Edge TPU加速了ML模型的推理,显著提升了性能,特别是对于Ultralytics YOLO11模型。你可以在他们的主页上阅读更多关于Coral Edge TPU的信息。
如何在Raspberry Pi上安装Coral Edge TPU运行时?
要在你的Raspberry Pi上安装Coral Edge TPU运行时,请从此链接下载适用于你的Raspberry Pi OS版本的.deb
包。下载后,使用以下命令安装它:
确保按照安装指南部分中的步骤卸载任何以前的Coral Edge TPU运行时版本。
我可以将我的Ultralytics YOLO11模型导出为与Coral Edge TPU兼容的模型吗?
是的,你可以将你的Ultralytics YOLO11模型导出为与Coral Edge TPU兼容的模型。建议在Google Colab、x86_64 Linux机器上进行导出,或使用Ultralytics Docker容器。你也可以使用Ultralytics HUB进行导出。以下是如何使用Python和CLI导出模型的方法:
导出模型
更多信息,请参阅导出模式文档。
如果我的Raspberry Pi上已经安装了TensorFlow,但我想要使用tflite-runtime,我应该怎么做?
如果你在Raspberry Pi上已经安装了TensorFlow,并且需要切换到tflite-runtime
,你需要先卸载TensorFlow:
tflite-runtime
:
对于特定的 wheel 文件,例如 TensorFlow 2.15.0 的 tflite-runtime
,你可以从此链接下载并使用 pip
安装。详细的说明可以在运行模型的部分找到 运行模型。
如何在 Raspberry Pi 上使用 Coral Edge TPU 运行导出的 YOLO11 模型的推理?
在将 YOLO11 模型导出为 Edge TPU 兼容格式后,你可以使用以下代码片段运行推理:
运行模型
有关完整预测模式功能的详细信息,请参阅预测页面。