我有一个Nvidia GPU(Geforce RTX 3090),驱动程序显示在Nvidia控制面板中。我也安装了最新版本的Cuda。但是,当在Python中使用以下代码与TensorFlow时:
gpus = tf.config.list_physical_devices('GPU')
if not gpus:
print("No GPUs detected")
else:
print("GPUs detected:")
for gpu in gpus:
print(gpu)
字符串
它总是显示我,没有检测到GPU。你能告诉我我必须做些什么才能让Tensorflow使用GPU吗?
编辑:我使用的是PyCharm,直接下载了Python(所以我不使用Anaconda之类的东西)。
更新:下面是cmd输出的nvidia-smi:
U:\>nvidia-smi
Wed Jul 12 09:13:40 2023
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 531.14 Driver Version: 531.14 CUDA Version: 12.1 |
|-----------------------------------------+----------------------+----------------------+
| GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
| 0 NVIDIA GeForce RTX 3090 WDDM | 00000000:65:00.0 On | N/A |
| 0% 36C P8 13W / 350W| 2085MiB / 24576MiB | 0% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| 0 N/A N/A 3252 C+G ...m Files\Mozilla Firefox\firefox.exe N/A |
| 0 N/A N/A 4364 C+G ...h2txyewy\InputApp\TextInputHost.exe N/A |
| 0 N/A N/A 11312 C+G ...soft Office\root\Office16\EXCEL.EXE N/A |
| 0 N/A N/A 19072 C+G ...5n1h2txyewy\ShellExperienceHost.exe N/A |
| 0 N/A N/A 21476 C+G ...m Files\Mozilla Firefox\firefox.exe N/A |
| 0 N/A N/A 23832 C+G ....Search_cw5n1h2txyewy\SearchApp.exe N/A |
| 0 N/A N/A 24544 C+G ..._8wekyb3d8bbwe\Microsoft.Photos.exe N/A |
| 0 N/A N/A 25932 C+G ...x64__8wekyb3d8bbwe\ScreenSketch.exe N/A |
| 0 N/A N/A 33528 C+G ...ekyb3d8bbwe\PhoneExperienceHost.exe N/A |
| 0 N/A N/A 36580 C+G ...on 2022.3.1\jbr\bin\jcef_helper.exe N/A |
| 0 N/A N/A 42128 C+G ...cal\Microsoft\OneDrive\OneDrive.exe N/A |
+---------------------------------------------------------------------------------------+
型
更新:我已经降级到tensorflow 2.10,并得到一些新的错误信息:“2023-07-15 15:15:23.440924:Wtensorflow/stream_executor/platform/default/dso_loader.cc:64]无法加载动态库'cudart64_110.dll'; dlerror:cudart64_110.dll not found 2023-07-15 15:15:23.441186:I tensorflow/stream_executor/cuda/cudart_stub.cc:29]如果您的机器上没有设置GPU,请忽略上述cudart dlerror。”
4条答案
按热度按时间e0bqpujr1#
1.有几件事,首先,有时pycharm无法检测已安装的软件包。它发生在重新启动PC后工作。
1.接下来你可以检查你是否有正确的cuda设置的路径变量。[应该是这样的][1] [1]:https://i.stack.imgur.com/kEVK0.png
1.接下来,如果仍然不起作用,您可以检查tensorflow版本与cuda版本的兼容性。供参考-https://www.tensorflow.org/install/sourcehttps://www.tensorflow.org/install/source
1.还要检查与tensorflow-gpu的兼容性。如果它们有问题,在解决问题后,建议重新启动pycharm。
1.查看TensorFlow GPU支持:TensorFlow需要构建GPU支持。您可以通过运行以下代码来验证这一点:
导入tensorflow作为tf
print(tf.test.is_built_with_cuda())
these are the version i am using for tensorflow and tensorflow-gpu和我的cuda版本是10.1
无论何时在这些项目上工作,最好是在venv上工作,因为不同的项目需要不同的版本兼容性。
kxxlusnw2#
根据本指南,您应该使用CUDA 11.8 11.2(与CuDNN 8.1.0)的Windows和TF 2.10。您写道您安装了“CUDA的最新版本”,目前是12.2。你能证实吗?要检查已安装的cuda版本,您可以尝试运行
字符串
或者对于命令行单行命令行:
型
但考虑到TensorFlow无法找到您的GPU,我不确定这是否可行。您还可以查看
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA
子文件夹名称的版本。错误
Could not load dynamic library 'cudart64_110.dll'; dlerror: cudart64_110.dll
表示TensorFlow查找版本为11的库。要安装正确的TensorFlow版本,请运行
型
从https://developer.nvidia.com/cuda-11-2-0-download-archive下载CUDA 11.8和11.2
如果您想拥有CuDNN,请根据本指南下载并安装它。选择8.1.0版本时要小心!
ckocjqey3#
您可以尝试
pip install tensorflow-gpu==2.10.0
并检查它是否有效。它应该卸载旧的tensorflow包并安装版本为2.10.0的gpu包l7wslrjt4#
我也面临这个问题。我用的是anaconda。在我的案例中,问题是我安装了tensorflow而不是tensorflow-gpu。所以我在anaconda中创建了新的env,然后安装了tensorflow-gpu。所以现在它使用我的gpu Gtx 1060
创建环境
conda create --name ENVNAME -y
激活eNV
conda activate ENVNAME
安装CUDA驱动程序
conda install -c conda-forge cudatoolkit=11.2 cudnn=8.1.0 -y
安装TENSORFLOW
conda install tensorflow-gpu -y
conda install -c anaconda ipykernel -y
个conda install ipykernel -y
个将ENV添加到JUPYTER列表
python3 -m ipykernel install --user --name=ENVNAME
'VERIFY GPU SUPPORT'
python3 -c "import tensorflow as tf;
print(tf.config.list_physical_devices('GPU'))"
x1c 0d1x的数据