盼星星盼月亮终于有了GPU啦,师姐让我把环境搭建写一下以后作参考,哈哈哈~
1.检查硬件环境
$ lspci | grep -i nvidia;//检查是否有GPU对应版本,https://developer.nvidia.com/cuda-gpus
$ uname -m && cat /etc/*release; //检查系统环境,我的是x86_64
$ gcc --version //查看是否有gcc以及版本
但是,查看系统设置,没有看到对应的GPU信息:
百度了一下,发现是N卡的驱动没有正确安装!上官网下载驱动: nvidia驱动:http://www.geforce.cn/drivers
注意,如果你不知道自己显卡的型号,选择了自动检测GPU,要事先安装java才行,但是配置了jre环境变量之后重启电脑出现了登录死循环,密码输入正确,但是进不了图形界面!!!被这个环境变量坑了一波!!!这时候ctrl+alt+F1进入tty1,如果输入ls等命令报错,则重置环境变量export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin即可。然后sudo vim /etc/environment,双击dd删除自己添加的那几行代码。
在官网找不到我的型号,所以打算从PPA私有源安装:
1:sudo add-apt-repository ppa:mamarley/nvidia //PPA是Personal Package Archive的缩写,如果这个源失效,可以换成其他的,比如这个命令sudo add-apt-repository ppa:xorg-edgers/ppa
2:输入你的root密码
3:sudo apt-get update
4:sudo apt-get install nvidia-版本号 nvidia-prime
5:等待安装完成,重启之后,你的电脑应该就是在用nvidIa显卡驱动了,你可以使用
重启之后,就可以查看计算机的显卡已经切换了:
2.安装cuda
下载地址:https://developer.nvidia.com/cuda-downloads, 官网上没有找到ubuntu14.04的cuda版本,所以从百度网盘下载了ubuntu14.04-cuda7.5版本,1.88G。
然后,手动安装:
$ sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb
$ sudo apt-get update
$ sudo apt-get install cuda
等几分钟就可以啦,接下来添加环境变量/etc/environment,但是每次修改了environment之后重启就会陷入死循环。后来尝试修改~./profile文件,source .profile没有用,然后重启了一下,生效!
$ export PATH=/usr/local/cuda-7.5/bin:$PATH
$ export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH
然后cd /etc/ld.so.conf.d/,新建文件cuda.conf,写入cuda的lib64的路径/usr/local/cuda-7.0/lib64,保存即可。
接下来就是走ubuntu安装caffe的流程了。
3.安装Boost库
$ sudo apt-get install mpi-default-dev #安装mpi库
$ sudo apt-get install libicu-dev #支持正则表达式UNICODE字符集
$ sudo apt-get install python-dev #需要python的话
$ sudo apt-get install libbz2-dev
$ sudo apt-get install libatlas-base-dev #安装矩阵库Atlas
4.安装opencv
在安装之前,查一下电脑显卡的实际计算能力:
$ cd /usr/local/cuda/samples/
$ sudo make all -j4
$ cd ./bin/x86_64/linux/release
$ ./deviceQuery
会看到如下信息:
其中,CUDA Capability Major/Minor version number : 5.2就是该显卡的计算能力了!
安装opencv依赖:
$ sudo apt-get install build-essential
$ sudo apt-get install libgtk2.0-dev libavcodec-dev libavformat-dev libtiff4-dev libswscale-dev libjasper-dev
$ sudo apt-get install cmake
官网上面下载opencv安装包,我下的是2.4.10的,可以自己选择:https://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.10/opencv-2.4.10.zip ,然后解压opencv,安装:
$ cd opencv-2.4.10
$ mkdir release
$ cd release
$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_ARCH_BIN=5.2 .. #这个5.2就是上面查询到的显卡计算能力
$ make
$ sudo make install
(注意下载2.4.9版本的会报错:NCVPixelOperations.hpp(133): error: a storage class is not allowed in an explicit specialization,查看网上说要替换NCVPixelOperations.hpp,但是网站报502错误,于是直接改换安装opencv-2.4.10,成功。)然后cd /etc/ld.so.conf.d/,新建文件opencv.conf,写入/usr/local/lib,保存即可。
5.安装caffe
step1. python依赖
$ sudo apt-get python-pip
$ sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler
step2.下载caffe
$ cd ~
$ git clone git://github.com/BVLC/caffe.git
$ cd ~/caffe
$ cp Makefile.config.example Makefile.config #Makefile.config是重要的配置文件
$ make all
$ make test
$ make runtest
make all的时候报错:
是因为在Makefile.config中,注释掉cuda高版本:
然后重新执行make all以及之后的命令。
附加步骤:6.安装CuDNN
本来不想装CuDNN,但是看见介绍说是专门针对DL设计的一套GPU计算加速方案,觉得可以用一下
http://pan.baidu.com/s/1i55BpVf
$ tar -xzvf cudnn-7.5-linux-x64-v5.1.tgz
$ cd cuda/lib64/
$ sudo cp lib* /usr/local/cuda/lib64/
$ cd ..
$ cd include
$ sudo cp cudnn.h /usr/local/cuda/include
把这些文件拷贝到系统文件之后,在~/caffe/Makefile.config中,去掉 USE_CUDNN := 1的注释,然后再次编译:
$ make clean #清楚之前的编译得到的文件
$ make all
$ make test
$ make runtest
7.编译pycaffe
$ cd ~/caffe
$ make pycaffe
修改环境变量~/profile,写入:export PYTHONPATH=/home/dell/caffe/python:$PYTHONPATH。
8.测试import caffe
$ python
$ import caffe
报错:No module named skimage.io
第一种:安装一堆python库:
$ sudo apt-get install python-numpy python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags Cython ipython
第二种:直接安装scikit-image库:
sudo pip install scikit-image
再次import caffe测试,大功告成!