一、本人配置:
操作系统:Ubuntu 14.04
Python版本:2.7
Cuda版本:8.0
显卡型号:一个Quadro K600 + 两个Tesla K20c
二、需要准备的安装包:
1. Cuda 8.0的.deb包,官网下载
2. cudnn的.deb包,官网注册下载(需要根据显卡型号选择)
3. setuptools安装包,点此下载
4. pip安装包,点此下载
其余软件可依赖apt-get大法解决。
首先安装Ubuntu14.04系统。安装好系统后,连接好网络,我的网络是可以连接外网的。关于对应自己的电脑cudnn版本,需要注册下载,首先要查看本机显卡型号才能对应下载。cudnn下载方法可参考此教程 这个教程上的配置我没有尝试过,只用过其中的cudnn的下载方法。
以下是我的安装配置过程,配置过程用到的全部命令可从此处下载。
1、设置软件与更新的更新源,并选择重新载入。
2、打开命令行窗口,输入sudo apt-get update
,并输入密码。
3、输入sudo apt-get upgrade
,并在接下来的[Y/n]里选择yes,接下来大概会有15-20分钟左右的更新时间。
4、输入sudo apt-get install build-essential cmake g++ gfortran git pkg-config python-dev software-properties-common wget
,并在接下来的[Y/n]里选择yes。
5、输入sudo apt-get autoremove
,并在接下来的[Y/n]里选择yes。
然后输入sudo rm -rf /var/lib/apt/lists/*
最后输入lspci | grep -i nvidia
可查看显卡支持信息。
6、输入sudo add-apt-repository ppa:graphics-drivers/ppa
,然后再次打开“软件与更新 ”,将ppa的两个更新源去掉。
然后再次输入sudo apt-get update
更新。
7、输入sudo apt-get install nvidia-352
,并在接下来的[Y/n]里选择yes。
8、输入sudo shutdown -r now
重启系统
9、重启系统后,打开命令行窗口,输入cat /proc/driver/nvidia/version
,可以看到NVIDIA和gcc信息。
10、将cuda的.deb安装包放到某个文件夹中,如/home/tmp中。cd /home/tmp
,进入安装包所在路径,输入sudo dpkg -i cuda-repo-ubuntu1404*.8.0.*amd64.deb
,完毕后不必再修改更新源,直接输入sudo apt-get update
更新。
11、然后输入sudo apt-get install cuda
进行安装,并在接下来的[Y/n]里选择y。
12、安装结束后,输入:
echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
然后输入nvcc -V
查看nvidia信息
最后输入sudo shutdown -r now
重启系统。
13、重启系统后,打开命令行,输入:
/usr/local/cuda/bin/cuda-install-samples-8.0.sh ~/cuda-samples
cd ~/cuda-samples/NVIDIA*Samples
make -j $(($(nproc) + 1))
14、在当前路径下,输入bin/x86_64/linux/release/deviceQuery
15、到cudnn*.tgz所在的路径,执行:tar xvf cudnn*.tgz
。然后cd cuda
,执行:
sudo cp */*.h /usr/local/cuda/include/
sudo cp */libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
完毕后执行sudo apt-get update
更新一下。
16、更新完毕后,执行sudo apt-get update
,然后执行:
sudo apt-get install -y python-numpy python-scipy python-nose \
python-h5py python-skimage python-matplotlib \
python-pandas python-sklearn python-sympy
要等大概20多分钟才能结束。一定要保证网络不间断!
17、执行sudo apt-get clean && sudo apt-get autoremove
。
18、执行rm -rf /var/lib/apt/lists/*
19、执行sudo apt-get install python-dev
20、需要另外安装pip,安装pip之前要先安装setuptools。进入setuptools-2.0.tar.gz 所在目录,执行:
tar zxvf setuptools-2.0.tar.gz
cd setuptools-2.0/
python setup.py build
sudo python setup.py install
21、将setuptools-2.0/dist/下的.egg文件拷贝到/usr/local/lib/python2.7/dist-packages/下。
22、pip安装包为pip-9.0.1.tar.gz。进入pip安装包所在文件夹,执行:
tar -xvf pip-9.0.1.tar.gz
cd pip-9.0.1/
sudo python setup.py install
23、执行:
sudo -H pip install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl
24、因为cuda8.0直接使用会报错:cannot find file libcudart.so.7.5,所以要将libcudart.so.8.0复制一份,重命名为libcudart.so.7.5。执行:
sudo cp /usr/local/cuda-8.0/targets/x86_64-linux/lib/libcudart.so.8.0 /usr/local/cuda-8.0/targets/x86_64-linux/lib/libcudart.so.7.5
25、进入Python:python
。输入:import tensorflow as tf
,看到成功导入,则输入exit()
。(如果报错找不到libcudart.so.7.5,则按照第24步再做一遍)
26、继续执行以下命令,将OpenBLAS clone下来:
mkdir ~/git
cd ~/git
git clone https://github.com/xianyi/OpenBLAS.git
cd OpenBLAS
make FC=gfortran -j $(($(nproc) + 1))
sudo make PREFIX=/usr/local install
echo 'export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH' >> ~/.bashrc
27、执行:
sudo apt-get install -y libfreetype6-dev
sudo apt-get install -y libpng12-dev
(如果报错说找不到安装包,就到“系统”->“软件与更新”,像第1步一样,将勾勾取消,再勾上就好。此时会重新导入软件源,这样就可以继续安装了。)
28、执行:
sudo pip install -U matplotlib ipython[all] jupyter pandas scikit-image
接下来将近有30分钟左右的下载安装时间。
29、安装以下内容:
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 libgflags-dev libgoogle-glog-dev liblmdb-dev
30、下载编译caffe,执行:
cd ~/git
git clone https://github.com/BVLC/caffe.git
cd caffe
cp Makefile.config.example Makefile.config
sed -i 's/# USE_CUDNN := 1/USE_CUDNN := 1/' Makefile.config
sed -i 's/BLAS := atlas/BLAS := open/' Makefile.config
/* ——- 以下内容选做,想在编译caffe的时候输出好看点就做,不做也没关系 ——-*/
a. 输入,打开caffe根目录下的Makefile.config文件:sudo gedit Makefile.config
b. 打开Makefile.config文件,将其中的”-gencode arch=compute_20, code=sm_20"和"-gencode arch=compute_20, code=sm_21
“这两行删掉。因为从cuda 8.0开始这两个就被弃用了 。修改结果如下:
/* ————————————— 选做到此结束 —————————————-*/
在Caffe根目录里继续执行:
sudo pip install -r python/requirements.txt
然后分别执行以下内容:
make all -j $(($(nproc) + 1))
make test -j $(($(nproc) + 1))
make runtest -j $(($(nproc) + 1))
make pycaffe -j $(($(nproc) + 1))
所有make应该都是没任何报错的,截图如下。
(注意:选做部分没有去掉Makefile.config里-gencode arch=compute_20, code=sm_20”和”-gencode arch=compute_20, code=sm_21 的这两行的小伙伴,会报相关的warning,无视即可)
31、执行:
echo 'export CAFFE_ROOT=$(pwd)' >> ~/.bashrc
echo 'export PYTHONPATH=$CAFFE_ROOT/python:$PYTHONPATH' >> ~/.bashrc
source ~/.bashrc
32、在caffe根目录下,进入python文件夹,输入ipython
,再输入import caffe
,如果没报错说明安装成功,输入exit()
退出即可。(以后要用记得先进入到caffe/python/文件夹下)
整个过程本人亲测有效,如果你没有配置成功,请联系我(邮箱:iambool@163.com)。配置成功不要忘了点赞哦~~