深度学习框架caffe在ubuntu下的环境搭建

深度学习实验室服务器系统配置手册

目录:

一,显卡安装

二,U盘启动盘制作

三,系统安装

四,系统的基本配置

五,安装Nvidia驱动

六,安装cuda7.5

七,安装cudnn5.1

八,安装opencv2.4.10

九,安装caffe

一,硬件安装

1,拧动背侧的螺丝,拆除两侧机壳罩

2,将GPU插入对应卡槽,封紧螺丝

3,线头黑色一端按照6+8插入,灰色一端插入另一侧任意插口内

4,电脑显示屏连接使用HDML转VGA接头连接GPU外侧对应插口,另一端连接显示屏,分别连接电源,即可开机

二,u盘启动盘制作

硬件:内存大于8G的U盘

软件工具:ultraiso

系统镜像下载地址:https://www.ubuntu.com/download/alternative-downloads

1,到达下载地址,下载ubuntu 14.04.5 server(64bit)版本系统大小为619MB

2,下载并安装ultraiso软件

3,文件->打开->确认对应的ISO文件所在位置,启动->写入硬盘映像->确认->写入

4,将下载好的ISO文件拷入U盘(后期解决挂载问题时要用到这个文件)

5,U盘启动盘到这里就制作完毕

三,系统安装

1,基本选择:

English

Install ubuntu server

English

US

No

English

English

.......

.......

安装过程参照:https://wenku.baidu.com/view/1734c07ddcccda38376baf1ffc4ffe473368fd64.html

2,问题解决:

CD-rom挂载问题:

ls /dev/sd*

拔出优盘

再次输入ls /dev/sd*

mkdir udev

mount /dev/sdb4 /udev

mount /udev/ubuntu.14.04.iso /cdrom

exit

参考于:https://blog.csdn.net/loyachen/article/details/48757829

磁盘分区问题:

umount partition ...意为格式化磁盘

所以选择yes,对磁盘进行格式化

然后选择分区entir disk

然后选择2T的分区确认即可

两个选项问题:

no automotic upgrades

isntall new GRUB

四,新系统的基本配置

1,登录root用户,更改root密码

sudo passwd

输入初始本账户密码:

然后输入UNIX root密码:

然后 su即可切换到root用户

2,允许root账户登录SSH:

vi /etc/ssh/sshd_config

将PermitRootLogin值改yes

然后执行如下命令重新加载配置文件

source /etc/sshd_config

3,配置DHCP网络协议:

测试是否可以上网ping baidu.com

如果可以上网,不用进行本步骤设置!

原因:由于之前已经在路由器端设置好了,所以本步一般情况下可以直接跳过

如果出现无法上网的问题,首先检查网线是否插好(插好时是黄灯常亮)

确认网线准确插入后,进行下述操作:

首先运行ifconfig命令,查看启动了的网卡

查看服务器所有网卡:ifconfig -a

发现有三个网卡分别是:lo, eth0,eth1

加载网卡:ifconfig eth0 up

接下来编辑:vi /etc/network/interfaces

并用下面的行来替换有关eth0的行:

# The primary network interface - use DHCP to find our address

auto eth0

iface eth0 inet dhcp

用下面的命令使网络设置生效:sudo /etc/init.d/networking restart

也可以在命令行下直接输入下面的命令来获取地址sudo dhclient eth0

如果有问题参考:

参考于:https://blog.csdn.net/u013408061/article/details/52663073

4,操作系统更新:

sudo apt-get update

sudo apt-get install build-essential

5,安装基本依赖库:

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler --no-install-recommends libboost-all-dev

安装编译软件cmake,sudo apt-get install cmake

五,安装nvidia驱动

1,确保包已经安装完成(部分缺失根据提示进行安装)

2,到该网页下下载驱动http://www.nvidia.com/Download/index.aspx下载好.run文件后,传入服务器

3,修改该文件权限为可执行文件(+x),chmod +x aaaaaa.run

4,之后输入:./aaaaaa.run 即可开始安装

5,安装过程中的选项参考:https://blog.csdn.net/wonengguwozai/article/details/52664597

六,安装Cuda7.5

1,安装cuda,下载.run格式的文件,下载地址:https://developer.nvidia.com/cuda-75-downloads-archive

2,安装方式与驱动一样,具体选项参考:https://www.cnblogs.com/jinggege/p/5766146.html

3,安装完成后,设置cuda配置文件:

vi /etc/profile

在结尾处添加内容如下:

