用pip配置tensorflow-gpu2.10(python3.10+cuda11.8)

本来环境配置好了torch-gpu,结果今天发现模型需要tensorflow-gpu,因此在python3.10和cuda11.8的基础上,使用pip配置了对应版本的cudnn和tensorflow-gpu。
部署环境:RTX 3050 + win11



1.看python的版本

进入环境,输入

python

得到我的python版本是3.10.11在这里插入图片描述


2.看cuda的版本

因为之前已经下载过cuda了,所以可以直接
输入

pip list

往下找到torch,得到CUDA版本为11.8
在这里插入图片描述
提示:如果还没有安装cuda的,可以参考一下链接
链接: CUDA安装教程(超详细)

3.选择cudnn的版本

点击链接: cuDNN Archive
(1)新用户需要注册,注册后来到这个页面在这里插入图片描述
(2)找到Download cuDnn vX.X.X for CUDA 11.x的字样
其中,v8.9.7代表cuDNN的版本是8.9.7,并且这个版本与CUDA11.x适配
在这里插入图片描述
(3)点击Download cuDNN vX.X.X for CUDA 11.x,就会发现页面顶格了这条黑字体,这说明以下蓝体字就是cuDNN的8.9.7版本,点击自己电脑对应的系统并且下载(因为我是windows,因此选择第一个)在这里插入图片描述
(4)解压cuDNN,将各个文件夹里面的内容复制到CUDA对应的文件夹里面去,如果有重复名称的就替换
ATTENTION:不是直接把文件夹复制过去,而是把文件夹里面的内容复制率放过去!!
在这里插入图片描述
(5)点击设置
在这里插入图片描述

在这里插入图片描述
点击新建,将下面的地址添加进去

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\include
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\lib
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\libnvvp

(6)打开C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5\extras\demo_suite
右击空白处,在终端打开
在这里插入图片描述

(7)输入.\bandwidthTest.exe.\deviceQuery.exe,结果如下,代表没问题
在这里插入图片描述
在这里插入图片描述


4.删除之前下错了的tensorflow安装包

ATTENTION:安装之前,要把环境中有关tensorflow的安装包全部删掉!!

因为之前贪懒所以没有删,导致一直出现红字
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.

tensorflow-intel 2.11.1 requires keras<2.12,>=2.11.0, but you have keras 2.10.0 which is incompatible.
tensorflow-intel 2.11.1 requires tensorboard<2.12,>=2.11, but you have tensorboard 2.10.1 which is incompatible.
tensorflow-intel 2.11.1 requires tensorflow-estimator<2.12,>=2.11.0, but you have tensorflow-estimator 2.10.0 which is incompatible.
在这里插入图片描述

个人的想法是这样的:我只打入了命令pip install tensorflow,并没有打入命令去下载tensorboard这些包。这说明这些包是下载tensorflow自带的。如果我删完了,下载tensorflow也会自动附带适配版本的包。如果我没删完,那么这些残留的包就会阻碍tensorflow新版本的下载。

这时候有两种方法
1.❤️由报错可知,只有tensorflow-intel 2.11.1阻碍了包的下载,因此pip uninstall tensorflow-intel 2.11.1后,即可进入下一步

 这里需要注意一点:

如果出现WARNING: Skipping tensorboard as it is not installed.但是pip list中明明看到了有这个包,并且包的名字没有打错,说明这个包不在当前环境里,有可能是在base环境里,需要回到base环境去删除

2.输入命令pip list,把ERROR中版本不对应的以及pip list中以“tensorflow”开头的包全部删掉
在这里插入图片描述


5.使用命令安装tensorflow-gpu的2.10.1版本

全部的安装包删除完,输入

pip install tensorflow-gpu==2.10.1

这时候应该没什么错了吧😢

如果出现ERROR:Could not find a version that satisfies the requirement tensorflow-gpu == (from versions 2.8.0,2.8.1,2.9.0.....),这说明你的python版本和 tensorflow-gpu的版本不符合,应该选择2.8.0以上的版本

如果不知道应该选择tensorflow-gpu的什么版本,可以用搜搜其他经验帖,以此推测一下,也可以看看官网。如果直接问GPT4和C知道,给的答案并不靠谱🥲


6.使用命令检查tensorflow-gpu是否能够使用

验证是否成功安装和调用GPU进行运算

