美文网首页我爱编程
深度学习框架搭建ubuntu16.04LTS+NVIDIA+cu

深度学习框架搭建ubuntu16.04LTS+NVIDIA+cu

作者: 脏脏包盛 | 来源:发表于2018-03-11 21:19 被阅读0次

    参考
    https://blog.csdn.net/wf19930209/article/details/81877822
    http://blog.csdn.net/fdqw_sph/article/details/78745375
    http://blog.csdn.net/wiinter_fdd/article/details/66523468
    http://blog.csdn.net/liangyihuai/article/details/77842628
    https://mxnet.incubator.apache.org/install/index.html
    https://www.jianshu.com/p/9ba7b257c91c
    Nvidia驱动另一种安装方法
    https://blog.csdn.net/tjuyanming/article/details/80862290
    卸载方法:
    https://blog.csdn.net/l297969586/article/details/67632608
    https://blog.csdn.net/FIELDOFFIER/article/details/54017297

    使用软件版本:cuda9.0,cudnn7.0.x坚决不用7.1!

    系统安装

    问题1:双显卡电脑启动会黑屏
    解决方法:

    • 在引导界面,按e进入grub编辑界面,在quiet splash 后面添加 acpi_osi=linux nomodeset
    • 按F10接着引导启动
    • 进入登录界面,输入用户名密码,进入主界面,在命令行输入代码
    sudo vim /etc/default/grub
    

    找到 quiet splash 后面添加 acpi_osi=linux nomodeset
    按:wq保存

    sudo update-grub
    

    重启即可

    下载安装包

    查看自己gpu显卡型号

    lspci | grep -i nvidia
    

    驱动管网上下载安装包NVIDIA-Linux-x86_64-390.25.run
    网址http://www.nvidia.cn/page/home.html

    下载cuda_9.1.85_387.26_linux.run
    网址https://developer.nvidia.com/cuda-downloads

    image.png
    注意下载runfile文件

    下载cudnn-9.1-linux-x64-v7.1.tgz 需要注册登录后才可以下载,cudnn版本一定要支持cuda版本
    网址https://developer.nvidia.com/cudnn

    nvidia 驱动安装

    禁用nouveau

    ubuntu自带的nouveau驱动会影响cuda安装,不当操作会导致黑屏和登陆循环。参考https://linuxconfig.org/how-to-disable-nouveau-nvidia-driver-on-ubuntu-18-04-bionic-beaver-linux

    安装中遇到的问题:安装驱动会无限循环登录界面

    解决方法:在登录界面按住ctril+alt+F1 进入tty界面输入用户名和密码登录,卸载原有NVIDIA驱动

    sudo apt-get remove --purge nvidia-*
    sudo apt-get autoremove
    
    安装中遇到 unable load Nvidia-drm

    在这两个目录中找到有关nvidia文件

    grep  nvidia /etc/modprobe.d/* /lib/modprobe.d/*
    

    如果有blacklist-nvidia文件,把它删除
    然后运行

    sudo update-initramfs -u
    sudo reboot
    
    安装中遇到nvidia-smi 可以使用,但是nvidia-setting不能使用

    这是在/etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT 中设置了 acpi_osi=linux nomodeset 的结果
    /etc/default/grub删除该代码并添加

    acpi_rev_override=5 nouveau.runpm=0
    
    sudo update-grub
    

    即可

    安装一些依赖(网上借鉴,个人安装没有遇到)

    我在安装过程中遇到下图中的问题

    网上查找发现遇到的人不多,经查找,可能是因为缺少32位的库文件(我安装64位的,为啥需要这个。。。晕),需要安装依赖

    sudo apt-get install lib32ncurses5
    sudo apt-get install lib32z1
    安装后可解决

    然后开始安装驱动,继续在tty界面输入命令

    sudo service lightdm stop
    

    (*网上借鉴,个人没有遇到)此时可能关不了,即使现实该操作OK,但是一会再开启时会有问题,可以在此基础上增加操作,手动删除X图像界面,图像界面X在/tmp路径下,具体操作:

    cd /tmp  
    sudo rm -rf .X*
    

    这样就可以把关于X的图像界面文件全部删除(每次重启都会再次生成,所以会在alt+ctrl+f1界面下操作)

    安装nvidia driver

    sudo chmod a+x NVIDIA-Linux-x86_64-390.25.run
    sudo ./NVIDIA-Linux-x86_64-390.25.run -no-x-check -no-nouveau-check -no-opengl-files
    
    • –no-x-check 安装驱动时关闭X服务
    • –no-nouveau-check 安装驱动时禁用nouveau
    • –no-opengl-files 只安装驱动文件,不安装OpenGL文件

    提示步骤
    Accept->Continue installation->sign the kernel module(为内核模块签名)?选择是->使用已有的密钥给模块签名还是重新生成?选重新生成密钥->是否删除已生成的密钥文件?选择否->安装完成

    问题:The target kernel has CONFIG_MODULE_SIG set,which means that it supports cryptographic signatures on kernel module. On some systems, the kernel may refuse to load modules without a valid signature from a trusted key.This system also UEFI Secure Boot enabled; many distributions enforce module signature verification on UEFI systems when Secure Boot is enabled. Would you like to sign the NVIDIA kernel module?

    解决:禁用UEFI安全启动功能

    启动电脑,然后按电脑的设置访问UEFI,本机器按[F2]键,不同的制造商可能有不同的设置,具体请参考主板说明书。

    根据不同的UEFI版本,安全启动选项通常在一个选项卡下,这个选项卡可能被命名为“Boot”、“Security”或者“Authentication”,在类似的选项卡中查找,我们会发现一个“Secure Boot”选项,该选项默认设置为“Enabled”,选中它并回车,将其设置为“Disabled”,按[Apply]键存储设置,重新启动电脑即可安装我们需要的操作系统。

    sudo reboot
    

    进入主界面输入

    nvidia-smi
    

    显示上图则说明成功
    显卡切换

    prime-select intel
    prime-select nvidia
    

    安装cuda9.1

    找到下载文件的路径

    chmod a+x cuda_9.1.85_387.26_linux.run
    sudo ./cuda_9.1.85_387.26_linux.run
    

    单击回车,一路往下运行,直到提示“是否为NVIDIA安装驱动nvidia-384?”,选择否,因为已经安装好驱动程序了,其他的全都是默认,不过要记住安装位置,默认是安装在/usr/local/cuda文件夹下。

    配置环境变量,运行如下命令打开profile文件

    sudo gedit  /etc/profile
    

    打开文件后在文件末尾添加路径,也就是安装目录,命令如下:

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

    保存,然后重启电脑

    sudo reboot
    

    测试CUDA的例子

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

    如果显示的是关于GPU的信息,则说明安装成功了。

    最后你会看到cuda驱动、sample、tookit已经安装成功,但是缺少一些库。

    sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
    

    环境变量配置

    安装完毕后,再声明一下环境变量,并将其写入到 ~/.bashrc 的尾部:

    export PATH=/usr/local/cuda-9.1/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-9.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
    

    然后设置环境变量和动态链接库,在命令行输入:

    sudo gedit /etc/profile
    

    在打开的文件末尾加入:

    export PATH=/usr/local/cuda/bin:$PATH
    

    保存之后,创建链接文件:

    sudo gedit /etc/ld.so.conf.d/cuda.conf
    

    在打开的文件中添加如下语句:

    /usr/local/cuda/lib64
    

    然后执行

    sudo ldconfig
    

    使链接立即生效。

    安装cudnn

    继续Ctrl+alt+F1进入的字符界面
    进入解压后的cudnn-9.1-linux-x64-v7.1.tgz文件cuda,在终端执行下面的指令安装:

    tar -zxvf cudnn-9.1-linux-x64-v7.1.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退出Text Mode。

    使用anaconda创建虚拟化环境

    conda create -n mxnet python=3.6
    

    激活虚拟化环境

    conda activate mxnet
    

    在虚拟化环境中使用pip安装gpu mxnet
    Install MXNet with GPU support using CUDA 9.1

    pip install mxnet-cu91
    

    install graphviz(Optional, needed for graph visualization using mxnet.viz package).

    sudo apt-get install graphviz
    pip install graphviz
    

    Validate the installation by running simple MXNet code described here.

    Experimental Choice If You would like to install mxnet with Intel MKL, try the experimental pip package with MKL:

    pip install mxnet-cu91mkl
    

    Validate MXNet Installation

    python
    
    >>> import mxnet as mx
    >>> a = mx.nd.ones((2, 3), mx.gpu())
    >>> b = a * 2 + 1
    >>> b.asnumpy()
    array([[ 3.,  3.,  3.],
           [ 3.,  3.,  3.]], dtype=float32)
    

    运行成功则安装成功

    pycharm 使用虚拟环境

    File->setting->Project:XXXX->Project Interperter


    image.png

    选择anaconda3/envs/mxnet/bin/python3.6,选择后系统会load相关的配置,这样就可以愉快的在PyCharm中使用Anaconda的虚拟环境了。

    遇到的坑(没遇到)

    练习的时候需要使用Graphviz这样一个包,这是一个把数据图形化的包。但是不管是通过brew brew install graphviz还是Anaconda conda install -c anaconda graphviz安装,在代码中始终无法导入。
    最后通过查看这里解决。大概的意思是graphviz的conda包并不是一个python包,通过conda install -c anaconda graphviz只是把相关的文件下载下来,还需要通过pip install graphviz 安装。这样就能在代码里顺利导入相关的包了。

    相关文章

      网友评论

        本文标题:深度学习框架搭建ubuntu16.04LTS+NVIDIA+cu

        本文链接:https://www.haomeiwen.com/subject/cwwwfftx.html