TensorFlow API Versions版本https://tensorflow.google.cn/versions
平时一般用使用pytorch多一点,TensorFlow也是比较流行的深度学习框架,想来也是研究一下。目前最新的TensorFlow版本为2.17.0,但是直接下载,GPU不可用;遂来整理一下。
其他帖子提出,从tensorflow 2.11.0版本开始,在windows上不再支持GPU;但是我换个2.10.0版本下载,貌似也没有效果,应该是cuda和cudnn版本的问题。(之前使用pytorch时下载了高版本)
在1.x版本之前的版本CPU和GPU是分开的,我们在Windows系统下使用TensorFlow进行GPU加速就有两种形式。
1、可以尝试安装1.15.0的tensorflow-gpu版本,一般情况下现在流行的框架也是兼容的。
2、安装tensorflow-gpu 2.10.0及以前的版本
第一种比较简单,可以直接在虚拟环境中一键安装;后一种就是需要搭配对应的cuda版本和cudnn版本。类似于上一篇帖子
GPU
版本 | Python 版本 | 编译器 | 构建工具 | cuDNN | CUDA |
---|---|---|---|---|---|
tensorflow_gpu-2.10.0 | 3.7-3.10 | MSVC 2019 | Bazel 5.1.1 | 8.2 | 11.2 |
tensorflow_gpu-2.9.0 | 3.7-3.10 | MSVC 2019 | Bazel 5.0.0 | 8.2 | 11.2 |
tensorflow_gpu-2.8.0 | 3.7-3.10 | MSVC 2019 | Bazel 4.2.1 | 8.2 | 11.2 |
tensorflow_gpu-2.7.0 | 3.7-3.9 | MSVC 2019 | Bazel 3.7.2 | 8.2 | 11.2 |
tensorflow_gpu-2.6.0 | 3.6-3.9 | MSVC 2019 | Bazel 3.7.2 | 8.2 | 11.2 |
tensorflow_gpu-2.5.0 | 3.6-3.9 | MSVC 2019 | Bazel 3.7.2 | 8.2 | 11.2 |
tensorflow_gpu-2.4.0 | 3.6-3.8 | MSVC 2019 | Bazel 3.1.0 | 8.0 | 11.0 |
tensorflow_gpu-2.3.0 | 3.5-3.8 | MSVC 2019 | Bazel 3.1.0 | 7.6 | 10.1 |
tensorflow_gpu-2.2.0 | 3.5-3.8 | MSVC 2019 | Bazel 2.0.0 | 7.6 | 10.1 |
tensorflow_gpu-2.1.0 | 3.5-3.7 | MSVC 2019 | Bazel 0.27.1-0.29.1 | 7.6 | 10.1 |
tensorflow_gpu-2.0.0 | 3.5-3.7 | MSVC 2017 | Bazel 0.26.1 | 7.4 | 10 |
tensorflow_gpu-1.15.0 | 3.5-3.7 | MSVC 2017 | Bazel 0.26.1 | 7.4 | 10 |
tensorflow_gpu-1.14.0 | 3.5-3.7 | MSVC 2017 | Bazel 0.24.1-0.25.2 | 7.4 | 10 |
tensorflow_gpu-1.13.0 | 3.5-3.7 | MSVC 2015 update 3 | Bazel 0.19.0-0.21.0 | 7.4 | 10 |
tensorflow_gpu-1.12.0 | 3.5-3.6 | MSVC 2015 update 3 | Bazel 0.15.0 | 7.2 | 9.0 |
tensorflow_gpu-1.11.0 | 3.5-3.6 | MSVC 2015 update 3 | Bazel 0.15.0 | 7 | 9 |
tensorflow_gpu-1.10.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow_gpu-1.9.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow_gpu-1.8.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow_gpu-1.7.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow_gpu-1.6.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow_gpu-1.5.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow_gpu-1.4.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 6 | 8 |
tensorflow_gpu-1.3.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 6 | 8 |
tensorflow_gpu-1.2.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 5.1 | 8 |
tensorflow_gpu-1.1.0 | 3.5 | MSVC 2015 update 3 | Cmake v3.6.3 | 5.1 | 8 |
tensorflow_gpu-1.0.0 | 3.5 | MSVC 2015 update 3 | Cmake v3.6.3 | 5.1 | 8 |
1、安装1.15.0的tensorflow-gpu版本
此时需要十分注意的python版本3.5-3.7!
我们先创建一个虚拟环境
进入环境并且开始安装tensorflow-gpu==1.15.0
执行下面这段代码
import tensorflow as tf
# 打印 TensorFlow 版本
print("TensorFlow version:", tf.__version__)
# 检查 GPU 是否可用
if tf.test.is_gpu_available():
print("Is GPU available: True")
print("GPU Devices:", tf.test.gpu_device_name())
else:
print("Is GPU available: False")
验证显示GPU可用
2、安装tensorflow-gpu 2.10.0及以前的版本
2.1、如果没有安装过cuda的版本
再结合前面虚拟环境直接安装
2.2、如果需要安装第二个CUDA版本
重复上述步骤,但为第二个CUDA版本选择一个新的安装目录,例如C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.Z
。
配置环境变量
为了能够在不同版本的CUDA之间切换,需要配置环境变量。
- 打开系统属性(右键点击“此电脑”或“我的电脑”,选择“属性”,然后点击“高级系统设置”,再点击“环境变量”)。
- 在系统变量区域,找到并编辑
Path
变量。 - 添加两个CUDA版本的bin目录到
Path
变量中 例如%CUDA_PATH_VX_Y%\bin
和%CUDA_PATH_VX_Z%\bin(下图示例1个版本)
。 - 为了方便管理,可以创建新的环境变量(如
CUDA_PATH_VX_Y
和CUDA_PATH_VX_Z
)来存储CUDA安装目录的路径,然后在Path
变量中引用这些新创建的环境变量。
切换CUDA版本
要切换CUDA版本,通过调整Path
变量中CUDA bin目录的顺序来实现。将你想使用的CUDA版本的bin目录移动到Path
变量的前面。
验证CUDA版本切换
每次更改环境变量后,需要重新打开命令提示符或PowerShell窗口以加载新的环境变量设置。然后,你可以通过运行nvcc -V
来验证当前活动的CUDA版本。
注意事项
- 确保下载的CUDA版本与你的GPU和驱动程序兼容。
- 安装过程中注意选择自定义安装,以便控制安装的组件。
- 配置环境变量时要小心,错误的配置可能会导致系统或应用程序出现问题。
- 切换CUDA版本时,确保已关闭所有可能使用CUDA的应用程序和服务。