zoukankan      html  css  js  c++  java
  • 深度学习环境搭建——Ubuntu16.04+CUDA9.0+cuDNN7.1+MXNet

    心好累,总之还是记录一下吧,姑且当作备忘。

    一、Ubuntu

    在这里我选择的是ubuntu的u盘安装。

    1、所需材料

    • Universal USB Installer
    • ubuntu-16.04-desktop-amd64.iso
    • 一个干净的U盘

    2、步骤

    (1) 用Universal制作u盘启动盘(这里u盘会被格式化)

    (2) 重启电脑,按F2进入BIOS,将u盘设为第一启动:

    我的电脑是联想拯救者R720,这一步设置u盘启动项和网上的一般教程不一样,见图

     (3)按F10保存退出,进入如下界面:

     我选择的第一项,之后按照提示进行安装

    (4)基本上没什么好说的了,特别提一下磁盘分区:

    因为我安装的是双系统,所以我选择保留windows,自己调整分区。

    网上一般都有分区教程,为什么要特别说明?

    因为我信了他们的邪(微笑),直接贴下我自己的分区,也许也不是很好,但是至少我用着没问题:

    交换分区:逻辑分区,swap,2G

    主分区:主分区,ext4,挂载到 ‘ / ’    30G(当时看的网上的教程分了16G,结果刚装完系统空间就满了。。。)

    boot分区:主分区,ext4,挂载到 ‘ /boot ’  500M

    tmp分区:主分区,etx4,挂载到 ‘ /tmp ’  5120M

    uefi分区:主分区,etx4,挂载到 ’ /boot/uefi ’ 6000M(专门给启动引导器的分区,将它安装到这里,不然会安装失败)

    home分区:逻辑分区,ext4,挂载到 ‘/home ’ 420+G (越大越好,剩下的空间全给了它)

    二、CUDA

    cuda这里有个深坑——安装驱动时驱动的版本一定要和你的显卡还有cuda的版本匹配!!!不然之后安装cuda的时候就会安装失败(报错:CUDA driver version is insufficient for CUDA runtime version )!!!

    直接上步骤:

    0、卸载cuda

    显然我之前失败过很多次,所以我先来介绍一下如何卸载qwq

    执行如下语句

    1 sudo apt-get remove cuda 
    2 sudo apt-get autoclean
    3 sudo apt-get remove cuda*
    4 cd /usr/local/
    5 sudo rm -r cuda-9.0

     1、在CUDA官网下载跟自己显卡匹配的驱动

    https://www.nvidia.cn/Download/index.aspx?lang=cn

    执行如下语句,安装

    1 sudo add-apt-repository ppa:graphics-drivers/ppa
    2 sudo apt-get update
    3 sudo apt-get install nvidia-390
    4 sudo apt-get install mesa-common-dev
    5 sudo apt-get install freeglut3-dev

    重启电脑

    1 sudo reboot

    输入如下语句,如果出现GPU列表/GPU详细信息,则说明安装成功

    1 nvidia-smi

    或者

    1 nvidia-settings

    2、安装CUDA

    下载cuda的安装文件:https://developer.nvidia.com/cuda-toolkit-archive

    我下载的是runfile文件,但deb文件似乎也可以,我没有试过。

    下载完毕后,执行如下语句,运行runfile文件

    1 sudo sh cuda_9.0.176_384.81_linux.run

     一路回车,因为之前安装了驱动,所以选择不安装驱动,之后全部选择yes,安装路径用默认的即可。

    执行如下语句,打开profile文件

    1 sudo gedit /etc/profile

    在文件末尾处添加

    1 export PATH=/usr/local/cuda-9.0/bin:$PATH
    2 export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64$LD_LIBRARY_PATH

    重启电脑

    1 sudo reboot

    输入如下语句测试cuda的samples,如果显示的是一些关于GPU的信息,则说明安装成功

    1 cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
    2 sudo make
    3 ./deviceQuery

     ps:注意一下下载的cuda的版本号: cuda_9.0.176_384.81_linux.run ,所谓的坑就是这里了:对应的nvidia的版本号应当大于等于这个版本384.81。记得我们之前安装的驱动版本是390.77,看来是没问题了:)

    各CUDA版本以及它们对驱动版本的最低要求

     三、cuDNN

    不太想写了qwq,我觉得官方文档说明的很详细了。

    1、从官网下载安装

    2、测试

    四、MXNet

    官网下载Anaconda

    进入sh文件所在文件夹,执行该sh文件

    1 sh Anaconda3-5.0.1-Linux-x86_64.sh

    执行以下命令或重启终端让conda生效

    1 source ~/.bashrc

    下载代码压缩包,进入文件夹,解压后执行如下语句

    1 mkdir gluon_tutorials_zh && cd gluon_tutorials_zh
    2 curl https://zh.gluon.ai/gluon_tutorials_zh.tar.gz -o tutorials.tar.gz
    3 tar -xzvf tutorials.tar.gz && rm tutorials.tar.gz

     使用国内镜像加速下载所需软件

    1 # 使用清华 conda 镜像。
    2 conda config --prepend channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
    3 # 或者选用科大 conda 镜像。
    4 conda config --prepend channels http://mirrors.ustc.edu.cn/anaconda/pkgs/free/

    使用conda创建虚拟环境并安装所需软件

    1 conda env create -f environment.yml

    激活之前创建的环境

    1 source activate gluon

    打开jupyter notebook

    1 jupyter notebook

    成功~

    卸载cpu版的mxnet

    1 cd ~/gluon_tutorials_zh
    2 source activate gluon
    3 pip uninstall mxnet

    退出虚拟环境

    1 source deactivate

    更新依赖为gpu版本的mxnet:使用文本编辑器打开之前文件夹下的文件environment.yml,将里面的mxnet替换为mxnet-cu90(依据你的cuda版本而定),保存文件后退出。

    更新虚拟环境

    1 conda env update -f environment.yml

    激活

    1 source activate gluon

    ps:在import mxnet 的时候报了一个错:

     解决方法:进入/usr/local/cuda-9.0/lib64,检查是否有libcudart.so.9.0

    如果有,执行

    1 sudo ldconfig /usr/local/cuda-9.0/lib64

    OK~

    参考文档:

    https://www.linuxidc.com/Linux/2016-04/130520.htm

    https://blog.csdn.net/u010837794/article/details/63251725/

    http://zh.gluon.ai/chapter_prerequisite/install.html#%E4%BD%BF%E7%94%A8-GPU-%E7%89%88%E7%9A%84-MXNet

    https://www.cnblogs.com/Mulns/p/8862438.html

  • 相关阅读:
    Silverlight“.NET研究” 2.5D RPG游戏技巧与特效处理:(七)动画特写 狼人:
    Silverlight 2.5D RPG游戏“.NET研究”技巧与特效处理:(六)流光追影 狼人:
    WPF中使用amCh“.NET研究”arts绘制股票K线图 狼人:
    验证.N“.NET研究”ET强命称的思路和实例 狼人:
    ASP.NET“.NET研究”下用URLRewriter重写二级域名 狼人:
    spring初始化在ServletContextListener实现类中获取spring注入对象
    执行原因【菜鸟笔记】Ubuntu系统shellscript中 关于for循环以及declare出错的原因
    jqueryfunctionchrome浏览器不支持 onmouseleave事件的解决
    异步线程C#异步委托的使用
    android删除android拦截短信并删除该条短信
  • 原文地址:https://www.cnblogs.com/aldy56/p/9398708.html
Copyright © 2011-2022 走看看