安装TensorFlow GPU(Windows 10) Anaconda+vscode + python 3.9【亲测可用】

        作为小白,借鉴网上众多教程,试错多次,总结自己的下载教训和经验,和大家分享,希望有用。网上有很多安装Tensorflow gpu的教程,大体分为以下几个步骤,我就简单分享下自己踩过的坑和每一步要注意的事情: 

目录

前言

1.理清版本对应关系!!!很重要!

2.查看显卡和下载驱动程序

3.安装Anaconda

4.CUDAcuDNN的下载和安装

5.创建tensorflow虚拟环境

7.vscode与虚拟环境的链接


前言

1.要确认自己是有显卡支持GPU下载的才可以!

2.下载CUDA之前看自己的环境是否有之前下载没有删干净的残留文件,具体删除步骤可以参考这篇彻底卸载CUDA、cudNN

3.安装过程并不复杂,不要有畏难情绪,我下了五次,是因为一开始没有认真对应版本号下载,最终我还是没有按照官网下,是搜到别人下载的可以成功的搭配下载的。如果是和我的环境相同的同志,可以先按照我的来最起码我运行是完全ok的。

4.我的安装主要借助这一篇tensorflow-gpu保姆级安装教程,但是我在安装中还是有一些问题,也算是对这篇文章的补充。

1.理清版本对应关系!!!很重要!

下面是我在tensorflow官网的截图,可以看到tensorflow-gpu、CUDA、CudNN的版本对应关系,注意看蓝色部分:

注意:本机 Windows 上的 GPU 支持仅适用于 2.10 或更早版本,从 TF 2.11 开始,Windows 不支持 CUDA 构建。要在 Windows 上使用 TensorFlow GPU,您需要在 WSL2 中构建/安装TensorFlow 或将 tensorflow-cpu 与 TensorFlow-DirectML-Plugin 一起使用

所以,想在Windows运行就不要下载tensorflow_gpu-2.10之后的版本!

下面是我的电脑配置:

操作系统显卡Python
Windows 10NVDIA GeForce RTX 3050 Ti Laptop GPU3.9.19

我最终的各类安装版本:

tensorflow-gpuCUDAcuDNN
tensorflow_gpu-2.10.011.5.28.9.6.50

注:在前言中说过,一开始不懂,随意组合出现错误,后来按照别人成功的案例下载的,与官网对应不同。

同时,这里也给出我的部分失败案例,供大家参考QAQ,大家不要不信邪,一些问题下载对的版本了就不会发生了:

Pythontensorflow-gpuCUDAcuDNN
python==3.102.1011.6未知(很久之前下载的忘记了)
python==3.92.711.5.28.3.2
python==3.112.1012.3还没下(这个是看网上有人说这一套不行,果断放弃,就没下)

2.查看显卡和下载驱动程序

1)查看显卡,此电脑右键->管理->设备管理器->显示适配器:

 独显:NVIDIA GeForce RTX 3050 Ti Laptop GPU

2)下载驱动程序

打开官网:NVIDIA GeForce 驱动程序 - N 卡驱动 | NVIDIA

选择自己的型号和操作系统进行搜索->选择最新的(也就是第一个)GeForce Game Ready驱动程序->获取下载->立即下载

3)检查是否下载成功

ctrl + r键入cmd打开命令提示符(或直接搜索命令提示符),输入nvidia-smi查看驱动信息

注:下方大的红色方框显示即安装成功,顺便可以看到箭头所指,是自己的显卡支持的CUDA版本小于等于12.6

3.安装Anaconda

        之前已经安装过anaconda,这里没有问题,但是补充一个问题,之前下载完Anaconda会自动下载Python3.11,以为要下载低版本的Anaconda才能让Python降级,但是不用,在创建虚拟环境的时候指定Python版本即可。使用如下语句(后边会再讲):

conda create -n tensorflow python=3.9
#tensorflow是自定义的名字,根据自己的需要更改,Python版本也可以改

4.CUDAcuDNN的下载和安装

        就在官网下载CUDA11.5.2版本,和cuDNN8.9.6(for CUDA 11.x)按照教程安装即可。        

        CUDA官网:CUDA Toolkit Archive | NVIDIA Developer

        cuDNN官网:cuDNN Archive | NVIDIA Developer

        CUDA的安装中有一些项的勾选要看好教程,cuDNN像CUDA的一个补丁,所以不要复制整个文件夹,只把里边的文件复制过去即可,跟着教程来就行。

        cudnn的环境变量我是自己手动输入的,大家要好好对比,把相应的环境变量都添加上。

5.创建tensorflow虚拟环境

1)打开Anaconda prompt(不是cmd哈)

2)使用创建语句

  conda create -n tensorflow python=3.9

注:如果之前创建了虚拟环境下载的是tensorflow-gpu版本,要删除那个环境,重新创建一个即可,删除语句为:

​​​​​​​conda env remove -n env_name#env_name为要删除的环境名称

3)查看所有虚拟环境

conda env list

 4)激活虚拟环境

conda activate tensorflow

退出环境:

conda deactivate

5) 安装指定版本的tensorflow-gpu,我安装的是2.10.0,输入命令:

pip install tensorflow-gpu==2.10.0 -i  https://pypi.mirrors.ustc.edu.cn/simple  

无报错就是安装成功了!

6)继续键入python,进入Python环境(前面的提示符会变成<<<),导入tensorflow包:

import tensorflow as tf

我遇到的报错如下:

①报错:TypeError: Descriptors cannot not be created directly.

 解决办法:exit()退出python环境,键入命令pip install protobuf==3.19.0 -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn

②报错:ModuleNotFoundError: No module named 'tensorflow' 或者module 'tensorflow' has no attribute '_version'

解决办法:pip install --upgrade tensorflow

注:这个问题是我在下载tensorflow-gpu的2.7.0版本时的报错,我觉得应该是版本过低或者是不匹配问题导致的。 

 ③报错:TypeError:Unable to convert function return value to a Python type! The signature was         () -> handle

解决办法:上网查了就是numpy版本不对,大部分的答案都是要下载合适的numpy版本,使用pip install numpy --upgrade

but,我下载这几次有的环境能用这个办法解决,有的不可以,所以一定要下载对应的版本,少去许多烦恼啊!

6.测试tensorflow-gpu是否安装成功

1)打开Anaconda,一定不能忘记选择tensorflow环境!!!!我一开始看漏了,在base下怎么都检测不到gpu 

2)再点击Spyder,第一次打开需要install,后面都是Lauch

3)使用以下语句查看是否检测到GPU

import tensorflow as tf
print(tf.__version__)
print(tf.config.list_physical_devices('GPU'))
print(tf.test.is_gpu_available())

7.vscode与虚拟环境的链接

我使用vscode,所以补充一下vscode与虚拟环境的链接,打开vscode,新建一个python文件,按ctrl+shift+P,在命令框中输入Python选择解释器

然后点击相应的虚拟环境即可

运行程序,结果如下即为成功:

注:为了保险,我在vscode和spyder中都运行了检测程序,然后我就遇到了在vscode里边能检测到,但是在spyder中检测不到的问题,找了很多方法都不行,我本来下载的cudnn是8.3.2,我又重新下载了8.9.6,按照步骤复制好后,就没问题了,都能检测到!!再次证明找对合适的组合很重要!

写在最后:这是我的安装过程,希望能对你有帮助!这也是我的第一篇文章,还在学习阶段,如有不足,欢迎指正!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值