查看: 2190|回复: 1

深度学习机装机流程与体验(windows+anconda环境)

[复制链接]

38

主题

84

帖子

243

积分

中级会员

Rank: 3Rank: 3

积分
243
发表于 2018-10-14 11:34:08 | 显示全部楼层 |阅读模式
本帖最后由 lsh 于 2018-10-14 11:33 编辑

1. 引言
     深度学习是一种算法的革命,人工智能的火爆得益于深度学习算法的改进和开源,特别是云计算、大数据、深度学习和物联网计算的融合,人工智能在各个领域,特别是计算机视觉在图像处理、视频处理、人脸识别、声音和语音处理,以及自然语言的文本处理、语言翻译等领域都有了极大的提升,在一定程度上达到人类识别水平,甚至超过人类。
深度学习算法的主要框架是Tensorflow、Mxnet、PyTorch、Keras、PaddlePaddle、CNTK、Caffe2等,一般都在Python语言可以执行,主要是这些算法框架大部分都是开源的,都放在github仓库托管。
2. 机器组装简要概述
在拿到深度学习机之后,你首先需要了解一下机器的配置。当然,这些配置更多的是根据你的工作需求在组装之前就应该了然于胸的。
我们实验室的深度学习机主要的配置如下:
1、经过对比分析,GPU选择4*GeForce1080TI,总的来说这款GPU型号性价比高一些。
这是深度学习GPU各个型号的对照表格,可以说是很全了。
深度学习机要考虑能耗,电源的功率要考虑。
当然成本也要考虑,最新的Tesla K100一块GPU就几千美金啦。
2、主板:选择华硕X99-E
3、CPU处理器:Intel 酷睿I7
4、电源、水冷等
这里重点提一下水冷装置,因为各种部件一起工作其实是一个很庞大的工程,因此选择水冷装置,给了机器很好的散热功效,这样也有利于机器的正常高效的运行。
这里提醒:因为运输问题,GPU开箱后有些安装错位,造成一周时间的调试延误。
设备实物如图。
PS.感觉机器每次运行时水冷“咕咚咕咚”的声音简直是再美秒不过了。
3. 安装清单
有了深度学习机之后,你就可以开始开始你的深度学习之旅啦。我们的路径是这样,先拉取一个任务清单,详细写下要安装的软件,以及它们的用途,几者之间有没有什么依赖关系,这一点是为了避免,软件装好之后由于版本不对又得重新换。总而言之,整个安装过程要更有逻辑、更有条理一些。
  • 系统环境:Ubuntu16.04。当下深度学习用的最多的系统应该就是Linux的Ubuntu系统了,图形界面和很好的开发环境,使得它备受开发者的喜欢。
  • 安装显卡驱动:这一步一定要确保安装的正确,不然这深度学习你就别玩了。
  • CUDA 、Cudnn: 通过CUDA用户可以利用GPU进行计算,这是整个计算机的GPU加速框架。
  • 安装Anaconda,Python3.6
  • Anaconda作为一款Python集成安装软件,简直是Python开发的必备神器,因为深度学习所需要用到的库基本已经涵盖,不需要另外安装,所以其重要性可见一斑。
  • 安装Keras、TensorFlow、OpenCV:这些更不用说,是一定要装的,当然,具体用到哪一款,是需要你根据自己的项目选择的。
  • 安装SSH:远程登录服务器,涉及到局域网和外网登录,但是命令很easy。
  • 配置jupyter:界面化登录系统,学会使用之后,你会爱上jupyter的。


