tensorflow-lite arm mnist 自定义模型调试成功
调试一周,终于在arm开发板上调通tensorflow-lite,看了一圈博客和官网,大部分都是Android的示例,arm的比较少,在这儿记录下,顺便当写文档了,代码就直接贴在下面。
说明:
1、不讲如何训练模型(百度一大把);
2、不讲如何生成tflite模型文件(按照官网说明就能搞定:https://www.tensorflow.org/lite/devguide#2_convert_the_model_format);
3、重点讲如何编译libtensorflow-lite.a文件;
4、重点讲如何调用tflite模型文件,来进行推理(C++ API);
一、你手上应该有啥
1、一个tflite类型的模型文件。(我的是单层128的bp训练1000步得来的一个模型);
2、tensorflow最新源码。(我的是20190111下载的,版本号不详,后面应该大差不差);
3、一个arm7的板子;
4、自己交叉编译工具链(或者这个:arm-linux-gnueabihf-,不是搞嵌入式的,不太懂~~);
二、编译libtensorflow-lite.a
工作的目录:/tensorflow/tensorflow/lite/tools/make/, 以前的tf版本可能不是这个目录,但是新的版本是在这个目录。
1、运行download_dependencies.sh
2、注意看这里面有ios\android\rpi三个的编译脚本, 但是没有arm-linux的,鉴于树莓派和arm-linux最接近(一样), 所以执行如下命令复制一份出来:cp build_rpi_lib.sh ./build_linux_lib.sh
2、修改build_linux_lib.sh文件成如下样子:
修改CC_PREFIX这一行,修改arm