caffe环境搭建、使用教程及检验相应依赖库是否安装成功

1、官网:http://caffe.berkeleyvision.org/
2、环境搭建:https://blog.csdn.net/yggaoeecs/article/details/79163789
3、教程:https://blog.csdn.net/artprog/article/details/79270392
4、书籍:深度学习 Caffe之经典模型详解与实战
具体安装方法可参考前面教程所述,不过安装前需要确认以下内容(十分重要)
1、cuda是否安装成功
测试方法:
/usr/local/cuda/samples/1_Utilities/deviceQuery$ ./deviceQuery
caffe环境搭建、使用教程及检验相应依赖库是否安装成功
文章图片

出现这样表示通过
2、测试cudnn
/usr/src/cudnn_samples_v7/mnistCUDNN$ sudo make
/usr/src/cudnn_samples_v7/mnistCUDNN$ ./mnistCUDNN
caffe环境搭建、使用教程及检验相应依赖库是否安装成功
文章图片

出现这样表示通过,具体可参考https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html
3、测试anaconda是否安装成功
caffe环境搭建、使用教程及检验相应依赖库是否安装成功
文章图片

anaconda可以看做是一个集成的开发环境,里面包含了conda,python,及各种科学数据库。anaconda分别有2和3两种,分别对应Python2和Python3。
创建环境:
conda create -n env_name python=2.7
注意:这样只会创建默认的包(很少),后面可加上,此时可将anaconda所有的包都一起安装上
conda create -n env_name python=2.7 anaconda
在激活工作环境时遇到Permision denied
source activate env_name
conda的一些常用指令
conda list 查看安装了哪些包。
conda env list 或 conda info -e 查看当前存在哪些虚拟环境
conda update conda 检查更新当前conda
conda create -n env_name numpy matplotlib python=2.7 创建环境并同时安装必要的包
conda remove -n your_env_name(虚拟环境名称) --all, 即可删除所创建的环境。
conda remove --name $your_env_name $package_name 即可删除所创建的工具包。
conda install python=2.7.14 安装指定版本的python
参考:https://www.cnblogs.com/swje/p/7642929.html
4、测试opencv是否安装成功
caffe环境搭建、使用教程及检验相应依赖库是否安装成功
文章图片

常用问题解决办法:
一、lmdb问题
examples/mnist/convert_mnist_data.cpp:16:18: fatal error: lmdb.h: No such file or directory
compilation terminated.
解决办法:
sudo apt-get install liblmdb-dev
然后重新运行make all。
对于Ubuntu16.04,由于安装的是32位,在后面动态库链接时仍然会出问题,因此此处应该直接下载源码编译安装。
二、找不到动态库问题
/usr/bin/ld: cannot find -lhdf5_hl
/usr/bin/ld: cannot find -lhdf5
解决办法:
Makefile.config中第96行添加
/usr/lib/x86_64-linux-gnu/hdf5/serial
【caffe环境搭建、使用教程及检验相应依赖库是否安装成功】/usr/bin/ld: cannot find -llmdb
解决办法:
下载源码,编译安装
下载地址: https://github.com/LMDB/lmdb
三、在运行runtest测试时出现有一个测试不通过的情况
[ FAILED ] 1 test, listed below:
[ FAILED ] BatchReindexLayerTest/3.TestGradient, where TypeParam = caffe::GPUDevice
1 FAILED TEST
Makefile:533: recipe for target ‘runtest’ failed
make: *** [runtest] Error 1
解决办法:
即将Makefile中的这段

#Debugging
ifeq ($(DEBUG), 1)
COMMON_FLAGS += -DDEBUG -g -O0
NVCCFLAGS += -G
else
COMMON_FLAGS += -DNDEBUG -O2
endif

改为

#Debugging
ifeq ($(DEBUG), 1)
COMMON_FLAGS += -DDEBUG -g -O0
NVCCFLAGS += -G
else
COMMON_FLAGS += -DNDEBUG -O2
NVCCFLAGS += -G
endif
改完之后重新编译即可。

    推荐阅读