caffe是一种基于c++/CUDA实现的卷积神经网络框架,优点在于速度快,适合做二维特征图像数据的特征提取,cuDNN是用于深度神经网络的GPU加速原语库,可以进一步提升cuda性能。
介绍版本:
系统:Ubuntu 16.04(64位,内核5.4)
显卡:Quadro K620
CUDA:10.1(已安装)
参见博客https://blog.csdn.net/qq_39670011/article/details/90404111,详细介绍了如何安装CUDA10.1
a)首先安装caffe的所有依赖包
# sudo apt-get install git # sudo apt-get install libatlas-base-dev # sudo apt-get install libprotobuf-dev # sudo apt-get install libleveldb-dev # sudo apt-get install libsnappy-dev # sudo apt-get install libopencv-dev # sudo apt-get install --no-install-recommnds libboost-all-dev # sudo apt-get install libhdf5-serial-dev # sudo apt-get install libgflags-dev # sudo apt-get install libgoogle-glog-dev # sudo apt-get install liblmdb-dev # sudo apt-get install protobuf-compiler # sudo apt-get install python-devb)下载 caffe
# sudo git clone https://github.com/BVLC/caffe.git # cd caffe/ # mv Makefile.config.example Makefile.configc)修改Makefile.config
这里有两处需要注意的地方,特别是Ubuntu16.04系统用户。 第一,hdf5环境变量确实或者有误
解决方法:
hdf5.o 编译不通过 修改Makefile.config文件,在下面的语句后面增加红色部分
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
Makefile中修改为
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
第二 ,cudn版本需要对应。
出现问题:
Makefile:604: recipe for target '.build_release/src/caffe/util/math_functions.o' failed make: *** [.build_release/src/caffe/util/math_functions.o] Error 1
解决方法:这是由于Makefile.config文件中的CUDN版本与你实际的版本不对应,按照如下显示,注释 # 掉对应的comput 即可
d)编译运行
注意,make -j4 为4核并行处理,只使用make,效率会很低。
# cd caffe/ # make -j4注意事项,编译完成后,请使用mnist实例进行验证。
1、下载;
https://developer.nvidia.com/cudnn,这里需要注册会员,验证后才可以下载,建议下载 tar格式文件,适合所有系统安装
2、解压
进入你下载的文件内,解压
tar -xzvf cudnn-10.1-linux-x64-v7.5.1.10.tgz完成后,将其复制cuda工具箱相应的文件夹内
sudo cp cuda/include/cudnn.h /usr/local/cuda/include sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64 sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*最后输入下面指令,动态链接,避免出现cudnn编译时,文件找不到。
sudo ldconfig -v3、编译
进入caffe文件内,并编辑Makefile.config,去掉注释USE_CUDNN,即打开cudnn
vim Makefile.config