我有两台带有NVIDIA GeForce RTX 3060 gpu的Windows 11笔记本电脑,我想在上面运行Tensorflow。
如果这很重要,两台笔记本电脑都是联想军团5笔记本电脑,带有"GPU工作模式";设置为"混合动力汽车模式"。
第一台笔记本电脑有如下设置:
Python 3.10.7
Tensorflow 2.9.1
CUDA 11.2.0
cuDNN 8.1.1
CPU AMD Ryzen 7 6800H
GPU0 NVIDIA GeForce RTX 3060
GPU1 AMD Radeon Graphics
第二台笔记本电脑的设置如下:
Python 3.10.9 Virtual Environment
Tensorflow 2.11.0
CUDA 11.2.2
cuDNN 8.1.1
CPU Intel Core i7 12th Gen 12700H
GPU0 Intel Iris Xe
GPU1 NVIDIA GeForce RTX 3060
CUDA和cuDNN按照这个视频安装:https://www.youtube.com/watch?v=hHWkvEcDBO0(除了conda部分)。
在第一台笔记本电脑上,一切正常。但是在第二次执行tf.config.list_physical_devices('GPU')
时,我得到一个空列表。
我已经尝试将CUDA_VISIBLE_DEVICES
变量设置为"0"
,正如一些人在其他帖子中提到的那样,但它不起作用。
我也在第三台笔记本电脑上尝试了同样的方法,也遇到了同样的问题。
有什么问题吗?
实际上问题是你使用的是Windows, TensorFlow 2.11和更新的版本在Windows上不再有对gpu的本地支持,参见TensorFlow网站:
警告:TensorFlow 2.10是最后一个在本机windows上支持GPU的TensorFlow版本。从TensorFlow 2.11开始,你需要在WSL2中安装TensorFlow,或者安装TensorFlow- cpu,也可以选择使用TensorFlow- directml - plugin
从TensorFlow 2.11开始,在Windows上获得GPU支持的唯一方法是使用WSL2。