Project Icon

libedgetpu

Coral设备边缘AI推理的高性能运行时库

libedgetpu是一个开源项目,为Coral设备提供用户空间运行时驱动。支持多平台构建和ARM架构交叉编译,优化Edge TPU性能实现高效边缘AI推理。提供Docker、Bazel和Makefile构建方式,适用于Linux、macOS和Windows等主流操作系统。使用USB加速器时需注意散热问题,建议在适宜温度下操作以确保安全。

Edge TPU 运行时库 (libedgetpu)

本仓库包含 Coral 设备 用户空间级运行时驱动程序的源代码。该软件以二进制形式分发在 coral.ai/software

构建

有三种方法可以构建 libedgetpu:

  • Docker + Bazel:兼容 Linux、MacOS 和 Windows(通过 Dockerfile.windows 和 build.bat),此方法确保已知良好的构建环境,并拉取所需的所有外部依赖项。
  • Bazel:支持 Linux、macOS 和 Windows(通过 build.bat)。使用此技术之前需要适当的环境设置。
  • Makefile:仅支持 Linux 和本机构建,这种策略是纯 Makefile,不需要在运行时拉取 Bazel 或外部依赖项。

Bazel + Docker [推荐]

对于 Debian/Ubuntu,安装以下库:

$ sudo apt install docker.io devscripts

在 Docker 容器内构建 Linux 二进制文件(适用于 Linux 和 macOS):

DOCKER_CPUS="k8" DOCKER_IMAGE="ubuntu:22.04" DOCKER_TARGETS=libedgetpu make docker-build
DOCKER_CPUS="armv7a aarch64" DOCKER_IMAGE="debian:bookworm" DOCKER_TARGETS=libedgetpu make docker-build

所有构建的二进制文件都放在 out 目录中。请注意,bazel-* 不会从 Docker 容器复制到主机。

分别为 arm64armhfamd64 打包 Debian deb:

debuild -us -uc -tc -b -a arm64 -d
debuild -us -uc -tc -b -a armhf -d
debuild -us -uc -tc -b -a amd64 -d

Bazel

bazel 的版本需要与相应 tensorflow 版本推荐的版本相同。例如,编译 TF 2.16.1 需要 Bazel 6.5.0

当前支持的 tensorflow 版本是 2.16.1

在 Linux 和 macOS 上构建本机二进制文件:

$ make

Linux 所需的库:

$ sudo apt install python3-dev

在 Windows 上构建本机二进制文件:

$ build.bat

在 Linux 上交叉编译 ARMv7-A(32 位)和 ARMv8-A(64 位):

$ CPU=armv7a make
$ CPU=aarch64 make

打包 Debian deb:

debuild -us -uc -tc -b

MacOS 注意事项:在 MacOS 上编译失败。两个要求:

  • 安装 flatbuffers(通过 macports)
  • 编译失败后,在 bazel 创建的临时文件 /var/tmp/_bazl_xxxxx/xxxxxxxxxxxxx/external/local_config_cc/BUILD 第 48 行添加以下内容:
"darwin_x86_64": ":cc-compiler-darwin",

重复编译。

Makefile

如果只为本机系统构建,可以通过移除 Bazel(和 Docker)来显著降低构建的复杂性。这种简单方法只构建所需内容,移除构建时依赖获取,提高速度,并使用上游 Debian 包。

准备系统需要以下包(在 Debian Bookworm、Bullseye 或 Buster-Backports 上可用):

sudo apt install libabsl-dev libflatbuffers-dev

接下来,需要在所需的检出点克隆 Tensorflow 仓库(不建议使用 TF 最新版本)。如果计划使用 libcoral 或 pycoral 库,这应与这些仓库 WORKSPACE 文件中的版本匹配。例如,如果使用 TF2.15,我们可以查看 TF 仓库中的该标签,获取该稳定版本的最新提交,然后检出该地址:

git clone https://github.com/tensorflow/tensorflow
git checkout v2.16.1

构建库:

TFROOT=<Tensorflow 目录> make -f makefile_build/Makefile -j$(nproc) libedgetpu

支持

如果您对该库有疑问、评论或请求,请联系 coral-support@google.com

许可证

Apache License 2.0

警告

如果您使用 Coral USB 加速器,根据计算工作负载和运行频率,它在操作过程中可能会发热。长时间操作后触摸 USB 加速器的金属部分可能会导致不适和/或皮肤灼伤。因此,如果您使用最高运行频率启用 Edge TPU 运行时,USB 加速器应在不超过 25°C 的环境温度下操作。或者,如果您使用降低的运行频率启用 Edge TPU 运行时,则设备应在不超过 35°C 的环境温度下安全运行。

如果设备在推荐的环境温度范围之外操作,Google 不承担任何损失或损害的责任。

注意:此问题仅影响基于 USB 的 Coral 设备,与 PCIe 设备无关。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号