Anaconda虚拟环境中安装cudatoolkit和cudnn包并配置tensorflow-gpu
2024.06.07更新完成
需要pytorch安装配置教程请点击链接:Anaconda虚拟环境中配置pytorch-gpu
tensorflow官方信息
Windows上的GPU支持仅适用于2.10或更早的版本,从tensorflow 2.11开始,Windows不支持CUDA构建。
目前暂时没有能在windows上安装tensorflow 2.11及更新版本的方法,安装最新版本导致各种奇怪bug。
文章目录
前言
非常建议大家一个项目一个环境,每次复现别人论文,项目,做大作业直接新配个环境就行,省时省力。
1. 创建虚拟环境并安装cudatoolkit和cudnn包
点击链接:查看tensorflow版本信息以及配对cudatoolkit和cudnn版本
注意:安装的tensorflow-gpu
、python
、 cuda
、 cudnn
版本关系,一定要对应上!
1)确认需要安装的tensorflow版本,注意是看GPU,这里我以tensorflow-2.10.0为例。大家按需选择,如果是复现论文/项目,看作者是否提出版本要求;没有的话随意,但不建议直接用最新版,容易版本冲突。
2)可以看到tensorflow-2.10.0对python,cuda,cudnn的版本需求,我这里选择python3.10,cuda11.2,cudnn8.1,记住现在选的版本。
1.1 创建虚拟环境
输入命令:
conda create -n name python=3.x
name是环境名
3.x是python版本
如果创建名为tf,python版本为3.10的虚拟环境,
命令为:conda create -n tf python=3.10
输入y确认下载:
安装成功创建环境:
激活环境中,命令为activate name:
提示:在进行1.2部分的操作之前,一定要先进入刚创建的环境,不然后面的操作是在默认环境base上进行
1.2 安装cudatoolkit和cudnn包
1.2.1 安装cudatoolkit包
在上面我们已经知道了tensorflow2.10.0对应的cuda版本为cuda11.2,因此接下来:
输入命令:
conda search cudatoolkit
查看可以下载的cudatoolkit安装包:
发现11.2的版本也有很多,随便选一个就行:
于是执行命令安装cudatoolkit包:
conda install cudatoolkit==11.2.0
同样输入“y”确认,
安装成功:
1.2.2 安装cudnn包
在上面我们已经知道了tensorflow2.10.0对应的cuda版本为cudnn8.1,因此接下来:
跟安装cudatoolkit步骤一样,先查看是否有这个版本,再命令安装。
通过conda search cudnn命令查看可下载的版本:
conda search cudnn
找到cudnn8.1版本:
执行命令安装cudnn包:
conda install cudnn==8.1.0.77
同样输入“y”确认,
安装成功:
提示:安装之后的 CUDA 和 cudnn 会存放在虚拟环境的 lib 文件夹 或者include 文件夹里面。如果直接通过win+r,cmd,nvcc -V命令会发现还是主机的版本。
2. 安装tensorflow
确认版本,就像我上面说的需要安装tensorflow2.10.0
2.1. 安装
通过conda search tensorflow-gpu命令查看可下载的版本:
conda search tensorflow-gpu
额,没有更新到2.10,不过没关系,我们已经知道更新到了2.16版本,
执行命令安装tensorflow:
pip install tensorflow-gpu==2.10.0
速度慢则选用国内源:
pip install tensorflow-gpu==2.10.0 -i https://pypi.douban.com/simple
正在下载:
提示:换完国内源,也大概需要10几分钟,看网速。
2.2. 验证是否安装成功
验证是否可以调用gpu
输入以下命令:
python
测试1:
import tensorflow as tf
gpus = tf.config.experimental.list_physical_devices(device_type='GPU')
cpus = tf.config.experimental.list_physical_devices(device_type='CPU')
print(gpus, cpus)
print返回信息中有GPU信息即可:
测试2:
import tensorflow as tf
version=tf.__version__ #输出tensorflow版本
gpu_ok=tf.test.is_gpu_available() #输出gpu可否使用
print("tf version:",version,"\nuse GPU:",gpu_ok)
验证tensorflow是否能调用gpu,需要返回 true: