zoukankan      html  css  js  c++  java
  • Ubuntu安装双系统解决卡死问题+搭建GPU机器学习环境

    前言

    本篇更新于2019-11-29

    最近无奈重装了电脑,原来构建好的环境也没了,又要折腾一阵。但是时过境迁,这篇所写的一些方法却不好使了。无奈只好重新Google摸索。

    更新主要有一下几点:

    • 更换了所使用的Ubuntu镜像,使用Ubuntu_18.04.3
    • 改变了制作镜像的方法
    • 改变了解决安装Ubuntu时卡死的方法,原来的方法不好用了,可能跟镜像版本有关
    • 使用了更高版本的Nvidia驱动
    • 对于CUDA和cuDNN的安装方法并没有更新,但是其安装方法并不会变化太大
    • 由于Tensorflow已经更新到2.0版本,建议使用新版本的Tensorflow,最后验证环境安装成功的方法也是基于Tensorflow2.0

    以下是修改后的原文:

    本篇写于2019-4-25

    这两天装Ubuntu18.04双系统简直装到崩溃。一是非常著名的开机卡死在Logo界面的问题,另一个是在装Nvidia驱动和CUDA的时候,更是费心。而网上的资料又良莠不齐,走了不少弯路。于是做个总结,方便以后的自己,也方便别人。

    首先:我的机器是戴尔灵越5577,以下方案不一定适合您的机器,操作失败还请自行百度解决,并且安装所CUDA和cuDNN版本请务必参照官网配置

    装机

    镜像是在Ububtu官网下载的镜像,这没有什么异议。启动盘制作方面我选择rufus,小巧免费好用,并且非常适合制作Linux启动盘。

    选好U盘选好镜像后就可以制作了,制作启动盘的选项如下:

    制作完成后,关闭rufus就可以了,带着U盘,重新启动。

    进入U盘引导(不同品牌的电脑有不同的方式,Dell是按F12选择启动方式),进入grub界面。

    为防止开机开在Logo,选中Install Ubuntu,然后按e编辑。在splash后面加上acpi=off,注意前后留一个空格。然后按F10即可正常安装启动了。关于acpi=off具体含义,可以参考这里

    我的分区方式如下,共分给Linux 20G:

    目录 大小
    / 19G 主分区
    swap 1G 主分区

    装完后,会显示重新启动,点击重新启动后,我还是在这里卡住了。按住电源键不放,强制关机后。再开机后却没有问题了。

    但是有的博主也说这个方法会使得装好后的Ubuntu出现诸如键盘灯不亮,触摸板不能用的情况,还要再在grub的配置里把acpi=off去除,但是当我准备去去除的时候却发现grub的配置并没有acpi=off的配置,所以便跳过了这一步。如果你的电脑出现此类情况的话请参考这里

    安装驱动

    这里有很多教程说是通过sudo ubuntu-drivers autoinstall这个方法安装的,但是就我亲身经历而言,并不好使,这里安装驱动是没问题的,但是后来在安装CUDA的时候会遇到各种各样的问题。

    这里的建议是,去Nvidia的官网选择一个适合你的显卡的驱动(我选的最新的),下载好备用。

    在装驱动之前,先将nouveau加入黑名单:

    sudo vim /etc/modprobe.d/blacklist.conf
    

    在末尾加上一行blacklist nouveau,保存退出并重启

    接下来按CTRL+ALT+F2,进入纯字符界面,以root身份登入,开始安装显卡驱动。首先进入刚才下好的驱动所在的目录,执行

    chmod 777 ./NVIDIA-Linux-x86_64-xxx.xx.run
    ./NVIDIA-Linux-x86_64-xxx.xx.run –no-opengl-files # 后面的参数可选
    

    对于第二行的–no-opengl-files参数可选,有的博主遇到安装驱动后在登陆界面循环登录的情况,加了该参数后解决,但是我并没有加也没有问题,可能是新版本的驱动已经解决了这个问题

    然后一路确定,完成后重启系统,进入BIOS(戴尔是按F2,其他电脑型号请自行查找资料),关掉secure boot,设置为disable,关掉后保存重启。这里一定要关掉,不然开机后是没法用刚才装的Nvidia驱动的。

    启动后在控制台输入nvidia-smi,若没有报错则证明安装成功。我安装完后如下:

    安装CUDA

    接下来,我们安装CUDA,我这里使用的是CUDA10.0,因为目前tensorflow已经可以使用CUDA10了,也就不挑旧版本安装了。

    到Nvidia官网上找到CUDA10.0的下载链接,Nvidia给出的默认的CUDA的下载链接是CUDA10.1,因为我没试验过,所以不知道可不可以用,你可以自行决定。

    依次选择 Linux -> x86_64 -> Ubuntu -> 18.04 -> runfile(local),选好后选择Base Install开始下载。

    下好后,找到CUDA安装包所在的位置,在控制台输入

    sudo sh ./cuda_10.0.130_410.48_linux.run
    

    然后等待一会后,会出来安装协议,按住空格键快速看完。然后选择安装选项:

    • 第一项,选择accept接受。
    • 第二项,询问你是否安装CUDA中带的显卡驱动,由于我们前面已经安装了驱动,所以不安装,选n
    • 剩下的,能选y的选y,能Enter的Enter就好。

    装好后,在~/.bashrc最后 添加环境变量,保存后退出

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.0/lib64
    export PATH=$PATH:/usr/local/cuda-10.0/bin
    export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.0
    

    测试一下:

    cd /usr/local/cuda/samples/1_Utilities/deviceQuery 
    sudo make
    ./deviceQuery
    

    若最后一行的结果为Result = PASS,说明安装成功。

    安装cuDNN

    最后,去官网找对应版本的cuDNN,这里我选择的是7.5(7.4也是可以的),下载(这里需要登陆Nvidia才可以)

    将下载好的压缩包解压,一般解压出来的目录为cuda,拷贝到CUDA中

    sudo cp cuda/include/cudnn.h /usr/local/cuda/include/ 
    sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
    

    最后

    至此,CUDA已安装完成,装个gpu版本的tensorflow试试(你也可以先使用virtualenv创建个虚拟环境再安装)

    pip3 install tensorflow-gpu  # 这里pip3需要手动下载,并且默认装TensorFlow2.0
    

    装好后,进入python交互环境

    >>> import tensorflow as tf
    >>> tf.test.is_gpu_available()
    

    执行后,会有日志打印,若最后显示True,即证明安装成功。


    参考:

  • 相关阅读:
    VIJOS-P1340 拯救ice-cream(广搜+优先级队列)
    uva 11754 Code Feat
    uva11426 GCD Extreme(II)
    uvalive 4119 Always an Interger
    POJ 1442 Black Box 优先队列
    2014上海网络赛 HDU 5053 the Sum of Cube
    uvalive 4795 Paperweight
    uvalive 4589 Asteroids
    uvalive 4973 Ardenia
    DP——数字游戏
  • 原文地址:https://www.cnblogs.com/tcctw/p/10768786.html
Copyright © 2011-2022 走看看