python
import tensorflow as tf
print("Num GPUs Available: ", len(tf.config.list_physical_devices('GPU')))
#这一行输出至少是数量1,说明有1个显卡
print("CUDA Available:", tf.test.is_built_with_cuda())
#这一行要输出True
print("GPU Support:", tf.test.is_built_with_gpu_support())
#这一行也要输出True

最后试验一下是否可行。如果显示True和[PhysicalDevice(name=‘/physical_device:GPU:0’, device_type=‘GPU’)],则说明tensorflow安装成功🥰

python
import tensorflow as tf
print(tf.test.is_gpu_available())
#应该显示True
tf.config.list_physical_devices('GPU')
#应该显示[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]



参考帖:

1.ERROR: pip‘s dependency resolver does not currently take into account all the packages 解决办法分享
2. CUDA与cuDNN安装教程(超详细)

C:\Users\lenovo>pip install tensorflow-gpu==2.12 -i https://mirrors.aliyun.com/pypi/simple Defaulting to user installation because normal site-packages is not writeable Looking in indexes: https://mirrors.aliyun.com/pypi/simple Collecting tensorflow-gpu==2.12 Downloading https://mirrors.aliyun.com/pypi/packages/8a/45/fa31ced1db38f9424f262dfbf35747fe5378b5c808cecb373c8cb8e515d3/tensorflow-gpu-2.12.0.tar.gz (2.6 kB) Preparing metadata (setup.py) ... error error: subprocess-exited-with-error × python setup.py egg_info did not run successfully. │ exit code: 1 ╰─> [44 lines of output] Traceback (most recent call last): File "D:\N 1\anaconda\Lib\site-packages\packaging\requirements.py", line 36, in __init__ parsed = _parse_requirement(requirement_string) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\N 1\anaconda\Lib\site-packages\packaging\_parser.py", line 62, in parse_requirement return _parse_requirement(Tokenizer(source, rules=DEFAULT_RULES)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\N 1\anaconda\Lib\site-packages\packaging\_parser.py", line 80, in _parse_requirement url, specifier, marker = _parse_requirement_details(tokenizer) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\N 1\anaconda\Lib\site-packages\packaging\_parser.py", line 124, in _parse_requirement_details marker = _parse_requirement_marker( ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\N 1\anaconda\Lib\site-packages\packaging\_parser.py", line 145, in _parse_requirement_marker tokenizer.raise_syntax_error( File "D:\N 1\anaconda\Lib\site-packages\packaging\_tokenizer.py", line 167, in raise_syntax_error raise ParserSyntaxError( packaging._tokenizer.ParserSyntaxError: Expected end or semicolon (after name and no valid version specifier) python_version>"3.7" ^ The above exception was the direct cause of the following exception: Traceback (most recent call last): File "<string>", line 2, in <module> File "<pip-setuptools-caller>", line 34, in <module> File "C:\Users\lenovo\AppData\Local\Temp\pip-install-vq_b1iki\tensorflow-gpu_244f6535134848339c84c1ce9f7fbd13\setup.py", line 40, in <module> setuptools.setup() File "D:\N 1\anaconda\Lib\site-packages\setuptools\__init__.py", line 116, in setup _install_setup_requires(attrs) File "D:\N 1\anaconda\Lib\site-packages\setuptools\__init__.py", line 87, in _install_setup_requires dist.parse_config_files(ignore_option_errors=True) File "D:\N 1\anaconda\Lib\site-packages\setuptools\dist.py", line 610, in parse_config_files self._finalize_requires() File "D:\N 1\anaconda\Lib\site-packages\setuptools\dist.py", line 344, in _finalize_requires self._normalize_requires() File "D:\N 1\anaconda\Lib\site-packages\setuptools\dist.py", line 359, in _normalize_requires self.install_requires = list(map(str, _reqs.parse(install_requires))) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\N 1\anaconda\Lib\site-packages\packaging\requirements.py", line 38, in __init__ raise InvalidRequirement(str(e)) from e packaging.requirements.InvalidRequirement: Expected end or semicolon (after name and no valid version specifier) python_version>"3.7" ^ [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. error: metadata-generation-failed × Encountered error while generating package metadata. ╰─> See above for output. note: This is an issue with the package mentioned above, not pip. hint: See above for details.
最新发布
04-03
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值