RTX3060 Tensorflow2.4.1+cuda11.1+cudnn8.0.5配置教程

吐槽

RTX3060出来已经有一段时间了,但是tensorflow配置教程来说相对较少,之前笔者直接使用conda命令安装了tensorflow2.1.0版本,测试gpu是否可用时,显示的是可用,且代码也可以运行,不会报错(jupyter上运行的,pycharm上没有试过)。但训练模型时,val_loss一直都很大,不是几位数,是十多二十位数的损失,且训练出来的模型一直是一条没有变化的直线。起初一直认为是模型的原因,后来发现同样的环境(tensorflow、python等等版本都相同),在其它电脑上完美运行,控制变量法就是显卡的锅。

1.版本关系

直接说版本关系吧!

                               tensorflow2.4.1 + cuda11.1 + cudnn8.0.5

和同学交流一下,RTX3090同样适合该版本。

2.cuda下载、安装

RTX3060需要cuda11.1进行驱动,但是使用conda install tensorflow-gpu时,不会安装cuda11.1(pip听说也不行,但是我没试过),所以cuda11.1需要在官网上手动下载,然后手动进行安装。cuda下载:https://developer.nvidia.com/cuda-toolkit-archive,在里面选择cuda11.1


根据自己电脑配置选,然后点下载。

下载完成后推荐安装就可以了,安装位置默认。

3.Cudnn下载、安装

还是直接官网下载就可以了,不过需要注册个账号,用qq邮箱注册就可以了,要是登录不进去换个号试试,还是不行就在网上找找有没有cudnn8.0.5的包可以直接下载。cudnn下载网址:https://developer.nvidia.com/cudnn,下载解压完成后,就是三个文件夹+一个txt


cudnn文件

将cudnn里面的三个文件夹复制到cuda安装目录,然后全部替换掉。cuda默认安装话,安装目录如下图:


cuda安装文件夹

4.环境变量配置

下面是环境变量配置,在系统中添加以下 5个 环境变量:

CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v11.1             (cuda默认安装的话就是这个路径)

CUDA_LIB_PATH = %CUDA_PATH%\lib\x64

CUDA_BIN_PATH = %CUDA_PATH%\bin

CUDA_SDK_BIN_PATH = %CUDA_SDK_PATH%\bin\win64

CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%\common\lib\x64

在环境变量Path中添加:

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v11.1\common\lib\x64

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\lib\x64

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v11.1\bin\win64

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin

5.tensorflow安装

首先安装anaconda,安装教程网上很多,此处不再赘述。

点击开始按钮,在开始中找到anaconda,选中anaconda Prompt(anaconda3)


在prompt中输入命令,新建一个名为tf的虚拟环境,(tf为虚拟环境名称,可以随便改)

conda create -n tf python==3.7.9


虚拟环境建立完成后,在命令框中输入activate tf,就切换到了tf环境下


此时输入命令pip install tensorflow-gpu==2.4.1


接下来就是漫长的安装等待,(要是你有科学上网工具可能快一点,但是有可能需要先将pip降低版本,之前我pip版本是20.1.0,我使用命令python -m pip install pip==20.0.1 降低了pip版本),安装完成后,关闭。

6.测试

笔者是在pycharm上运行的,(记得将pycharm下工程的解释器选择到tf环境下,pycharm使用就不讲了),测试程序为:

import tensorflowas tf

tf.config.list_physical_devices('GPU')

若输出为下面:

有个警告Could not load dynamic library 'cusolver64_10.dll'; dlerror: cusolver64_10.dll not found,直接进入到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin找到cusolver64_11.dll,将其重命名为cusolver64_11.dll就可以了。(如果没有cusolver64_11.dll,同理,找到前缀相同的,把后面替换为10),完成后再运行测试程序:


至此,安装完成!!!

你可能感兴趣的:(RTX3060 Tensorflow2.4.1+cuda11.1+cudnn8.0.5配置教程)