文章目录
- 前言
- 一、可行的对应版本配置
- 二、安装步骤
* - 1. 显卡算力和显卡驱动版本
- 2. tensorflow对应的CUDA、cuDNN和python版本
- 3. tensorflow 和 keras 安装
- 4. CUDA 和 cuDNN 下载
- 5. CUDA 和 cuDNN 安装
- 6. 运行测试
- 三、名词解释
前言
时间:2022年1月16日01:41:51
环境:Win10 64位,RTX2060 显卡算力7.5,VScode,python3.7.0。
搭建tensorflow和keras深度学习环境的时候,即使安装成功,由于版本不匹配的问题,导致频繁报错,比如版本不对会出现导入模块错误。由于项目原因要用python3.7.0,但我的tensorflow和keras都是最新版2.7.0,搜遍全网也没有找到对应版本的配置,尝试了很多版本,每次下载都是近3G大小,匹配过程中各种报错,折腾了三四天,简直让人炸裂。

各位一定要根据自己电脑的显卡算力、显卡驱动版本、python版本、tensorflow版本、keras版本,去匹配对应的CUDA和cuDNN版本。各版本并非完全唯一对应,而是有一定的范围区间。
; 一、可行的对应版本配置
python3.7.0+CUDA11.6.0+cuDNN8.3.2+tensorflow2.7.0+Keras2.7.0
python3.7.0+CUDA11.3.1+cuDNN8.2.1+tensorflow2.7.0+Keras2.7.0
python3.7.0+CUDA10.1.2+cuDNN7.6.5+tensorflow2.2.0+keras 2.3.1
二、安装步骤
1. 显卡算力和显卡驱动版本
显卡算力决定你的CUDA版本区间:
NIVDIA显卡算力官方查询

维基百科查询显卡算力对应的CUDA版本区间(境内无法正常打开):
维基百科CUDA

比如我的显卡RTX2060 算力7.5,那么可以下载的CUDA版本区间为10.0-10.2 和 11.0以上。
显卡驱动版本,在NVIDIA控制面板的系统信息可查询到,建议更新到最新版本,这样就不会因驱动版本而下载CUDA版本受限。
NVIDIA官方显卡驱动更新

更新显卡驱动程序,建议在选项 Download Type 选 Studio Driver(SD),因为对深度学习有利。

NVIDIA官方 CUDA与显卡驱动版本对应表查询

比如我的显卡驱动版本是最新版511.23,则可以下载CUDA 11.6 GA及以下所有版本,它决定了你能下载CUDA版本的上限。
因此,显卡算力和显卡驱动版本共同决定你能下载的CUDA版本区间。
; 2. tensorflow对应的CUDA、cuDNN和python版本
官方查询 tensorflow-gpu与CUDA cuDNN Python版本关系

或者参考我在本文第一部分中提到的测试的配置版本。
[En]
Or refer to the configuration version of the test I mentioned in the first part of this article.
python3.7.0+CUDA11.6.0+cuDNN8.3.2+tensorflow2.7.0+Keras2.7.0
python3.7.0+CUDA11.3.1+cuDNN8.2.1+tensorflow2.7.0+Keras2.7.0
python3.7.0+CUDA10.1.2+cuDNN7.6.5+tensorflow2.2.0+keras 2.3.1
; 3. tensorflow 和 keras 安装
CMD命令行输入:
pip install tensorflow
pip install keras
pip install tensorflow -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
pip install keras -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
默认下载的是最新版2.7.0。直接下载的是国外源速度慢,可以换成国内镜像源(豆瓣、阿里云、清华大学等)。注意tensorflow2.7.0默认包含cpu和gpu版,无需区分安装,但其他版本安装时区分CPU版和GPU版(tensorflow-gpu)。如果要下载特定版本的,如:
pip install tensorflow==2.2.0 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
pip install tensorflow-gpu==2.2.0 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
pip install keras==2.3.1 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
4. CUDA 和 cuDNN 下载
CUDA下载有两种版本,local(本地版) 和 network(在线版),建议下载在线版,文件只有几十M。本地版内置了显卡驱动程序和各种组件的可选安装,文件有2.2G大小。

cuDNN最新版(v8.3.2)官方下载
cuDNN归档版官方下载

; 5. CUDA 和 cuDNN 安装
CUDA安装选自定义(高级)

自定义安装选项只选CUDA的4个(Runtime、Development、Samples、Documentation)。其他的看你需求,Visual Studio Integration 是VS的集成,我用的IDE是VScode,不需要VS。

NVIDIA GeForce Experience 是显卡驱动程序,如果你已经更新了显卡驱动版本,就不用选了,因为每个CUDA版本里面都含显卡驱动程序,如果你每次都选相当于每次更新显卡驱动版本。Other components 是声卡等设备驱动程序,我电脑有装了,不用选。

然后选择安装路径,点击安装,本地版本很快,线上版本需要在线下载安装,速度很慢。
[En]
Then select the installation path, click install, the local version is very fast, the online version needs to be downloaded and installed online, slowly.
cuDNN下载好后解压,把里面的三个文件夹的内容分别移到CUDA安装目录里对应的同名文件夹里面。其中include和bin文件夹可以直接移动,lib文件夹内容要移动到lib\x64目录下。

这时,环境变量的Path里可以看到CUDA的两个变量。如果你安装了多个CUDA版本,只需要把该版本的两个变量移到最上面,就会激活它。

6. 运行测试
查看python版本和安装的模块,CMD命令行输入:
python --version
pip list

查看CUDA 和 tensorflow的版本,CMD命令行输入:
nvcc -V
import tensorflow as tf
print(tf.__version__)
tf.test.is_gpu_available()

或者在CUDA安装目录查看版本:
D:\JavaIDE\CUDA\NVIDIA GPU Computing Toolkit\CUDA\v11.6,右击version.json 用记事本打开即可查看CUDA版本;

或者在D:\JavaIDE\CUDA\NVIDIA GPU Computing Toolkit\CUDA\v11.6\extras\demo_suite:
右击空白处打开PowerShell\CMD终端,命令行输入:
.\deviceQuery.exe

查看cuDNN版本:
在CUDA安装目录D:\JavaIDE\CUDA\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include:
右击cudnn_version.h(低版本的是cudnn.h)用记事本打开即可查看cuDNN版本。比如我的cuDNN就是v8.3.2版本。

跑一个python程序测试:

之前在python3.7.0+CUDA10.1.2+cuDNN7.6.5+tensorflow 2.2.0+keras 2.3.1配置环境,运行情况:
import keras

一切正常。
三、名词解释
TensorFlow:一个开源软件库,用于各种感知和语言理解任务的机器学习。
Keras:一个用Python编写的开源神经网络库,能够在TensorFlow、Microsoft Cognitive Toolkit、Theano或PlaidML之上运行。Keras旨在快速实现深度神经网络,专注于用户友好、模块化和可扩展性。
CUDA:统一计算架构。专为GPU同时处理多重任务而设计,大规模的并行计算处理,十分适合对图形处理、语音识别、视频等领域进行分析渲染。
cuDNN:深度神经网络库,针对CUDA优化,实现高性能GPU加速。
Original: https://blog.csdn.net/jiuzixu/article/details/122518914
Author: 霍灵渊
Title: 2022【超详细】搭建深度学习环境与配置 tensorflow2.7+keras2.7+CUDA11.6+cuDNN 对应版本
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/7664/
转载文章受原作者版权保护。转载请注明原作者出处!