4. 开始安装
第一步:系统安装
1)Ubuntu16.04
ubuntu16.04.3的系统,之所有没有选择最新的17.10是考虑到各种环境的兼容性问题。
2)U盘引导盘系统
选择使用U盘引导盘安装,方便快捷。
使用工具:UniversalUSB Installer
找到一个容量足够的U盘,直接在win里安装UUI软件。将下载好的系统文件装进U盘
(注意,一定要用一个没有重要文件的U盘,不然所有的文件都会被格式化,你就只能哭了)。
3)开机后,不停按F2键,进入BIOS系统,选择U盘启动优先选项。这时,你的系统就进入一个选择安装的界面,你可以选择“安装“,一路”accpet“或者”yes“就行了。当然,这里会有一个坑,写出来希望可以帮助遇到相关问题的同学。
安装系统的坑:因为是多显卡原因,因此,在U盘引导启动的时候会遇到这样的情况,你的系统会以“5.921.261] nouveau 0000:01:00.0: fifo: SCHED_ERROR 08 []“不断刷屏,让你真的开始怀疑人生了。
有问题就有对应的填坑方法:u盘安装进入引导界面时,按键盘E键,在界面下方,对应quite splash后面添加nomodeset,然后Ctrl+c进入系统。这样你就可以顺利的进入模拟的Linux系统,然后桌面有安装文件,你就可以一路安装咯。
友情提示:系统最好安装英文版本,因为中文版本真的会有很多坑。
第二步:显卡驱动安装
显卡驱动的安装只要按照步骤来,其实很简单。关键是你可能需要习惯一下win7到Linux的转化,即图像化的控制和命令行的控制方式之间的转变,这会让你极其的不适应。其实命令行模式真的很高(zhuang)效(x),只是初期会比较痛苦。
注意:驱动的安装不难,但是一定要按照步骤来,一步都不可以缺少,不然即使简单,你也会哭的,尤其显卡驱动这一步。显卡驱动装不好,后面就别想玩了。
下载驱动,进入NVIDIA官方网址选择你的驱动程序进行下载:https://www.geforce.cn/drivers
这时你下载的驱动是名为”NVIDIA-Linux-x86_64-384.98.run”的文件。
安装驱动流程为:进入命令行终端——禁用lightdm桌面服务——安装驱动——启用lightdm桌面服务——重启电脑
  • 禁用nouveau驱动:sudo chmod666 /etc/modprobe.d/blacklist.conf
    编辑配置文件:sudo vi/etc/modprobe.d/blacklist.conf
    在文件末尾添加如下几行:
    blacklist vga16fb
    blacklist nouveau
    blacklist rivafb
    blacklist rivatv
    blacklist nvidiafb
    修改并保存文件后,记得把文件属性复原:sudo chmod 644 /etc/modprobe.d/blacklist.conf
    再更新一下内核:sudoupdate-initramfs -u
  • 进入命令行模式的按键为:Ctrl + Alt + F1
  • 禁用lightdm桌面服务:sudoservice lightdm stop。
  • 安装驱动:sudo sh NVIDIA-Linux-x86_64-384.98.run
  • 启用lightdm桌面服务:sudoservice lightdm start
  • 重启电脑
  • 安装好之后,验证驱动是否已经安装好:nvidia-smi

说明GPU驱动安装成功了!
第三步:CUDA、cudnn安装
1)禁用nouveau:lsmod | grepnouveau
2)切换到命令行模式:Alt+Ctrl+F1
3)关闭图形化界面: sudo service lightdm stop
4)安装:sudo sh cuda_9.0.176_384.81_linux.run
5)启用lightdm桌面服务:sudoservice lightdm start
6)切换到桌面:Alt+Ctrl+F7
7)重启电脑
8)设置环境变量:sudo gedit /etc/profile
打开文件,添加两行:
exportPATH=/usr/local/cuda-7.5/bin/PATH
exportLD_LIBRARY_PATH=/usr/local/cuda7.5/lib64/:$LD_LIBRARY_PATH
9)重启电脑
10)检查CUDA是否安装成功:nvcc –V
11)尝试编译一些CUDA的例子:首先要安装一堆依赖库
$ sudo apt-get install freeglut3-dev
$ sudo apt-get install build-essential
$ sudo apt-get install libx11-dev
$ sudo apt-get install libxmu-dev
$ sudo apt-get install libxi-dev
$ sudo apt-get install ibgl1-mesa-glx
$ sudo apt-get install llibglu1-mesa
$ sudo apt-get install libglu1-mesa-dev
安装好后,在终端输入:$ make
编译生成的二进制文件。
编译后的二进制文件默认存放在~/NVIDIA_CUDA-X.X_Samples/bin中。
切换路径到release文件夹:
cd ~/NVIDIA_CUDA-X.X_Samples/bin/x86_64/linux/release
终端输入:$./deviceQuery
最后得到结果:
如果结果显示为pass,则代表编译通过,成功安装啦。
  • 继续Ctrl+alt+F1进入的字符界面
  • 进入解压后的cudnn-9.0-linux-x64-v7.0.tgz文件cuda,在终端执行下面的指令安装:
    tar -zxvf cudnn-9.0-linux-x64-v7.0.tgz
    cd cuda
    sudo cp lib64/lib*/usr/local/cuda/lib64/
    sudo cp include/cudnn.h/usr/local/cuda/include/
  • 然后更新网络连接:
    cd /usr/local/cuda/lib64/
    sudo chmod +r libcudnn.so.7.0.3 # 自己查看.so的版本
    sudo ln -sf libcudnn.so.7.0.3.libcudnn.so.7
    sudo ln -sf libcudnn.so.7 libcudnn.so
    sudo ldconfig
  • 重新启动图形化界面
    sudo service lightdm start
  • Ctrl+alt+F7进入图形界面。

