Caffe的安装:ubuntu16.04+gtx1060+cuda8.0

主要参考这片文章ubuntu16.04+gtx1060+cuda8.0+caffe安装、测试经历

一、首先安装nvidia显卡驱动

安装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,我在别人给的百度网盘提前下载好,链接:https://pan.baidu.com/s/1i515khB#list/path=%2F

拷到ubuntu的下载目录下

安装cuda8.0

终端输入

$ cd 下载/
$ sh cuda_8.0.27_linux.run --override

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

让你选择是否安装nvidia361驱动时,一定要选择否:输入n,因为之前已经安装过了

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 361.62?

输入n不安装nvidia图像驱动,之前已经安装过了
输入y安装cuda 8.0工具
回车确认cuda默认安装路径:/usr/local/cuda-8.0
输入ysudo权限运行安装,输入密码
输入y或者n安装或者不安装指向/usr/local/cuda的符号链接
输入y安装CUDA 8.0 Samples,以便后面测试
回车确认CUDA 8.0 Samples默认安装路径:/home/yangxingyangxing是我的用户名),该安装路径测试完可以删除
安装完显示如下图



此处我没安装cudnn5.1,有了它加速更快,没有也行。

设置环境变量,终端输入


$ sudo gedit /etc/profile


在末尾加入
PATH=/usr/local/cuda/bin:$PATH
export PATH
保存后,创建链接文件


$ udo vim /etc/ld.so.conf.d/cuda.conf

a进入插入模式,增加下面一行
/usr/local/cuda/lib64
esc退出插入模式,按:wq保存退出
最后在终端输入

$ sudo ldconfig使链接生效,

#执行sudo ldconfig时,报错如下:

出现的问题

/sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 不是符号连接

/sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 不是符号连接

原因:

系统找的是一个符号连接,而不是一个文件。

解决方法:

$ sudo mv /usr/lib/nvidia-375/libEGL.so.1 /usr/lib/nvidia-375/libEGL.so.1.org

$ sudo mv /usr/lib32/nvidia-375/libEGL.so.1 /usr/lib32/nvidia-375/libEGL.so.1.org

sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.39 /usr/lib/nvidia-375/libEGL.so.1

sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.39 /usr/lib32/nvidia-375/libEGL.so.1

再次在终端输入

$ sudo ldconfig#使链接生效

cuda Samples测试

00001.

打开CUDA 8.0 Samples默认安装路径,终端输入


$ cd /home/yangxing/NVIDIA_CUDA-8.0_Samplesyangxing是我的用户名)
$ 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/yangxing/NVIDIA_CUDA-8.0_Samplesyangxing是我的用户名)
$sudo make all -j4(4核)

完成后继续向终端输入

$ cd bin/x86_64/linux/release
$./deviceQuery

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



之后的安装参考caffe,一些依赖库

编译caffe(暂不对matlab说明,配置文件参考之前的)

00001.

终端输入
cd /home/yangxing/caffe
cp Makefile.config.example Makefile.config
gedit Makefile.config

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

终端输入
make all -j16

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

$ 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使链接生效

在原终端/workspace/caffe-master中,清除,再编译

$ make clean

$ make all -j16

$ make test -j16

$ make runtest -j16

$ make pycaffe -j16

$ cd /home/yangxing/workspace/caffe-master/python

$ python

>>>import caffe #不出错,表明编译成功

Mnist测试

00001.

下载mnist数据集,终端输入


$ cd /home/yangxing/caffe-master/data/mnist/
$ ./get_mnist.sh获取mnist数据集


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

00002.

00003.

mnist数据格式转换,终端输入


$ cd /home/yangxing/caffe/
$ ./examples/mnist/create_mnist.sh


必须要在第一行之后运行第二行,即必须要在caffe根目录下运行create_mnist.sh
此时在/caffe/examples/mnist/目录下生成mnist_test_lmdb和mnist_train_lmdb两个LMDB格式的训练集和测试集

00004.

00005.

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

00006.

00007.

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

00008.

00009.

训练mnist,执行文件在/caffe/examples/mnist/train_lenet.sh
终端输入


$ cd /home/yangxing/caffe/
$ ./examples/mnist/train_lenet.sh


测试结果如下

相关文章

文章浏览阅读2.3k次,点赞4次,收藏22次。最近安装了CARLA预...
文章浏览阅读6.3k次,点赞5次,收藏15次。在清华镜像中下载U...
文章浏览阅读5k次。linux环境, python3.7.问题描述: 安装...
文章浏览阅读4.2k次,点赞4次,收藏17次。要安装这个 standa...
文章浏览阅读894次,点赞51次,收藏31次。在安卓使用vscode主...