paddlepaddle入门学习
总结一下,今天下午弄paddlepaddle的过程,paddlepaddle是类似于tensorflow的框架,那么paddlelite就是类似于tensorflow的mobile版本。
一开始不知道是什么关系,所以就不知道从哪里下手。paddlelite编译一开始没找到对应的编译文档。以至于使用cmake编译总报错。
paddlehub是基于paddlepaddle的一个工具包集合。可以连网下载模型,方便
paddle-lite下载编译
直接从github下载或者gitee下载即可。
paddle-lite编译有两个版本,一个full_publish,包含protobuf等,api全。另一个tiny_publish,如果在arm上跑建议编译成tiny_publish即可。
官方文档说明:
官方说明里面是使用安卓手机进行测试,我使用的tx2平台,为了简单,先编译一个cpu版本的。
./lite/tools/build.sh \ --arm_os=android \ --arm_abi=armv8 \ --arm_lang=gcc \ --android_stl=c++_static \ --build_extra=ON \ --shutdown_log=OFF \ tiny_publish
build_extra需要为ON,不然一些operator不能使用。
如果nvidia的Jetson平台,可以直接编译成cuda加速的。
编译cuda并测试文档
编译过程中有一些比如gflags,protobuf等,从github下载的速度特别慢,总不成功。我用的很笨的办法,从gitee上找对应的下载,然后切换到相应的分支上去,后来看到lite\tool\下面有一个脚本叫ci_build.sh,他会自动从国内下载,自己弄了半天白费力了。
还有,在编译的时候需要从github下载glog,下载一个这个小包也很容易出错,速度太慢了。多试几次就成功了。
paddle模型转成paddlelite
paddle下载的模型需要使用一个工具转换一下,有一个工具,叫model_optimize_tool我开始没仔细看,可以直接从说明连接中下载,我只看下面编译了,编译了半天还出错。
但是我自己下载的模型,转成paddlelite的会有问题。在调用口罩识别的时候不能出结果。暂时不知道哪里的问题。
https://paddlepaddle.github.io/Paddle-Lite/v2.2.0/tutorial/
还有一个X2Paddle的工具,是把tensorflow或者caffe的模型转换成paddle支持的格式,如果要paddlelite支持的模型,还需要model_optimize_tool转换一下。