win11/win10+tensorflow2.9.0+cuda11.2.1+cudnn8.1.1
1.查看显卡支持的最高cuda版本
我是win11系统
所以只要下载的cuda低于查看的版本,显卡驱动就支持,向下兼容。
但是要注意
- CUDA 即英伟达的显卡并行计算框架,nvidia-smi 可以查看
tensorflow-gpu的运行需要它的底层支持,它是一个计算框架,抽象层次比驱动高,每个版本的CUDA都是基于一定版本的驱动建立的,所以它对驱动的最低版本是有要求的 - cuDNN 基于CUDA架构的神经网络库
是专门用于神经网络计算的加速包,可以看作是CUDA的一部分(并行计算框架下的一个包) - tensorflow-gpu
tensorflow-gpu的运行需要用到CUDA框架, 特别是cuDNN库,就像CUDA是基于特定版本驱动构建一样,tensorflow-gpu也是调用特定版本的CUDA,二者存在对应关系
显卡驱动决定了CUDA的最高版本
CUDA决定了cuDNN的版本
CUDA决定了tensorflow-gpu的版本
tensorflow-gpu决定了python的版本
进cmd
输入nvidia-smi
可以看到TensorFlow-gpu对应的cuda最高版本为11.2,但是点进去发现最高只支持win10系统,没有win11的选项。最后实测win11也是向下兼容的,直接开整。
2.cuda安装
cuda官网链接:https://developer.nvidia.com/cuda-toolkit-archive/
我选择的版本是11.2.1
可以看到没有win11选项,直接选中win10就行。
下载完毕后直接一路next安装。
安装好后cmd命令行中测试一下
cmd
nvcc --version
3.cudnn
cudnn官网链接: https://developer.nvidia.com/rdp/cudnn-archive#a-collapse51b
我选择的是8.1.1版本
下载好了解压后,将cudnn里面的bin、include、lib文件夹所有内容复制到对应的cuda文件夹C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1下面。
4.Tensorflow-GPU
4.1创建一个新的conda环境
conda create --name tf22 python=3.8
activate tf22
pip install tensorflow-gpu==2.9.0 -i https://pypi.mirrors.ustc.edu.cn/simple
python版本我这里选择3.8,tensorflow-gpu一定要指定好版本。
pip安装比较慢,可以使用镜像
中科大镜像:https://pypi.mirrors.ustc.edu.cn/simple
豆瓣镜像:http://pypi.douban.com/simple
阿里镜像:https://mirrors.aliyun.com/pypi/simple
百度镜像:https://mirror.baidu.com/pypi/simple
激活刚刚创建的环境
在创建的环境中直接使用pip安装,建议使用镜像安装,速度很快。
4.2 测试
使用PyCharm简单测试,注意如果是中途修改过环境依赖中的东西,例如重新安装过TensorFlow,要重启PyCharm,重新导入依赖才能生效,否则会出现已经成功安装但是却输出False情况。
import tensorflow as tf
print(tf.version)
print(tf.config.list_physical_devices('GPU'))
print(tf.test.is_gpu_available())
查看结果,可以看到输出了显卡的有关信息,表示安装成功。如果最后没有出现True和显卡信息,则说明中间过程可能出现了问题,可以先试着重启一下
PyCharm再试试。
最后也有人使用高版本cuda11.7成功了,也可以参考。
win11+cuda11.7+cudnn8.5+Tensorflow-GPU : https://www.cnblogs.com/LandWind/p/win11-cuda-cudnn-Tensorflow-GPU-env-start.html