为 AXC F2152 构建 LiteRT Python Wheel
上月 Google 宣布 TensorFlow Lite 更名为 LiteRT(链接文章)。现在将成为其重振 Edge 计算范式、配合 Google AI Edge 保持相关性的尝试一部分。
我已通过 PLCnext Store 应用为教育目的提供 TensorFlow Lite(连同 numpy 和 OpenCV)预打包方案(链接应用)。但应用限制用户使用预打包方案,即使他们想尝试完全不同的东西或包含其他库。
考虑到最近更新应用需刷新记忆,决定创建此帖解释如何为 AXC F 2152 交叉编译 TensorFlow Lite Runtime。
最后一步运行过程可能显得繁琐,因公开库不直接支持 AXC F 2152 处理器架构,故需交叉编译。
注意:此过程在以下环境测试:
- 虚拟化 UBUNTU 22.04 终端。
- 虚拟机 27 GB RAM 和 16GB swap 文件【对交叉编译高度相关】,使用 24 核运行。
- 宿主机 32GB RAM 和 Core i7-12850HX 处理器。
注意 2:RAM 量保证交叉编译稳定且尽可能快。内存较少可能无法运行或耗时过长(我经验中达数小时)。
- 从想要编译的版本下载 TensorFlow 源码。https://github.com/tensorflow/tensorflow/releases/
- 解压到选定文件夹。下文用 "myfolder" 代指。
- 导航到 "
/myfolder/tensorflow-2.XX.0/tensorflow/lite/tools/pip_package/Makefile" 中的 "Makefile",修改基础镜像、Python 版本和 numpy 版本匹配系统。例:
- 导航到 "
/myfolder/tensorflow-2.XX.0/tensorflow/lite/tools/cmake/download_toolchains.sh" 中的 "downloadtoolchains.sh",修改 armhf 默认标志如图所示:
在 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 wheel 传到控制器用 pip 安装。
提示:经验中此过程对 Python 3.9、3.10、3.11 和 2.14 至 2.16.2 版本有效。但 2.17 以上版本有 bug。我在 TensorFlow GitHub 仓库有开放 issue 可跟踪。希望后续版本修复。
注意:
Makers Blog 展示社区成员应用和用户故事,未经 Phoenix Contact 测试或审核。使用风险自负。
工业技术
- 住宅配电箱断路器数量精准核算:基于负载计算的 NEC 实务指南
- 支出管理解决方案赋能私立大学:财务透明与捐赠信任双提升
- 产品追溯详解:为何对制造商至关重要
- 第11届苏州家具展落幕:12万平米、600展商、15万专业观众,RicoCNC展示全品类木工配件
- 用Linux终端命令在PLCnext Control上快速配置VLAN
- 2021工业物联网趋势:远程监控、预测性维护与工人安全
- 制造执行系统(MES):解锁效率、降本与实时可视化
- 有刷直流电机原理与选型全解析:四大励磁方式与四大工程优势
- Swanton Welding 新增第二台 Global Finishing Solutions 喷漆房,提升涂装效率与品质
- 定制外壳与零件选材实战指南:四大决策维度与五金属深度对比
- 驾驭假日需求:季节性如何塑造供应链成败
- 防止短路的实用PCB焊接技术