去年十月开始接触caffe,当时装了一次之后就放着了,一直也没有想去更新,最近又装了两次,感觉顺利多了,在这里记录一下,作为第一篇博客。
入门级步骤,主要分为三个部分,首先是英文版的ubuntu,然后cuda、opencv、glog、cudnn等一堆依赖项,最后是配置caffe、测试。整个过程顺利的话差不多大半天了,当然事实其实是没有这么顺利的,只有你想不到,没有你遇不到(哈哈哈哈,这就是我对caffe配置在总结!)
开始讲正事。。。。。。。。。。。。
(一)、ubuntu和windows双系统安装
大多数朋友应该都是偏向windows系统的吧,个人也差不多,虽然ubuntu也越来越顺手了,还是坚决不卸windows,所以一直用双系统。具体安装有很多博客都讲得特别清楚了,收藏了一篇博客http://www.jianshu.com/p/2eebd6ad284d,每次安装都是照这个教程来的。
装好系统之后建议先检查nvidia驱动,接下来安装的基础就是显卡驱动没问题,可以在命令行输入nvidia-smi查看显卡使用情况,显示了相应数据就是没问题的。有问题可以参照点击打开链接
(二)、开始配置caffe环境
这个过程比较复杂,分为几个步骤:
# 以下所有指令都是在超级权限下运行的(sudo –i进入超级权限)
之前说的检查驱动,如果没有进行现在最好看一下,在命令行输入nvidia-smi 看会不会显示显卡使用情况,如果没有配置好显卡可以参照http://www.cnblogs.com/xia-Autumn/p/6228913.html 双显卡存在切换问题,配置cuda之前一定要检查好。
一.安装CUDA
1.控制台进入到Download下,输入以下命令
dpkg -i cuda-repo-ubuntu1604-8-0-local_ga2_8.0.61-1_amd64.deb
apt-get update
apt-get install -y cuda
2.环境配置,输入gedit /etc/profile,在结尾处添加如下文本
export CUDA_HOME=/usr/local/cuda-7.0
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64
PATH=${CUDA_HOME}/bin:${PATH}
export PATH
保存后输入source /etc/profile 使环境变量立即生效
3.输入 gedit/etc/ld.so.conf.d/cuda.conf ,输入如下文本
/usr/local/cuda/lib64
进行链接,输入
ldconfig -v
(cuda安装一般不会报错,但是不一定就是安装好的,建议检查一下是否安装成功点击打开链接这个博文的cuda配置部分可以作为参考)
二.安装Python
apt-get install –y ipython-notebook pandoc
三.安装opencv
(这个博文讲得比较清楚点击打开链接可以从里面复制代码,下面的代码虽然一样,可能是格式问题,运行会出现一点问题)
1.unzipopencv-3.0.0.zip
cd opencv-3.0.0
mkdir release
2.sudo apt-get install build-essential cmake libgtk2.0-dev pkg-config Python-dev python-numpy libavcodec-dev libavformat-dev libswscale-dev
3.cd release
cmake -DCMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
4. sudo makeinstall
五.安装其他依赖项
1.首先安装glog,选择的是
glog-0.3.3.tar.gz,控制台进入Download,输入:
tar zxvf glog-0.3.3.tar.gz ,解压后进入文件夹,输入
./configure ,然后 make ,然后 makeinstall
2.然后是其他一大堆依赖项控制台输入
sudo apt-get install git
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install python-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
3.安装cuDNN,解压cuDNN,控制台进入文件夹,输入以下指令(解压之后进入相应文件夹,根据文件名自行修改路径)
cp cudnn.h /usr/local/include
cp libcudnn.so /usr/local/lib
cp libcudnn.so.6 /usr/local/lib
cp libcudnn.so.6.0.21 /usr/local/lib
链接cuDNN的库文件
ln -sf /usr/local/lib/libcudnn.so.6.0.21/usr/local/lib/libcudnn.so.6
ln -sf /usr/local/lib/libcudnn.so.6/usr/local/lib/libcudnn.so
ldconfig -v
六.配置Caffe
1. git clone https://github.com/bvlc/caffe.git
cd caffe/
mv Makefile.config.example Makefile.config
2.修改Makefile.config文件,gedit Makefile.config
对于有NVIDIA显卡的设备,设置如下:
a. 启用CUDNN,去掉"#"
USE_CUDNN := 1
b. 配置一些引用文件
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include/usr/lib/x86_64-linux-gnu/hdf5/serial/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib/usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial
c. 配置路径,实现caffe对Python和Matlab接口的支持(如果没有配置matlab下面的matlab可以不用启用)
PYTHON_LIB := /usr/local/lib
MATLAB_DIR := /usr/local/MATLAB/R2014a
3. 修改Makefile文件, gedit Makefile
查找“Derive includeand lib directories”一节,在这一段的最后一个“LIBRARIES +=”,增加opencv_imgcodecs,让该处最后一行变成如下:
(注意不要重复添加)
opencv_core opencv_highguiopencv_imgproc opencv_imgcodecs
七.编译Caffe
进入caffe,输入
# -j8是多线程编译 根据CPU实际情况修改 4核8线程就用-j8
make all -j8
make test -j8
make runtest -j8
编译Python和Matlab用到的caffe文件
make pycaffe -j8
make matcaffe -j8
至此,caffe在Ubuntu下的配置就完成了.
(三)、测试
最后测试caffe环境搭建是否成功
1. 进入caffe文件夹 输入 sh data/mnist/get_mnist.sh 获取数据
2. 压缩数据为lmdb格式 sh examples/mnist/create_mnist.sh
3. 开始训练 对于有NVIDIA显卡的设备,直接输入sh examples/mnist/train_lenet.sh 即可开始训练,预计30s以上
如果训练过程没有报错,那基本上整个框架就搭建好了.
可以说caffe是个怪脾气的老人家,刚开始必须耐心哄好了,后面可就好说话了,配置好caffe后进行图像识别可以说是特别方便了,之后的内容等待之后继续整理~