将训练好的caffe模型封装成动态链接库提供C++API

<<2018.12.11

照例先po出两篇博客

https://blog.csdn.net/maweifei/article/details/72811413

https://blog.csdn.net/jiongnima/article/details/70199480

现在总结一下主要就是修改caffe自带的classification程序源码,再加上自己训练好的caffemodel,deploy.prototxt网络文件以及图像的均值文件,就可以封装成动态链接库.so文件供程序调用

当然,在过程中总会必不可少的出现很多问题

首先就是找不到各种文件的问题,这个问题最常见,习惯了之后也较好解决,要么就是没将使用到的文件export到~/.bashrc文件中

这种错误大多是可执行问件或各种库文件,不然就是路径写错

这个找不到文件是真的没有,可能是caffe在安装之后自动把这个文件删除了,所以还得自己在caffe/proto里面用protoc生成

protoc ./caffe.proto --cpp_out=/usr/local/caffe/include/proto/ 
(提前在/usr/local/caffe/include/下建好proto目录)

fatal error: cublas_v2.h: 没有那个文件或目录。需要改下代码:在device_alternate.hpp中添加#define CPU_ONLY 1即可

定义CUP_ONLY问题,因为我的电脑上没有gpu所以做图像识别一般都是用CUP_ONLY模式,但是这次我知道了不光要#define CPU_ONLY 1 还得在一定的文件中定义才行,而且还不能在不同文件下重复定义!caffe真的很严格

caffe版本冲突问题:

移除较低版本的caffe,虽然简单粗暴,但是亲测有效

ubuntu上查看caffe版本:

pkg-config --modversion opencv

移除较旧版本的opencv:

apt-get autoremove libopencv-dev

exit>>

猜你喜欢

转载自blog.csdn.net/qq_35804114/article/details/84953392