最近需要在服务器上配置tensorflow-gpu的环境来运行深度学习模型,以前在Windows上配置过,也知道一些注意点,这次在Linux下配置,也遇到了很多坑,下面总结一下配置过程,配置是使用Linux下安装的anaconda来进行的。
- 激活虚拟环境
我在服务器上安装了anaconda,并且创建了一个python3.6的虚拟环境,命名为tensorflow,在该环境下进行各种库的安装以及环境配置。下面几个步骤的操作均在该虚拟环境下进行。(当然你也可以在anaconda默认环境下进行配置)
命令
source activate tensorflow
- 查看本机驱动
nvidia-smi
可以看到本机驱动为390.46 - 查看驱动对照表
可以在nvidia的官网查看cuda与驱动对照表 官网对照表 - 查看tensorflow-gpu与cuda、cudnn的对照表
可以在tensorflow的官网查看该表 tensorflow版本与cuda、cudnn对照表
由此可以发现,本机应该对应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的辅助库
此时就会出现一个问题,本机需要的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可供下载 网址
命令
conda install -c numba cudatoolkit
实现了cudnn7.6.5,cuda9.0.0版本的安装
最终环境配置为
配置完成,可以利用GPU进行深度学习的训练