Linux服务器下配置tensorflow-gpu环境(含cuda、cudnn)

最近需要在服务器上配置tensorflow-gpu的环境来运行深度学习模型,以前在Windows上配置过,也知道一些注意点,这次在Linux下配置,也遇到了很多坑,下面总结一下配置过程,配置是使用Linux下安装的anaconda来进行的。

  • 激活虚拟环境
    我在服务器上安装了anaconda,并且创建了一个python3.6的虚拟环境,命名为tensorflow,在该环境下进行各种库的安装以及环境配置。下面几个步骤的操作均在该虚拟环境下进行。(当然你也可以在anaconda默认环境下进行配置)
    命令
    source activate tensorflow
  • 查看本机驱动
    nvidia-smi
    本机驱动
    可以看到本机驱动为390.46
  • 查看驱动对照表
    可以在nvidia的官网查看cuda与驱动对照表 官网对照表Linux服务器下配置tensorflow-gpu环境(含cuda、cudnn)_第1张图片
  • 查看tensorflow-gpu与cuda、cudnn的对照表
    可以在tensorflow的官网查看该表 tensorflow版本与cuda、cudnn对照表
    Linux服务器下配置tensorflow-gpu环境(含cuda、cudnn)_第2张图片
    由此可以发现,本机应该对应cuda9.1及以下,tensorflow-gpu可以选择1.12.0及以下
  • 安装tensorflow-gpu
    我选择安装的是tensorflow-gpu=1.11.0
conda install tensorflow-gpu==1.11.0

安装tensorflow-gpu1.11.0之后,conda会将cuda9.2.0、cudnn7.6.5进行安装,还有一些tensorflow的辅助库
Linux服务器下配置tensorflow-gpu环境(含cuda、cudnn)_第3张图片
此时就会出现一个问题,本机需要的cuda是9.1及以下的版本,但是使用conda进行安装要么安装了9.2版本以及以上版本的cuda(当安装tensorflow-gpu1.11.0及以上版本时),要么直接不给安装cuda以及cudnn(安装tensorflow-gpu1.10及以下版本时),而且cuda、cudnn单独安装非常麻烦,我就进行了一系列的uninstall cuda以及cudnn操作,做了很多无用功。
如果直接使用版本不对的cuda的话,运行深度学习模型则会出现这个错误
在这里插入图片描述
下面就来讲如何实现安装了cuda9.2版本之后,如何搞定这个难搞的问题

  • cuda版本问题解决
    由于cuda9.1版本的很多都找不到对应的cudnn,所以如果可以安装一个cuda9.0及以下的版本,也是可以解决这个问题
    在anaconda的官网的numba部分,有一个cudatoolkit可供下载 网址
    Linux服务器下配置tensorflow-gpu环境(含cuda、cudnn)_第4张图片
    命令
conda install -c numba cudatoolkit

实现了cudnn7.6.5,cuda9.0.0版本的安装
Linux服务器下配置tensorflow-gpu环境(含cuda、cudnn)_第5张图片
最终环境配置为
在这里插入图片描述
在这里插入图片描述
配置完成,可以利用GPU进行深度学习的训练

你可能感兴趣的:(深度学习,tensorflow,anaconda,cuda)