目录

一、可行的对应版本

二、安装步骤

1. 显卡驱动版本及算力

2. TensorFlow与CUDA、cuDNN、Python的版本对应关系

3. TensorFlow与keras的安装

4. CUDA和cuDNN的下载

5. CUDA和cuDNN的安装


时间:2022年3月20日~23日

背景:win10-64bit,anaconda3,jupyter notebook, python3.7,

显卡NVIDIA GeForce 940M (驱动版本472.47) 算力为5.0,笔记本thinkpad T 450s

用深度学习CNN进行图像分类,自己的笔记本较老了,CPU处理太慢有时跑一个epoch要4000s,无法忍受,好在有GPU,想利用起来。先是从网上找了教程,安装过程还算顺利,但一测试出了这样那样的种种问题,虽然有些都解决了,折腾了好几天,但终究是没有跑起来,最后判断是各种环节的版本问题。

一、可行的对应版本

各位一定要根据自己电脑的显卡算力、显卡驱动版本、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版本区间范围,具体算力可以去NVIDIA官网查询:CUDA GPUs | NVIDIA Developer

如下图:

 维基百科查询显卡算力对应的CUDA版本区间(境内无法正常打开):
维基百科CUDA,经过搜索我在维基百科(参考CUDA) 找到了答案

 我的940M算力5.0,对应的cuda版本区间应在11.0-11.2及以上的。

显卡驱动版本,在NVIDIA控制面板的系统信息可查询到。

NVIDIA官方 CUDA与显卡驱动版本对应表查询:Release Notes :: CUDA Toolkit Documentation

比如我的显卡驱动版本是最新版472.47,则可以下载CUDA 11.4 Update 2及以下所有版本,它决定了你能下载CUDA版本的上限。

因此,显卡算力和显卡驱动版本共同决定你能下载的CUDA版本区间。

2. TensorFlow与CUDA、cuDNN、Python的版本对应关系

官方查询 tensorflow-gpu与CUDA cuDNN Python版本关系,在 Windows 环境中从源代码构建  |  TensorFlow

 

3. TensorFlow与keras的安装

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~3.0G大小。一般建议精简安装。我下载的是CUDA  v11.2。

 

cuDNN 官网下载需要注册,才能允许下载。这里面一定要根据前面说的版本,找到相应的cuDNN版本,我最初的是选择了CUDA11.2+cuDNN8.2.1,经测试不行,后来就改了cuDNN 8.1.1,测试成功了!这里还有个坑,cuDNN 有的后面写着 (......for 11.x),千万别用这样的,要明确写着11.2的才行。

5. CUDA和cuDNN的安装

(1) CUDA on Windows, including the CUDA driver and toolkit: NVIDIA CUDA Installation Guide for Windows.

(2)安装ZILIB dll, 这一步很关键,如果没有后期会出现一些错误。

下载zlib解压到某个目录,比如我的是:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\zlib123dllx64

要找到子目录dll_x64中的zlibwapi.dll文件,并把该路径添加到系统的环境变量PATH中。

(3)安装cDNN

cuDNN的安装比较简单,下载zip文件后解压缩,拷贝bin,lib,include中的文件到CUDA安装目录下的对应文件夹即可。详见官网文档介绍:也可以直接看下面的截图,说的很详细

Installation Guide :: NVIDIA Deep Learning cuDNN Documentation

 

三、名词解释

TensorFlow:一个开源软件库,用于各种感知和语言理解任务的机器学习。

Keras:一个用Python编写的开源神经网络库,能够在TensorFlow、Microsoft Cognitive Toolkit、Theano或PlaidML之上运行。Keras旨在快速实现深度神经网络,专注于用户友好、模块化和可扩展性。

CUDA:统一计算架构。专为GPU同时处理多重任务而设计,大规模的并行计算处理,十分适合对图形处理、语音识别、视频等领域进行分析渲染。

cuDNN:深度神经网络库,针对CUDA优化,实现高性能GPU加速。

Reference:

深度学习环境搭建:win11+tensorflow2.7+CUDA11.6+cuDNN8.3.2_噜啦啦火车笛的博客-CSDN博客

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