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

时间:2022-10-07 03:08:12
深度学习实验室服务器系统配置手册
目录:
    一,显卡安装
    二,U盘启动盘制作
    三,系统安装
    四,系统的基本配置
    五,安装Nvidia驱动
    六,安装cuda7.5
    七,安装cudnn5.1
    八,安装opencv2.4.10
    九,安装caffe
 
一,硬件安装
1,拧动背侧的螺丝,拆除两侧机壳罩
2,将GPU插入对应卡槽,封紧螺丝
3,线头黑色一端按照6+8插入,灰色一端插入另一侧任意插口内
4,电脑显示屏连接使用HDML转VGA接头连接GPU外侧对应插口,另一端连接显示屏,分别连接电源,即可开机
 
二,u盘启动盘制作
硬件:内存大于8G的U盘
软件工具:ultraiso
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
        .......
        .......
 
2,问题解决:
    CD-rom挂载问题:
    ls /dev/sd*
    拔出优盘
    再次输入ls /dev/sd*
    mkdir udev
    mount /dev/sdb4 /udev
    mount /udev/ubuntu.14.04.iso /cdrom
    exit
    
    磁盘分区问题:
    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
    如果有问题参考:
 
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/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
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包,具体操作如下:
到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
本步骤会报错:
然后
make test -j12
make runtest//本步骤报错无关紧要,不会影响caffe使用
sudo make pycaffe
这时候cd 到caffe 下的 python 目录,试试caffe 的 python wrapper安装好没有:
在终端输入:python
然后:import caffe
如果不报错,那就说明安装好了