当我使用tensorflow时,它只使用cpu。我正在运行Windows 11,我有NVIDIA GeForce RTX 3050笔记本电脑GPU。当我执行时:
from tensorflow.python.client import device_lib
import tensorflow as tf
print(device_lib.list_local_devices())
print(tf.sysconfig.get_build_info())
字符串
输出为:
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 278769507336930520
xla_global_id: -1
]
OrderedDict([('is_cuda_build', False), ('is_rocm_build', False), ('is_tensorrt_build', False), ('msvcp_dll_names', 'msvcp140.dll,msvcp140_1.dll')])
型
这表明tensorflow只使用CPU。我有所有的库(cuda和cudnn),当我在命令行中运行nvcc -V
时,它会输出:
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:41:10_Pacific_Daylight_Time_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0
型
我已经安装了cudnn 8.6。运行cudnn.h
cudnn.lib
cudnn64_8.dll
,它会正常打开文件。以下是我安装的tensor* python库:
tensorboard 2.13.0
tensorboard-data-server 0.7.0
tensorboard-plugin-wit 1.8.1
tensorflow 2.13.0
tensorflow-datasets 4.9.2
tensorflow-estimator 2.13.0
tensorflow-intel 2.13.0
tensorflow-io-gcs-filesystem 0.31.0
tensorflow-metadata 1.13.1
型
我安装了cuda 12.2,并尝试安装cuda 11.8,但它没有帮助。我在网上搜索了一下,发现了类似的问题,但没有任何帮助。我发现了一些关于tensorflow_gpu的东西,但我也发现它没有被使用。
编辑:如果重要的是我使用GeForce Experience并拥有最新的驱动程序:GeForce Game Ready驱动程序536.67
2条答案
按热度按时间kognpnkq1#
您已安装Tensorflow 2.13,但对于原生Windows安装,仅支持最高达Tensorflow 2.10(see here)的GPU加速。
从GPU支持下的链接:
注意:本机Windows上的GPU支持仅适用于2.10或更早版本,从TF 2.11开始,Windows不支持CUDA构建。要在Windows上使用TensorFlow GPU,您需要在WSL 2中构建/安装TensorFlow,或者将tensorflow-cpu与TensorFlow-DirectML-Plugin一起使用
尝试将安装降级到tf 2.10,或者使用linux(您可以使用VM或wsl进行双 Boot )。希望这对你有帮助。
德里克
gab6jxml2#
首先检查您的GPU是否在Tensorflow中可用:
字符串
如果你看到类似这样的东西:
"/GPU:0"
您的GPU在Tensorflow中可用second:,在Tensorflow >> 2.9中,库会自动找到GPU并将其用于训练。因此,我建议查看this和this链接,并检查哪个版本与CUDA和TensorFlow版本兼容。
第三:我建议你安装TensorFlow的稳定版本(如2.9,2.10)
第四:你可以使用Ubuntu来更好地管理硬件和资源。
五:检查CUDA是否安装成功,如果在Windows中完全成功安装CUDA,则
nvidia-smi
命令在cmd上工作