机器学习不能读取显卡

  • 确认系统里有显卡和显卡驱动
nvidia-smi.exe
nvcc --version

nvidia-smi.exenvcc 提供的 CUDA 版本之所以可能不一样,是因为它们分别反映了你的系统中的两个不同部分的 CUDA 版本:

  1. nvidia-smi.exe:这个命令显示的是你的 NVIDIA 显卡驱动支持的 CUDA 版本。这个版本是 NVIDIA 驱动程序包含的,当你更新你的 NVIDIA 驱动时,这个版本也会更新。

  2. nvcc --versionnvcc 是 CUDA 编译器的命令行工具,它的版本反映的是你的系统中安装的 CUDA 开发工具包(CUDA Toolkit)的版本。这个版本只会在你安装新的 CUDA Toolkit 或更新现有的 CUDA Toolkit 时改变。

换句话说,nvidia-smi.exe 显示的 CUDA 版本是你的显卡驱动支持的,而 nvcc --version 显示的 CUDA 版本是你的开发环境使用的。它们不必要完全相同,但为了保证兼容性,你的 CUDA Toolkit 的版本应该不高于你的显卡驱动支持的 CUDA 版本。

如果你需要安装或更新 CUDA Toolkit,你应该从 NVIDIA 的官方网站下载对应版本的安装包。在安装新版本的 CUDA Toolkit 之前,你可能需要卸载你当前的 CUDA Toolkit。

  • 下载cuda和cuDNN

老显卡用11.x,新显卡全部到最新,现在是11.3

CUDA Deep Neural Network (cuDNN) | NVIDIA Developer

详细教程

win11配置深度学习环境GPU - 知乎

Pytorch、CUDA和cuDNN的安装图文详解win11(解决版本匹配问题)-腾讯云开发者社区-腾讯云

  • 确认pytorch和TensorFlow的版本和cuda完全对应

在conda里创建一个新环境,保证可以读取gpu

第一步:创建
conda create --name yourEnv python=2.7

–name:也可以缩写为 【-n】,【yourEnv】是新创建的虚拟环境的名字,创建完,可以装anaconda的目录下找到envs/yourEnv 目录
python=2.7:是python的版本号。也可以指定为【python=3.6】,若未指定,默认为是装anaconda时python的版本.
若想要在创建环境同时安装python的一些包:
conda create -n yourEnv python=3.6 numpy pandas

若想在别人虚拟环境的基础上创建自己的环境:
conda create --name --clone

第二步:激活
windows ==> activate yourEnv
linux/mac ==> source activate yourEnv
————————————————
版权声明:本文为CSDN博主「joshuwang0810」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/SARACH_WONG/article/details/89328307

激活环境以后

python

import torch
torch.cuda.is_availalbe()

我在vscode的cmd里激活我需要的环境,安装cuda11.3版本对应的TensorFlow2.6

(之前是TensorFlow2.10,不能读取gpu还报错)

import tensorflow as tf
print(tf.__version__)

physical_devices = tf.config.experimental.list_physical_devices('GPU')
if len(physical_devices) > 0:
    tf.config.experimental.set_memory_growth(physical_devices[0], True)

print("Num GPUs Available: ", len(physical_devices)) 

答案是True或者1就能正常使用GPU

你可能感兴趣的:(My,Project,人工智能)