如何为 AXC F2152 构建 LiteRT Python 轮
上个月,谷歌宣布将 TensorFlow Lite 更名为/重命名为 LiteRT(文章链接)。现在,它将成为他们改进尝试的一部分,试图与 Google AI Edge 保持边缘计算范式的相关性。
我已经通过 PLCnext 商店中的一个用于教育目的的应用程序提供了 TensorFlow Lite(连同 numpy 和 OpenCV)(应用程序链接)。但是,该应用程序限制用户使用预打包的解决方案,即使他们想尝试完全不同的东西或包含其他库。
考虑到我最近更新了应用程序并且需要刷新一下如何操作的记忆,我决定创建这篇文章并解释如何为 AXC F 2152 交叉编译 TensorFlow Lite Runtime。
最后一步的运行过程可能会显得相当复杂,因为公开的库并不提供对AXC F 2152处理器架构的直接支持,因此需要交叉编译。
注意 :此程序经过测试:
- 虚拟化 UBUNTU 22.04 终端。
- 虚拟机拥有 27 GB RAM 和一个 16GB RAM 交换文件[与交叉编译过程高度相关],并使用 24 个内核运行。
- 配备 32GB RAM 和 Core i7-12850HX 处理器的主机。
注2 :RAM 的大小可以使交叉编译保持稳定并尽可能快地运行。 RAM 较少的设置可能无法运行交叉编译过程,或者可能需要很长时间(根据我自己的经验,最多几个小时)。
- 从您要编译的版本下载TensorFLow的源代码。 https://github.com/tensorflow/tensorflow/releases/
- 将内容提取到您选择的文件夹中。我将在下面的下一个条目中使用“myfolder”。
- 导航至“Makefile ” 在“
/myfolder/tensorflow-2.XX.0/tensorflow/lite/tools/pip_package/Makefile" 并修改基础镜像、python 版本和 numpy 版本以匹配您的系统。例如:
- 导航到“downloadtoolchains.sh ” 位于“
/myfolder/tensorflow-2.XX.0/tensorflow/lite/tools/cmake/download_toolchains.sh" 并修改 armh 默认情况下的标志,如下所示:
-
在 TensorFlow 文件夹 (/myfolder/tensorflow-2.XX.0) 中,运行命令:“
make -C tensorflow/lite/tools/pip_package docker-build \ TENSORFLOW_TARGET=armhf PYTHON_VERSION=3.10” -
警告:上一步的过程可能会花费大量时间,请耐心等待。
-
该过程完成后,从“
tensorflow-2.XX.0/tensorflow/lite/tools/pip_package/gen/tflite_pip/python3.10/dist”中取出Python轮 " 到您的控制器并使用 pip 安装它。
通知 :根据我的经验,该过程适用于 Python 3.9、3.10 和 3.11 以及版本 2.14 至 2.16.2。然而,2.17 版本以上的版本有一个 bug。我在 TensorFlow 的 GitHub 存储库中有一个未解决的问题,可以在此处关注。我希望这个问题可以在后续版本中得到解决。
注意:
创客博客显示未经菲尼克斯电气测试或审核的社区成员的应用程序和用户故事。使用它们的风险由您自行承担。
工业技术