第四步:Anaconda(含Python3.6)
  • 安装Python 3.6 version版本:bash Anaconda3-4.3.1-Linux-x86_64.sh
  • 安装过程,一直点回车,当遇到下面的选择,注意输入yes:
  • Do you wish the installer to prepend the Anaconda2 install location
    to PATH in your /home/gjq/.bashrc ?[yes|no]
    [no] >>> yes
  • 让.bashrc中添加的路径生效:source~/.bashrc

测试:出现anaconda则代表安装成功
第五步:更新镜像源:vi ~/.pip/pip.conf
然后写入如下内容并保存
[global]
trusted-host = mirrors.aliyun.com
index-url =http://mirrors.aliyun.com/pypi/simple
第六步:安装TensorFlow
  • 安装好Anaconda后,需要创建TensorFlow的隔离环境:conda create -n tensorflow python=3.6;创建了tensorflow的隔离环境后,要做的是激活tensorflow环境,然后用pip安装TensorFlow:source activate tensorflow
  • 接下来就是跟随Google tensorflow的安装向导,逐步开始安装TensorFlow:pip3install --upgrade tensorflow
  • 测试一下我们安装的Tensorflow

检测tensorflow是否使用gpu进行计算
  • import tensorflow as tf
  • sess =tf.Session(config=tf.ConfigProto(log_device_placement=True))

第七步:安装Keras:这是深度学习的高级框架API
pip install keras
第八步:配置SSH:
这样可以在内网或外网通过另一台电脑远程使用深度学习机了
sudo apt-get install openssh-server
编辑配置文件:sudo vi/etc/ssh/sshd_config
找到:PermitRootLoginprohibit-password,注释掉此项
添加:PermitRootLoginyes
执行命令:sudoservice ssh restart
MAC用户使用:ssh 用户名@IP地址
第九步:远程登录jupyter
  • 登陆远程服务器
  • 生成配置文件:jupyter notebook --generate-config
  • 生成密码
    打开ipython,创建一个密文的密码:
    In [1]: from notebook.auth import passwd
    In [2]: passwd()
    Enter password:
    Verify password:
    Out[2]: 'sha1:XXXXXXXXX'
    把生成的密文‘sha:ce…’复制下来
  • 修改默认配置文件
    $vim~/.jupyter/jupyter_notebook_config.py
    进行如下修改:
    c.NotebookApp.ip='*'
    c.NotebookApp.password = u'sha:XXX...刚才复制的那个密文'
    c.NotebookApp.open_browser = False
    c.NotebookApp.port =8890 #随便指定一个端口
  • 启动jupyter notebook:
    $jupyter notebook
  • 建立ssh通道在本地终端中输入:

ssh username@address_of_remote -L IP:8870:IP:8890
便可以在localhost:8870直接访问远程的jupyter了。
第十步:安装openCV:计算机图像视频处理都需要这个库
  • 下载opencv3.2.0
    需要下载opencv和opencv_contrib:
  • 配置编译opencv (NVIDIA CUDA版本)
    使用NVIDIA GPUGeForce 1080ti,则首先需要编译:
    $ cmake -D CMAKE_BUILD_TYPE=RELEASE
    -D CMAKE_INSTALL_PREFIX=/usr/local
    -D INSTALL_PYTHON_EXAMPLES=ON
    -D INSTALL_C_EXAMPLES=OFF
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.2.0/modules
    -D PYTHON_EXCUTABLE=/usr/bin/python
    -D WITH_CUDA=ON # 使用CUDA
    -D WITH_CUBLAS=ON
    -D DCUDA_NVCC_FLAGS="-D_FORCE_INLINES"
    -D CUDA_ARCH_BIN="5.3"
    -D CUDA_ARCH_PTX=""
    -D CUDA_FAST_MATH=ON
    -D WITH_TBB=ON
    -D WITH_V4L=ON
    -D WITH_QT=ON
    -D WITH_GTK=ON
    -D WITH_OPENGL=ON
    -D BUILD_EXAMPLES=ON ..
  • 完成安装

安装完成以后,重启电脑。大功告成,可以起飞啦!
以下一组图就是实验室利用新装的深度学习机器,用OpenCV跑的程序,可以用来图像识别物体,初次尝鲜,感觉也是棒棒哒。





回复

使用道具 举报

2

主题

21

帖子

163

积分

注册会员

Rank: 2

积分
163
发表于 2019-5-31 16:27:45 | 显示全部楼层
厉害了6666666
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表