tensorflow-lite 是tensorflow 支持的可以在端侧部署的工具,可以在端侧做训练和推理,同时也无需用户上传自己的敏感数据,当把tensorflow 的模型转换成tensorflow-lite 之后,下一步就是要在指定平台上做tensorflow-lite的集成,tensorflow-lite支持Android, IOS 和arm 系列的嵌入式板子,下面是在arm 上编译tensorflow-lite的过程
参考链接:https://www.tensorflow.org/lite/guide/build_cmake
安装第三方库:
-
absl-cpp: abseil / C++ Quickstart With CMake
-
eigen3: sudo apt install eigen3-dev
-
flatbuffer:
- git clone https://github.com/google/flatbuffers.git 要找对版本,版本在tensorflow 的third_parth 的flatbuffer 文件夹下指定 ,直接放到third_party 下即可
-
gemmlowp:
- 放到tensorflow 的third_party 下面
-
ruy:
- Git clone xxx
- 把cpuinfo 放到third_party 目录下
- Cmake ..
- Make
- Make install
-
NEON_2_SSL
- 这个不用考虑
-
编译tensorflow-lite
- Mkdir tflite-build
- Cd tflite_build
cmake ../tensorflow/lite -DTFLITE_ENABLE_INSTALL=ON \ -DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON \ -DSYSTEM_FARMHASH=ON \ -DSYSTEM_PTHREADPOOL=ON
错误信息
-DTFLITE_ENABLE_GPU=ON # 这个地方enable gpu 之后会报错, 这里是为了让tensorflow-lite 在支持OPENCI 的情况下,用openci 代理去提供类似GPU的优化加速,由于Jetson 自带GPU,所以这里无需指定