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

记录:在复现论文代码时碰到使用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
    CUDA 11.7 版本下安装Tensorflow-gpu以及Keras (Windows以及Ubuntu)_第1张图片
  • 检查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
    CUDA 11.7 版本下安装Tensorflow-gpu以及Keras (Windows以及Ubuntu)_第2张图片

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

  • 使用nvidia-smi查看已有CUDA版本为11.7,待配置的环境版本与Windows配置的版本一致:
    CUDA 11.7 版本下安装Tensorflow-gpu以及Keras (Windows以及Ubuntu)_第3张图片
  • 安装Tensorflow方法与上述Windows中的方法一致,然而我在Ubuntu中使用tf.test.is_gpu_available()检查是否能够使用GPU时出现“Flase”:
    CUDA 11.7 版本下安装Tensorflow-gpu以及Keras (Windows以及Ubuntu)_第4张图片
  • 检查上面的提示报错信息,有这么一句话值得注意(大意是无法找到动态库 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的问题):
    CUDA 11.7 版本下安装Tensorflow-gpu以及Keras (Windows以及Ubuntu)_第5张图片
  • 接下来同Windows一样,使用pip install keras==2.7.0安装keras,检查后确认成功安装!

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

你可能感兴趣的:(Ubuntu,python中遇到的小问题,tensorflow,keras,ubuntu)