CUDA 11.7 版本下安装Tensorflow-gpu以及Keras (Windows以及Ubuntu)

  • Post author:
  • Post category:其他




记录:在复现论文代码时碰到使用keras环境,于是在自己windows系统的台式机(RTX 3080;CUDA 11.7)上进行了安装,但是发现台式机的显存无法支持程序的运行。于是将一摸一样的环境配置到更大现存的Ubuntu服务器(CUDA 11.7)上,但配置环境出错,一直无法调用GPU。经过一天的摸索,从网上其他博客中找到答案,虽然不懂其中的道理,但先记录下来。




1. 待配置环境的版本


  • Python

    : 3.8.0

  • CUDA

    : 11.3.1

  • cuDNN

    : 8.2.1

  • Tensorflow-gpu

    : 2.7.0

  • Keras

    : 2.7.0



2. Windows下使用conda和pip安装Tensorflow-gpu以及Keras

  • 首先在Conda下创建虚拟环境且激活:


    conda create -n tf-gpu python=3.8.0



    conda activate tf-gpu
  • 在命令行中安装cudatoolkit:


    conda install cudatoolkit=11.3.1
  • 在命令行中安装cudnn:


    conda install cudnn=8.2.1
  • 通过pip命令安装Tensorflow-gpu:


    pip install tensorflow-gpu==2.7.0
  • 也可以使用清华源使安装速度提升(注意与上一步目的相同):


    pip install tensorflow-gpu==2.7.0 -i https://pypi.tuna.tsinghua.edu.cn/simple --user


    在这里插入图片描述
  • 检查Tensorflow是否可用:

    在这里插入图片描述
  • 使用

    tf.test.is_gpu_available()

    检查Tensorflow中是否可用GPU,出现“True”则可用,出现“Flase”则表示GPU不可用。
  • 接着同样使用pip命令安装keras(使用清华源加速):


    pip install keras==2.7.0 -i https://pypi.tuna.tsinghua.edu.cn/simple --user


    在这里插入图片描述



3. Ubuntu下使用conda和pip安装Tensorflow-gpu以及Keras

  • 使用

    nvidia-smi

    查看已有CUDA版本为11.7,待配置的环境版本与Windows配置的版本一致:

    在这里插入图片描述
  • 安装Tensorflow方法与上述Windows中的方法一致,然而我在Ubuntu中使用

    tf.test.is_gpu_available()

    检查是否能够使用GPU时出现“Flase”:

    在这里插入图片描述
  • 检查上面的提示报错信息,有这么一句话值得注意(大意是无法找到动态库

    libcudnn.so.8

    ):
Could not load dynamic library 'libcudnn.so.8'; dlerror: libcudnn.so.8: cannot open shared object file: No such file or directory
  • 我们通过以下几行代码来解决上述问题:



    locate libcudnn.so.8

    (找到该动态库)

    在这里插入图片描述

    可以看到上述图片中找到了两个

    locate libcudnn.so.8

    的路径,由于我安装的cudnn=8.2.1,所以我以第3行找到的路径为接下来所需的动态库

    locate libcudnn.so.8

    的路径。



    sudo vim /etc/profile

    (打开环境文件)

    -在环境文件中插入下述语句(:插入,esc 退出编辑模式,wq 保存环境文件且退出):


    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/xxx/miniconda3/pkgs/cudnn-8.2.1-cuda11.3_0/lib

    (注意其中

    /home/xxx/miniconda3/pkgs/cudnn-8.2.1-cuda11.3_0/lib

    为之前代码找到的动态库的路径)



    source /etc/profile

    (更新环境文件)
  • 接下来重新激活上述环境且使用

    tf.test.is_gpu_available()

    检查是否能够使用GPU(此时提示“True”证明GPU可用。若仍然提示“Flase”,可按照上述几行代码,将无法加载的动态库都找到对应的路径且写入环境文件中。我在配置环境中除了libcudnn.so.8还有libcudart.so.11.0,通过上述几行代码成功的解决了无法使用GPU的问题):

    在这里插入图片描述
  • 接下来同Windows一样,使用

    pip install keras==2.7.0

    安装keras,检查后确认成功安装!


上述安装Tensorflow-gpu以及Keras过程中,我参考两个博客,传送:

博客-1



博客-2



版权声明:本文为zxk_75原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。