背景是这样的,项目需要,必须将训练的模型通过C++进行调用,所以必须使用caffe或者mxnet,而caffe是用C++实现,所以有时候简单的加载一张图片然后再进行预测十分不方便
用caffe写prototxt比较容易,写solver也是很容易,但是如何根据传入的lmdb数据来predict每一个样本的类别,抑或如何得到样本预测为其他类的概率?这看起来是一个简单的问题,实际上,在pytorch中很容易实现,在caffe中可能需要修改c++代码,用起来不是很方便直观,所以能否通过python调用已经训练完的caffemodel以及deploy.prototxt来实现类别的预测?
这个时候需要在ubuntu上配置caffe,在ubuntu上配置caffe我主要参考了这篇博客,http://www.cnblogs.com/denny402/p/5088399.html
其实主要是有两部分,第一部分是修改Make.config文件,第二部分是解决so库找不到的问题
1.修改Makefile.config
关键点在于修改配置文件Make.config然后进行编译,我的Make.config文件如下,
## Refer to http://caffe.berkeleyvision.org/installation.html#Contributions simplifying and improving our build system are welcome!
#cuDNN acceleration switch (uncomment to build with cuDNN).
USE_CUDNN := 1
#CPU-only switch (uncomment to build without GPU support).#CPU_ONLY := 1
#uncomment to disable IO dependencies and corresponding data layers#USE_OPENCV := 0#USE_LEVELDB := 0#USE_LMDB := 0
#uncomment to allow MDB_NOLOCK when reading LMDB files (only if necessary)#You should not set this flag if you will be reading LMDBs wi