一、Tensorflow下载版本选择
Tensorflow支持多种操作系统,支持运行NVIDIA显卡上的GPU版本和仅使用CPU完成计算的CPU版本。
Tensorflow 1.x版本的cpu版本和gpu版本是分开的,需要分开下载,且1.x版本使用不方便,google已经停止更新1.x版本。
Tensorflow 2.x版本使用简洁,使用体验感好。
Tensorflow 2.10是最后一个在本地windows上支持GPU的版本。从2.11版本开始,需要在windows WLS2(适用于 Linux 的 Windows 子系统)上安装才能使用GPU。所以要在native-windows上使用GPU,就只能安装2.10.0版本及以下的版本,或者安装老版的tensorflow-gpu。
因此这里我选择tensorflow2.10.0的版本。
二、Tensor开发环境安装
开发环境安装分为四个步骤:安装python解释器Anaconda、安装CUDA、安装cudnn、安装Tensorflow框架。
(1)安装python解释器Anaconda
在Anaconda官网Free Download | Anaconda下载,这里不过多赘述,搜anaconda安装教程有很详细的操作步骤。
(2)安装CUDA
(a)CUDA版本选择
这里是大多数人容易出错的地方,要谨慎选择安装CUDA的版本。Tensorflow与Python、CUDA、cuDNN的版本是有对应关系的,如果版本不对应,Tensorflow就没法调用相应的CUDA,也就没办法调用GPU了。下面链接是Tensorflow和Python、CUDA、cuDNN的版本对应表,根据你的python版本选择下载即可。(注意:Tensorflow版本需要小于等于2.10.0)
Tensorflow与Python、CUDA、cuDNN的版本对应表_tensorflow版本对应python3.11-CSDN博客
例如,我的python版本是3.9,为了和Tensorflow2.10.0版本对应,因此这里我选择下载CUDA11.2版本。
(b)CUDA软件安装
在NVIDIA官网CUDA Toolkit Archive | NVIDIA Developer找到相应版本下载
依次选择Windows平台,x86_64架构,10系统,exe(local)本地安装包,再选择Download即可下载CUDA安装包。
下载完成后打开安装软件,单击custom按钮,在CUDA节点下取消勾选Visual Studio Integration;在Driver components节点下,比对目前计算机已经安装的显卡驱动Display Driver的版本号Current Version和CUDA自带的显卡驱动版本号New Version。如果Current Version大于等于New Version,则需要取消Display Driver的勾选,如果Current Version小于等于New Version,则默认勾选,设置完成后即可正常安装。
(c)测试CUDA软件是否安装成功
打开cmd命令行,输入nvcc -V,即可打印当前CUDA的版本信息,如果命令无法识别,则说明安装失败,此时需要卸载CUDA并重装。如果因为版本原因安装错误或者安装失败,可以查看这个教程CUDA卸载&&重装-CSDN博客进行卸载重装。
如果安装成功,可以在cmd中输入转盘命令到指定路径。
cd C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\extras\demo_suite
然后输入下面命令验证带宽和可用的GPU设备。
bandwidthTest.exe
deviceQuery.exe
如果CUDA安装成功,将成功显示带宽和可用GPU,得到两个PASS。
(d)查看系统变量
安装完CUDA后,点击文件资源管理器,右击此电脑,点击属性,点击高级系统设置,来到系统属性界面。
点击环境变量 ,系统变量中将会自动生成CUDA_PATH和CUDA_PATH_V11_2。
在系统变量中点击PATH,路径中将自动包含以下两条置顶路径。
(3)安装cudnn
(a)cudnn版本选择
和CUDA版本的选择理由一样,为和CUDA11.2版本、python3.9版本、和Tensorflow 2.10.0版本匹配,这里选择cudnn 8.1版本。
(b)cudnn软件安装
在NVIDIA官网cuDNN Archive | NVIDIA Developer下载cudnn压缩包,如果是第一次下载需要注册并登录。
下载完成后,需要把cudnn中的三个文件复制到CUDA对应的文件夹中。
(c)系统变量环境配置
同样打开系统属性界面,点击环境变量,编辑系统变量中的PATH变量,添加两条路径include和bin,并分别置顶到第三第四的位置,如下所示。
cudnn的安装到这里就结束了。
(4) 安装Tensorflow
(a)新建虚拟环境
为了避免和其他库冲突,使用anaconda新建一个虚拟环境,否则容易下载失败。在PyCharm中新建项目,选择新conda环境。
(b)导入Tensorflow库
首先打开Anaconda Prompt命令行,并激活刚才新建的虚拟环境。使用命令conda env list查看已有的虚拟环境,使用conda activate加虚拟环境的名称激活虚拟环境。
临时使用清华大学的镜像源,使用pip命令导入Tensorflow库,这里导入2.10.0版本。
pip install tensorflow==2.10.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
成功后,在PyCharm项目中查看Python解释器,可以看到已经安装好2.10.0版本的Tensorflow相关包。
三、验证Python是否可以调用GPU
在下载了Tensorflow的虚拟环境中新建项目,可以使用下述代码验证,代码参考了下面的博客。【tensorflow】为什么CUDA装好了,Tensorflow-GPU不能用?_安装了cuda却不调用gpu-CSDN博客
import tensorflow as tf
if __name__ == '__main__':
print(tf.__version__) # 查看tensorflow版本
print(tf.__path__) # 查看tensorflow安装路径
a = tf.test.is_built_with_cuda() # 判断CUDA是否可以用
b = tf.test.is_gpu_available(
cuda_only=False,
min_cuda_compute_capability=None
) # 判断GPU是否可以用
print(a) # 显示True表示CUDA可用
print(b) # 显示True表示GPU可用
# 查看驱动名称
if tf.test.gpu_device_name():
print('Default GPU Device: {}'.format(tf.test.gpu_device_name()))
else:
print("Please install GPU version of TF")
如果返回两个True代表Tensorflow环境配置成功,可以成功调用GPU。