zoukankan      html  css  js  c++  java
  • 显卡驱动及cuda版本错误导致的tensorflow无法调用问题的解决办法

    一、显卡驱动相关问题集合

    1.1 卸载ubnutu16.04 cuda10.1

    在 /usr/local/cuda-10.1/bin 中找到cuda-uninstaller,然后执行:sudo ./cuda-uninstaller,然后执行如下命令:sudo rm -rf /usr/local/cuda-10.1/,以清除残留文件。

    PS:查看cuda是否已删除干净的命令nvcc -V;此外,cudnn会被一并删除,查

    1.2 安装cuda

    英伟达官网

    在官网上下载对应run版本的cuda和cudnn,一般用9.0或者10.1,然后在.run文件的目录下执行:chmod +x cuda_9.0.130_410.48_linux.run,上述代码的目的是赋予权限,然后再执行:./cuda_9.0.130_410.48_linux.run开始安装,注意安装时不选中显卡驱动(此处安装可能会出现编译错误)。安装完毕后,重启teminal并输入nvcc -V测试是否安装成功。

    1.3 安装cudnn

    官网链接

    下载后进行解压:tar -zxvf cudnn-9.0-linux-x64-v7.4.2.24.tgz

    然后执行如下代码:

    cp cuda/lib64/* /usr/local/cuda-9.0/lib64/
    cp cuda/include/* /usr/local/cuda-9.0/include/
    sudo chmod a+r /usr/local/cuda-9.0/include/cudnn.h /usr/local/cuda-9.0/lib64/libcudnn*
    

    将cudnn的lib64和include文件复制到cuda的目录,查看cudnn的版本命令如下:cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

    1.4 cuda的软链接设置(多版本切换)

    sudo vim ./bashrc,打开环境配置文件,然后修改如下信息(目的是去特殊化):

    export PATH="$PATH:/usr/local/cuda/bin"
    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64/" 
    export LIBRARY_PATH="$LIBRARY_PATH:/usr/local/cuda/lib64" 
    

    此时,已配置好环境,接下来则需要删除和修改软链接:

    sudo rm -rf /usr/local/cuda #删除之前创建的软链接
    sudo ln -s /usr/local/cuda-9.0 /usr/local/cuda #创建新 cuda 的软链接
    

    最后,则成功将cuda9.0链接到cuda

    PS:蓝色的文件是链接文件,绿色的文件是源文件,ln -s 源地址 目标地址

    1.5 更换显卡驱动

    (1)移除原有的驱动:sudo apt-get remove --purge nvidia418
    (2)屏蔽自带的nouveau

    sudo chmod 666
    /etc/modprobe.d/blacklist.conf
    sudo gedit /etc/modprobe.d/blacklist.conf
    

    并在文末增加如下行:

    blacklist vga16fb
    blacklist nouveau
    blacklist rivafb
    blacklist rivatv
    blacklist nvidiafb
    

    (3)Ctrl+Alt+F1进入命令行模式(Ctrl+Alt+F7退出命令行模式)

    如果进入不了命令行模式,则需将/etc/default/grub文件中的GRUB_CMDLINE_LINUX_DEFAULT中的值由quiet splash改为nomodeset,并执行update-grub命令来进行更新

    (4)关闭图形系统
    sudo service lightdm stop

    (5)安装nvidia驱动
    sudo apt-get install nvidia-418,有时候这一步会执行不成功,则需按照如下步骤进行修改:

    sudo add-apt-repository ppa:graphics-drivers
    sudo apt-get update
    sudo apt-cache search nvidia
    ubuntu-drivers devices
    

    此时,则可正常执行第(5)步

    (6)安装完成后,重启图形系统
    sudo service lightdm start

    (7)然后重启系统,即可成功重装nvidia系统

    1.6 Missing recommended library

    原因是缺少相关的依赖库,安装相应库就解决了:

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

    1.7 更换/切换不同版本的cuDNN

    (1) 卸载旧版本的cuDNN:

    sudo rm -rf /usr/local/cuda/include/cudnn.h
    sudo rm -rf /usr/local/cuda/lib64/libcudnn*
    

    (2)按照正常步骤安装cuDNN

    (3)建立软链接(非必要步骤)

    sudo chmod +r libcudnn.so.7.5.1  
    sudo ln -s libcudnn.so.7.5.1 libcudnn.so.7  
    sudo ln -s libcudnn.so.7 libcudnn.so  
    sudo ldconfig 
    
  • 相关阅读:
    css3——box-sizing属性
    HTML5存储--离线存储
    微信公众号爆出前端安全漏洞
    Js获取宽高度的归纳集锦总结
    Yii 2 修改 URL 模式为 PATH 模式,并隐藏index.php
    SQL 查询优化 索引优化
    linux提示语言包
    安装linux工作环境
    linux常用命令
    PHP解决抢购、秒杀、抢楼、抽奖等阻塞式高并发库存防控超量的思路方法
  • 原文地址:https://www.cnblogs.com/litchi99/p/13504319.html
Copyright © 2011-2022 走看看