安装好cuda后解决torch.cuda.device_count() == 0

本文介绍了如何更新显卡驱动以便安装高版本CUDA,强调了CUDA版本需与PyTorch版本匹配。特别指出在PyCharm中使用PyTorch时,可能需要重新安装以支持cup计算。最后提供了关键步骤和解决GPU显示问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

更新显卡驱动可以安装高版本的cuda

可以通过打开cmd输入nvidia-smi来查看
在这里插入图片描述
所以说不高于12.3的版本都可以安装

cuda版本匹配pytorch版本

打开网址:https://pytorch.org/
在这里插入图片描述
验证完后,就可以吭哧吭哧的去下载安装了
搞完后还是发型代码跑出来GPU = 0
不要慌

关键一步

在这里插入图片描述
在这里插入图片描述
把这个复制进去安装一下

运行

在这里插入图片描述

根本原因

pycharm安装的torch只支持cup计算,所以需要重新装过
在这里插入图片描述

详细介绍以及有错误地方'''Training script. ''' import os from tqdm import tqdm import torch import torch.nn as nn from torch.utils.data import DataLoader from torch.optim import Adam, lr_scheduler from torchsummary import summary from torchvision import transforms import torch.distributed as dist import torch.multiprocessing as mp from models.resnet50 import ResNet50 from runtime_args import args from load_dataset import LoadDataset from plot import plot_loss_acc from helpers import calculate_accuracy device = torch.device("cuda:0" if torch.cuda.is_available() and args.device == 'gpu' else 'cpu') if not os.path.exists(args.graphs_folder) : os.mkdir(args.graphs_folder) model_save_folder = 'resnet_cbam/' if args.use_cbam else 'resnet/' if not os.path.exists(model_save_folder) : os.mkdir(model_save_folder) def train(gpu, args): '''Init models and dataloaders and train/validate model. ''' rank = args.rank * args.gpus + gpu world_size = args.gpus * args.nodes dist.init_process_group(backend='nccl', init_method='env://', world_size=world_size, rank=rank) model = ResNet50(image_depth=args.img_depth, num_classes=args.num_classes, use_cbam=args.use_cbam) torch.cuda.set_device(gpu) model.cuda(gpu) optimizer = Adam(model.parameters(), lr=args.learning_rate) lr_decay = lr_scheduler.ExponentialLR(optimizer, gamma=args.decay_rate) criterion = torch.nn.CrossEntropyLoss().cuda(gpu) summary(model, (3, 224, 224)) model = nn.parallel.DistributedDataParallel(model, device_ids=[gpu]) train_dataset = LoadDataset(dataset_folder_path=args.data_folder, image_size=args.img_size, image_depth=args.img_depth, train=True, transform=transforms.ToTensor()) test_dataset = LoadDataset(dataset_folder_path=args.data_folder, image_size=args.img_size, image_depth=args.img_depth, train=False, transform=transforms.ToTensor()) train_sampler = torch.utils.data.distributed.Distri
最新发布
03-12
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值