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,即证明安装成功。


    参考:

  • 相关阅读:
    Java后台实现方法
    解决横屏下锁屏,再次解锁界面显示异常-一屏下显示反复两个界面
    java平台利用jsoup开发包,抓取优酷视频播放地址与图片地址等信息。
    用C++实现一个Log系统
    LeetCode 3_Longest Substring Without Repeating Characters
    跟着实例学习设计模式(7)-原型模式prototype(创建型)
    XStream 数组(List)输出结构
    【Cocos2d-x 3.0 基础系列一】 各类回调函数写法汇总
    机房收费系统验收小结(一)
    动态隐藏/显示系统状态栏
  • 原文地址:https://www.cnblogs.com/tcctw/p/10768786.html
Copyright © 2011-2022 走看看