export PATH=/usr/local/cuda/bin:$PATH

export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

4,配置完文件后执行:执行source /etc.profile使得环境变量生效

5,终端输入:nvcc -V,会出现cuda的版本号即为安装成功

七,安装cudnn5.1

1,下载地址:

2,解压传入

3,cd到传入文件夹cuda目录下,执行命令

sudo cp lib64/* /usr/local/cuda/lib64/ -d

sudo cp include/cudnn.h /usr/local/cuda/include/

4,更新软链接

cd /usr/local/cuda/lib64/

sudo rm -rf libcudnn.so libcudnn.so.5

sudo ln -s libcudnn.so.5.1.3 libcudnn.so.5

sudo ln -s libcudnn.so.5 libcudnn.so

然后sudo ldconfig

八,安装opencv2.4.10

具体安装步骤参考:https://blog.csdn.net/sysuwuhongpeng/article/details/45542097

https://blog.csdn.net/u014203453/article/details/50550554

安装完毕后ldconfig后会报错如下:

/usr/lib/libnppi.so.7.5 is not a symbolic link

/usr/lib/libcudnn.so.5 is not a symbolic link

/usr/lib/libnpps.so.7.5 is not a symbolic link

/usr/lib/libcufft.so.7.5 is not a symbolic link

/usr/lib/libcurand.so.7.5 is not a symbolic link

/usr/lib/libnvblas.so.7.5 is not a symbolic link

/usr/lib/libcuinj64.so.7.5 is not a symbolic link

/usr/lib/libcusparse.so.7.5 is not a symbolic link

/usr/lib/libnvrtc.so.7.5 is not a symbolic link

/usr/lib/libnppc.so.7.5 is not a symbolic link

/usr/lib/libcudart.so.7.5 is not a symbolic link

/usr/lib/libnvToolsExt.so.1 is not a symbolic link

/usr/lib/libcublas.so.7.5 is not a symbolic link

/usr/lib/libnvrtc-builtins.so.7.5 is not a symbolic link

/usr/lib/libcusolver.so.7.5 is not a symbolic link

该问题的解决方案:

重建软连接,

rm -rf xxx.so xxx.so.7.5

ln -s xxx.so.7.5.18 xxx.so.7.5

ln -s xxx.so.7.5 xxx.so

重复以上操作16次,就可以解决这个问题了

九,安装caffe

具体步骤参考于:https://www.linuxidc.com/Linux/2015-07/120449.htm

1.,安装Caffe需要的Python包

sudo apt-get install -y 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 python-yaml

2,将caffe源码使用Xftp传到自己的用户名目录下

然后执行下述命令:

cd caffe

sudo su

for req in $(cat requirements.txt); do pip install $req; done

在此处会出现错误:

prompt requirtment six>=1.9.0 ,

那么我们需要手动升级six包,具体操作如下:

https://pypi.org/project/six/#files

到python官网下载包,然后解压缩,传入服务器

进入目录下,执行sudo python setup.py install命令即可安装完成。

安装完后退出:exit

3,编译caffe

修改配置文件

cd caffe

cp Makefile.config.example Makefile.config

vi Makefile.config

这里需要修改三处:

i) 使用cuDNN

# USE_CUDNN := 1

这里去掉#,取消注释为

USE_CUDNN := 1

ii) 修改python包目录,这句话

PYTHON_INCLUDE := /usr/include/python2.7 \

  /usr/lib/python2.7/dist-packages/numpy/core/include

改为

PYTHON_INCLUDE := /usr/include/python2.7 \

  /usr/local/lib/python2.7/dist-packages/numpy/core/include

因为新安装的python包目录在这里: /usr/local/lib/python2.7/dist-packages/

iii)由于安装的cuda版本是7.5,当前下载的caffe版本比较新,需要修改里面的Makefile.config文件,屏蔽下面的代码,cuda<8.0

#-gencode arch=compute_60,code=sm_60 \

#-gencode arch=compute_61,code=sm_61 \

#-gencode arch=compute_61,code=compute_61

接下来就好办了,直接make

make all -j12

本步骤会报错:

解决方案汇总于:https://blog.csdn.net/jpday/article/details/70741619

然后

make test -j12

make runtest//本步骤报错无关紧要,不会影响caffe使用

sudo make pycaffe

这时候cd 到caffe 下的 python 目录,试试caffe 的 python wrapper安装好没有:

在终端输入:python

然后:import caffe

如果不报错,那就说明安装好了