Tensorflow2.X+cuda+cudnn配置指南(RTX4060+win11+Anaconda3)

发布时间 2023-11-01 23:29:43作者: MistLuoy

【背景】

前段时间要做一个python语音识别模型,需要tf进行训练,考虑到有GPU就不用限制在CPU上了,所以尝试配置Tensorflow.

  • 系统配置为:
  • RTX4060+win11+Anaconda3,使用python3.10配置完成。
  • 【补充建议:使用虚拟环境进行版本管理,我用anaconda创建了一个名为tf2,python=3.10的虚拟环境】
  • 配置完成后,Tensorflow与cuda版本为:
  • Tensorflow2.10.0+cuda11.8+cudnn8.7

【准备工作】

    1、先去找个人电脑的基础配置,在cmd终端输入“nvidia-smi”查看GPU配置

     右上角的“ CUDA Version: 12.3”是电脑能兼容的最高的CUDA版本

    2、然后在官网(Build from source on Windows  |  TensorFlow (google.cn))查看python-CUDA-Tensorflow的版本对应关系

    根据电脑的python版本与CUDA最高兼容版本,来确定一个你能使用的Tensorflow的最高版本

 

    例如我是python3.10,最高兼容CUDA12.3,因此我能够支持最新版的tensorflow_gpu-2.10.0,故选择该版本。该版本对应的CUDA版本是11.2.X

    但是CUDA11.2.X不支持WIN11,经过本人实测,CUDA11.8.X版本也可以兼容。我最终采用了CUDA11.8.X。

    需要注意的是:Tensorflow2.10以后的版本是不支持原生windows的,只能通过WSL方式安装,这不在我们的讨论范围内

    3、选择好tensorflow版本之后,我们去下载对应的CUDA(网址:CUDA Toolkit Archive | NVIDIA Developer)与cuDNN(网址:cuDNN Archive | NVIDIA Developer

    注意:cuDNN选择与CUDA版本对应的版本即可

 

【安装工作】

    安装顺序为:CUDA>>cuDNN>>tensorflow

    CUDA和cuDNN的安装教程,网络上随处可见并且都很简洁明了,在此不再赘述。

    tensorflow的安装,需要预先在anaconda创建好所需python版本的虚拟环境,然后在环境中用pip安装tensorflow

1 pip install tensorflow==2.10.0#之前确定的版本号

    然后就大功告成了!

【验证】

    安装好之后,需要向Jupyter Notebook添加该环境的内核,操作可以参考如下:

1 conda activate env_name    #激活到虚拟环境
2 pip install ipykernel        #安装ipykernel,不建议使用conda安装
3 python -m ipykernel install --user --name=kernel_name#=虚拟环境名称

    然后使用如下例程验证是否可以用tensorflow识别到GPU:

1 import tensorflow as tf
2 print(tf.__version__)#查看tensorflow版本
3 print(tf.config.list_physical_devices('GPU'))
4 print("Num GPUs Available: ", len(tf.config.list_physical_devices('GPU')))

    进一步可以打印GPU信息,代码如下:

1 from tensorflow.python.client import device_lib
2 devices = device_lib.list_local_devices()
3 [print(device) for device in devices if device.device_type == 'GPU']

【结束!感觉有用的朋友们可以点个赞~】