您的位置:首页 > Web前端

ubuntu16.04+gtx1070/1060+cuda8.0+caffe安装、测试[亲测]

2016-12-20 14:53 776 查看
原文链接:http://blog.csdn.net/wopawn/article/details/52302164

亲测提示:1,不一定会用到第一步;2,第七部中安装Python依赖项中,
sudo su后,需要cd caffe/python文件夹
再for req in


3,cuda 9.0安装步骤稍有不同,在这个链接里有详细的介绍:http://blog.csdn.net/hyy0228/article/details/53762930


以下为原文:

首先说明,这是在台式机上的安装测试经历,首先安装的win10,然后安装ubuntu16.04双系统,显卡为GTX1060

台式机显示器接的是GTX1060 HDMI口,win10上首先安装了最新的GTX1060驱动372.54

废话不多说,上车吧,少年

一、首先安装nvidia显卡驱动

我是1080P的显示器,在没有安装显卡驱动前,ubuntu分辨率很低,可以手动修改一下grub文件,提高分辨率,在终端输入

sudo vim /etc/default/grub


找到以下行
# The resolution used on graphical terminal

# note that you can use only modes which your graphic card supports via VBE

# you can see them in real GRUB with the command 'vbeinfo'

# GRUB_GFXMODE=640×480


按a进入插入模式,增加下面一行
GRUB_GFXMODE=1920×1080
#这里分辨率自行设置

按esc退出插入模式,按:wq保存退出

在终端编辑
sudo update-grub


更新grub

重新启动ubuntu使之生效

进入ubuntu系统设置-软件与更新-ubuntu软件,使用的是中科大的源:http://mirrors.ustc.edu.cn/ubuntu,如下所示



更新Ubuntu16.04源,终端输入
cd /etc/apt/

sudo cp sources.list sources.list.bak

sudo vi sources.list


把下面的这些源添加到source.list中:
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse

deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse

deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse

deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse

deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse

deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse

deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse

deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse


最后更新源和更新已安装的包:

终端输入
sudo apt-get update

sudo apt-get upgrade


安装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

之后重启系统让GTX1060显卡驱动生效

测试

终端输入
nvidia-smi


显示效果如下图表示安装成功



二、cuda安装

下载cuda_8.0.27_linux.run和cudnn-8.0-linux-x64-v5.1.tgz

这里我提供了百度网盘,这两个文件我先在win10下下载好,并用u盘拷贝到ubuntu的下载目录下

安装cuda8.0

终端输入
cd 下载/

sh cuda_8.0.27_linux.run --override


启动安装程序,一直按空格到最后,输入accept接受条款

输入n不安装nvidia图像驱动,之前已经安装过了

输入y安装cuda 8.0工具

回车确认cuda默认安装路径:/usr/local/cuda-8.0

输入y用sudo权限运行安装,输入密码

输入y或者n安装或者不安装指向/usr/local/cuda的符号链接

输入y安装CUDA 8.0 Samples,以便后面测试

回车确认CUDA 8.0 Samples默认安装路径:/home/pawn(pawn是我的用户名),该安装路径测试完可以删除

安装完显示如下图



安装cudnn v5.1

终端输入
cd 下载/

tar zxvf cudnn-8.0-linux-x64-v5.1.tgz


解压在下载目录下产生一个cuda目录
cd cuda/include/

sudo cp cudnn.h /usr/local/cuda/include/
复制头文件
cd ../lib64
打开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


在末尾加入
PATH=/usr/local/cuda/bin:$PATH

export PATH


保存后,创建链接文件
sudo vim /etc/ld.so.conf.d/cuda.conf


按a进入插入模式,增加下面一行
/usr/local/cuda/lib64


按esc退出插入模式,按:wq保存退出

最后在终端输入
sudo ldconfig
使链接生效

cuda Samples测试

打开CUDA 8.0 Samples默认安装路径,终端输入
cd /home/pawn/NVIDIA_CUDA-8.0_Samples
(pawn是我的用户名)
sudo make all -j4
(4核)

出现
“unsupported GNU version! gcc versions later than 5.3 are not supported!”
的错误,这是由于GCC版本过高,在终端输入
cd /usr/local/cuda-8.0/include

sudo cp host_config.h host_config.h.bak

sudo gedit host_config.h


ctrl+f寻找有“5.3”的地方,只有一处,如下
# 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)


保存退出,继续在终端输入
cd /home/pawn/NVIDIA_CUDA-8.0_Samples
(pawn是我的用户名)
sudo make all -j4
(4核)

完成后继续向终端输入
cd bin/x86_64/linux/release

./deviceQuery


完成之后出现如下图所示,表示成功安装cuda



三、依赖包安装

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




安装python的pip和easy_install,方便安装软件包

终端输入
cd

wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py[/code] 
sudo python ez_setup.py --insecure

wget https://bootstrap.pypa.io/get-pip.py[/code] 
sudo python get-pip.py




安装科学计算和python所需的部分库

终端输入
sudo apt-get install libblas-dev liblapack-dev libatlas-base-dev gfortran python-numpy




安装git,拉取源码

终端输入
sudo apt-get install git

git clone https://github.com/BVLC/caffe.git[/code] 


安装python依赖

终端输入
sudo apt-get install python-pip
安装pip
sudo su

for req in $(cat "requirements.txt"); do pip install -i https://pypi.tuna.tsinghua.edu.cn/simple $req; done


按Ctrl+D退出sudo su模式

八、编译caffe(暂不对matlab说明)

终端输入
cd /home/pawn/caffe

cp Makefile.config.example Makefile.config

gedit Makefile.config


①将
USE_CUDNN := 1
取消注释,

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
后面打上一个空格 然后添加
/usr/include/hdf5/serial
如果没有这一句可能会报一个找不到hdf5.h的错误

终端输入
make all -j4


make过程中出现找不到lhdf5_hl和lhdf5的错误,

解决方案:

在计算机中搜索
libhdf5_serial.so.10.1.0
,找到后右键点击打开项目位置

该目录下空白处右键点击在终端打开,打开新终端输入
sudo ln libhdf5_serial.so.10.1.0 libhdf5.so

sudo ln libhdf5_serial_hl.so.10.0.2 libhdf5_hl.so


最后在终端输入
sudo ldconfig
使链接生效

原终端中输入
make clean
清除第一次编译结果

再次输入
make all -j4
重新编译

终端输入
make test -j4

make runtest -j4

make pycaffe -j4

make distribute
生成发布安装包

测试python,终端输入
cd /home/pawn/caffe/python

python

import caffe


如果不报错就说明编译成功

九、mnist测试

下载mnist数据集,终端输入
cd /home/pawn/caffe/data/mnist/

./get_mnist.sh
获取mnist数据集

/home/pawn/caffe/data/mnist/
目录下会多出训练集图片、训练集标签、测试集图片和测试集标签等4个文件

mnist数据格式转换,终端输入
cd /home/pawn/caffe/

./examples/mnist/create_mnist.sh


必须要在第一行之后运行第二行,即必须要在caffe根目录下运行create_mnist.sh

此时在
/caffe/examples/mnist/
目录下生成mnist_test_lmdb和mnist_train_lmdb两个LMDB格式的训练集和测试集

LeNet-5模型描述在
/caffe/examples/mnist/lenet_train_test.prototxt


Solver配置文件在
/caffe/examples/mnist/lenet_solver.prototxt


训练mnist,执行文件在
/caffe/examples/mnist/train_lenet.sh


终端输入
cd /home/pawn/caffe/

./examples/mnist/train_lenet.sh


测试结果如下

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: