1. 配置Ubuntu软件与更新的源
进入"Ubuntu系统设置"选中"软件和更新",使用中科大的源,如下:
勾选"源代码"进行设置:
选择"其他站点",找到"mirrors.ustc.edu.cn"
更新Ubuntu1604源和已安装的包:
sudo apt-get update
sudo apt-get upgrade
2. 安装NVIDIA驱动
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-367
sudo apt-get install mesa-common-dev
sudo apt-get install freeglut3-dev
reboot
重启之后,进行测试,看NVIDA驱动是否成功安装:
nvidia-smi
3. CUDA安装
安装前,已经把文件拷贝到/home/wdong/caffePackage/ 目录下:
启动安装程序,一直按空格直到最后,安装命令如下:
sh cuda_8.0.27_linux.run --override
接下来操作如下截屏:
安装结束如下图所示:
3. 安装 CUDNN
cd /home/wdong/caffePackage/
ls
tar zxvf cudnn-8.0-linux-x64-v5.1.tgz
cd cuda/include/
sudo cp cudnn.h /usr/local/cuda/include/
cd ../lib64
sudo cp lib* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.5
sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5
sudo ln -s libcudnn.so.5 libcudnn.so
sudo gedit /etc/profile
设置环境变量,在 /etc/profile 末尾添加
PATH=/usr/local/cuda/bin:$PATH
export PATH
如下图所示:
保存后,创建链接文件:
sudo vim /etc/ld.so.conf.d/cuda.conf
增加如下一行:
/usr/local/cuda/lib64
输入命令。让链接生效:
sudo ldconfig
4. CUDA SAMPLES测试
cd /home/wdong/NVIDIA_CUDA-8.0_Samples
sudo make all -j4
发现报错,报错如下:
error: #error -- unsupported GNU version! gcc versions later than 5.3 are not supported!
#error -- unsupported GNU version! gcc versions later than 5.3 are not supported!
是因为GCC版本过高导致,解决这个bug操作如下:
gcc -v
cd /usr/local/cuda-8.0/include
sudo cp host_config.h host_config.h.bak
sudo gedit host_config.h
# if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ > 3)
#error -- unsupported GNU version! gcc versions later than 5.3 are not supported!
# 将上边两行中的 5 换成 6,修改后:
# if __GNUC__ > 6 || (__GNUC__ == 6 && __GNUC_MINOR__ > 3)
#error -- unsupported GNU version! gcc versions later than 5.3 are not supported!
修改后,如下所示:
重新进行make操作:
cd /home/wdong/NVIDIA_CUDA-8.0_Samples
sudo make all -j4
成功make后,如下图所示:
cd bin/x86_64/linux/release
./deviceQuery
完成之后出现如下雨所示,表示CUDA已经成功安装:
5. 依赖包安装
sudo apt-get install build-essential
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 libgflags-dev libgoogle-glog-dev liblmdb-dev
6. 安装 pip 和 easy_install
cd
wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py
sudo python ez_setup.py --insecure
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
7. 安装Python部分库
sudo apt-get install libblas-dev liblapack-dev libatlas-base-dev gfortran python-numpy
8. 拉取caffe源码
git clone https://github.com/BVLC/caffe.git
9. 安装python依赖包
cd /home/wdong/caffe/python
su root
for req in $(cat "requirements.txt"); do pip install -i https://pypi.tuna.tsinghua.edu.cn/simple $req; done
# Ctrl + D 退出root
10. 编译caffe
cd /home/wdong/caffe
cp Makefile.config.example Makefile.config
sudo gedit Makefile.config
将USE_CUDNN := 1前边的注释取消 , 如下:
在INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include 后添加 /usr/include/hdf5/serial,如下:
进行编译:
sudo make all -j4
发现报错,报错如下:
是因为make的过程找不到 lhdf5_hl 和 lhdf5, 解决这个bug的操作如下:
cd /usr/lib/x86_64-linux-gnu/
sudo ln libhdf5_serial.so.10.1.0 libhdf5.so
sudo ln libhdf5_serial_hl.so.10.0.2 libhdf5_hl.so
sudo ldconfig
cd /home/wdong/caffe
sudo make clean
sudo make all -j4
make完,结果如下:
sudo make test -j4
sudo make runtest -j4
sudo make pycaffe -j4
sudo make distribute
测试
cd /home/wdong/caffe/python
python
>>> import caffe
发现不能正常导入caffe包,报错如下:
报错:ImportError:No module named skimage.io , 解决这个bug的方案如下:
首先查看我们第9步操作中,是否已经安装 scikit-image 这个包,通过查看 /home/wdong/caffe/python/requirements.txt发现已经安装过 scikit-image,如下所示:
则对 scikit-image 进行更新,在终端输入命令如下:
sudo pip install scikit-image --upgrade
import caffe 成功被导入,到此安装成功,如下图所示: