美文网首页
工具-tensorflow-gpu一次搞定

工具-tensorflow-gpu一次搞定

作者: lip136 | 来源:发表于2018-09-30 12:37 被阅读0次

    快捷查询

    1. 查询tensorflow是GPU还是CPU的版本
    import tensorflow as tf
    tf.test.is_gpu_available()
    
    1. 查看tensorflow-gpu所需要支持的cuda版本

    查看当前tensorflow-gpu版本所需的CUDA和cudnn型号\Lib\site-packages\tensorflow\python\platform\build_info.py这个文件,可以看到使用的CUDA 9.0和cuDNN 7:

      msvcp_dll_name = 'msvcp140.dll'
      cudart_dll_name = 'cudart64_90.dll'
      cuda_version_number = '9.0'
      nvcuda_dll_name = 'nvcuda.dll'
      cudnn_dll_name = 'cudnn64_7.dll'
      cudnn_version_number = '7'
    
    1. 查看CUDA和cudnn型号
    cat /usr/local/cuda/version.txt
    cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
    
    1. 查看电脑的GPU
    nvidia-smi
    
    1. 在程序中指定使用哪一个GPU
    import os
    os.environ["CUDA_VISIBLE_DEVICES"]='0','1'
    # 这里指定使用0号和1号GPU
    

    问题

    1. tensorflow-gpu==1.7.1不支持CUDA=9.1

    如此我只能放弃cuda9.1,重新安装9.0

    1. 安装9.0的时候默认跑到9.1源去了
    E: 下载 file:/var/cuda-repo-9-1-local/./cuda-drivers_387.26-1_amd64.deb  无法找到文件 - /var/cuda-repo-9-1-local/./cuda-drivers_387.26-1_amd64.deb (2: 没有那个文件或目录) 失败
    

    因为我之前安装的是9.1,所以才会这样。
    我的解决办法是去 软件和更新 里面把9.1的源手动去掉

    1. ImportError: libcudnn.so.7
    错误:cannot open shared object file: No such file or directory
    

    一般是环境变量没有配置好,进入~/.bashrc

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

    要不就是cudnn没有连接上

    cd /usr/local/cuda/lib64
    sudo rm -rf libcudnn.so libcudnn.so.7 
    sudo ln -s libcudnn.so.7.0.5 libcudnn.so.7
    sudo ln -s li 
    sudo ldconfig 
    
    1. 出现tensorflow只使用了cpu而没有gpu
    nvidia-smi
    

    我的是出现

    Failed to initialize NVML: Driver/library version mismatch
    

    这个时候重启一下就ok了

    卸载

    sudo apt autoremove cuda
    cd /usr/local/
    sudo rm -rf cuda-9.1
    sudo rm -r cuda-repo-9-1-local
    

    安装

    1. 安装CUDA

    下载9.0版本,我选择的是linux64位deb包。

    sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb
    sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub
    sudo apt-get update
    sudo apt-get install cuda-9-0
    

    打开环境文件,加入环境变量,使环境生效

    sudo gedit ~/.bashrc
    export CUDA_HOME=/usr/local/cuda-9.0
    export LD_LIBRARY_PATH=${CUDA_HOME}/lib64
    export PATH=${CUDA_HOME}/bin:${PATH}
    sudo ldconfig
    cat /usr/local/cuda/version.txt
    
    1. 安装cudnn

    下载7.0.5版本,这个需要注册登录的,是一个压缩包cudnn-9.0-linux-x64-v7.tgz

    sudo tar -zxvf cudnn-9.0-linux-x64-v7.tgz
    

    拷贝文件

    sudo cp cuda/lib64/* /usr/local/cuda-9.0/lib64/
    sudo cp cuda/include/* /usr/local/cuda-9.0/include/
    cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
    
    1. 安装tensorflow-gpu==1.7.1
    sudo pip install tensorflow-gpu==1.7.1
    

    题外话

    其实不用一上来就搞gpu,而且就算你搞了gpu,有些时候你还是需要服务器才可以,我的电脑1080,8g的gpu,基本上就很少在自己电脑跑程序,因为吃不消。所以你完全可以装cpu先熟悉,了解基本结构再搞gpu,不然一上来安装就感觉头大。

    相关文章

      网友评论

          本文标题:工具-tensorflow-gpu一次搞定

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