版权声明:本文为博主原创文章,未经博主允许不得转载。
很无奈的开个头,最近装了好几次caffe,前面由于没有记录完整而详细的过程,以致于这次安装的过程中除了很多问题,现在特此留博客一篇记录一下细节的部分,免得下次继续入坑。
首先列一下本文档下适合的环境,和已经成功安装的环境。
- 显卡:Telsa k20c/Quadro k5000
- 系统:Centos7
好了,下面就是具体的步骤了:
安装依赖
Ubuntu用户参考http://caffe.berkeleyvision.org/install_apt.html
OS X用户参考http://caffe.berkeleyvision.org/install_osx.html
REHL/Centos/Fedora用户参考以下步骤:
-
安装基础依赖
sudo yum install protobuf-devel leveldb-devel snappy-devel OpenCV-devel boost-devel hdf5-devel
-
其他依赖
sudo yum install gflags-devel glog-devel lmdb-devel
如果发现没有找到上面的包,可以采用手动安装的方法,系统需要提前装好最新的cmake版本,我装的是3.4.0版本。
cmake版本传送cmake3.4.0二进制版本
cmake的配置过程可以参考Centos6.3安装配置cmake
接下来就可以手动安装glog,gflags,lmdb了
-
glog
wget https://google-glog.googlecode.com/files/glog-0.3.3.tar.gz
tar zxvf glog-0.3.3.tar.gz
cd glog-0.3.3
./configure
make && make install -
gflags
wget https://github.com/schuhschuh/gflags/archive/master.zip
unzip master.zip
cd gflags-master
mkdir build && cd build
export CXXFLAGS=”-fPIC” && cmake .. && make VERBOSE=1
make && make install -
lmdb
Git clone https://github.com/LMDB/lmdb
cd lmdb/libraries/liblmdb
make && make install -
protobuf重要
-
hdf5安装
hdf5安装请查看官方文档
http://www.hdfgroup.org/HDF5/release/obtainsrc.html#src - leveldb安装
leveldb下载请见https://github.com/google/leveldb
安装请见http://blog.sina.com.cn/s/blog_560e310001015jfx.html
缺失的步骤:
leveldb文件夹下依次执行make
cd out-shared
cp lib* /usr/local/lib
切记,上述依赖需要安装到/usr/local下面的目录,否则编译时会提示找不到相关库文件。当然也可以配置到用户自定义的目录下面,不过没有尝试过。 前方高能!!接下来就是一些稍大型的安装动作了,步骤如下:
-
NVIDIA驱动,驱动文件请于官方链接自行下载NVIDIA驱动下载
1、下载完成后,设置系统为命令行启动
systemctl set-default multi-user.target
2、重启系统,切换到root模式
3、设刚才下载的文件名为nvidia.run,接下来执行sh nvidai.run
,应该会出现几个提示,选择accept或者yes。出现这一步的原因是系统没有禁用Nouveau
驱动,现在安装nvidia驱动的过程中会帮助用户禁用Nouveau
驱动,之前参照网上的一些帖子禁用Nouveau
均不成功,所以只有这种方法了。
4、使用 dracut重新建立 initramfs image file :- 备份 the initramfs file
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
- 重新建立 the initramfs file
dracut -v /boot/initramfs-$(uname -r).img $(uname -r)
5、再次重启系统,如果字体变大了,就说明
Nouveau
禁用成功,然后就可以继续安装Nvidia驱动了
6、成功安装Nvidia驱动后,再次将系统设置为图形模式,systemctl set-default graphical.target
,重启系统就可以正常进入图形界面了。也可以参考这篇文章CentOS 7.0安装Nvidia驱动
- 备份 the initramfs file
-
CUDA7.5自行下载CUDA下载链接
建议下载
runfile
类型的文件,后缀名为.run
下面就可以使用sh cuda*.run执行安装步骤,安装时需要输入几个参数- 1、是否安装Nvidia驱动,选no
- 2、安装cuda的位置,我输入的是
/usr/local/cuda-7.5
- 3、是否创建cuda的快捷方式,我选择的是yes
- 4、是否创建cuda-samples,我输入的是
/usr/local/cuda-samples
- 5、是否安装OpenGL,选择是,这个过程也算是安装了OpenCV
- 6、接下来就安装成功了
-
OpenBLAS安装OpenBLAS下载链接
下载后,解压,然后安装。
或者可以使用我用的版本,OpenBLAS–楼主使用的版本
然后执行下面的指令tar -xzvf OpenBLAS.tar.gz
make
make --PREFIX='usr/local/' install
上述步骤只做参考,实际操作过程可能会存在部分差异,安装的时候注意一下就行
若在caffe编译的时候出现/usr/bin/ld: cannot find -lopenblas
请在openblas编译文件夹下执行cp lib* /usr/local/lib
即可 -
Anaconda
官方下载链接Anaconda下载链接
楼主下载链接Anaconda下载链接
接下来直接执行sh anaconda.sh就行,安装过程自己领会
接下来就是最终的caffe配置过程了,caffe的github地址为https://github.com/BVLC/caffe
将工程文件拷贝到本地后,执行
cp Makefile.config.example Makefile.config
vim ./Makefile.config
修改CUDA_DIR :=/usr/local/cuda-7.5
(按照个人之前安装cuda的路径进行配置)
修改BLAS := open
修改BLAS_INCLUDE,BLAS_LIB为安装路径
保存(如果用户显卡不够用,可以去除前面的CPU_ONLY :=1
前面的注释符号”#”,表示只使用CPU做运算)
接下来就可以正常的执行
make all
如果编译速度慢,可以使用make all -jN
(N为核心处理器的个数)make test
对编译结果进行测试
下面需要对用户根目录下的.bashrc
文件进行编辑,加载一些动态库
vim ~/.bashrc
文本最后加入export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-7.5/lib64
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/glog/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
最后再次进入caffe目录,执行make runtest
,喝杯茶,等一会,就结束了。
上述过程是安装caffe最基础的步骤,如果需要加速cuDNN,Matlab,等扩展文件,可以参考
http://www.cnblogs.com/platero/p/3993877.html
教程到此结束,如有纰漏请指正。谢谢。未经允许,不准转载,谢谢配合。