前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Pytorch CUDA报错,RuntimeError: cuDNN error: CUDNN_STATUS_INTERNAL_ERROR

Pytorch CUDA报错,RuntimeError: cuDNN error: CUDNN_STATUS_INTERNAL_ERROR

作者头像
烤粽子
发布2021-07-07 18:17:45
10K0
发布2021-07-07 18:17:45
举报
文章被收录于专栏:粽子的深度学习笔记

(多卡环境)在使用torchsummary()进行可视化的时候,代码报错:

RuntimeError: cuDNN error: CUDNN_STATUS_INTERNAL_ERROR

在代码中设置指定GPU,代码仍旧运行不成功

device = torch.device(“cuda:3” if torch.cuda.is_available() else “cpu”) model = model.to(device)

代码语言:javascript
复制
import torch
from torchsummary import summary
from torchvision.models import vgg11

torch.cuda.set_device(2)

model = vgg11(pretrained=False)
if torch.cuda.is_available():
    # device = torch.device("cuda:3")
    # model = model.to(device)
    model.cuda()
summary(model, (3, 224, 224))

添加了代码torch.cuda.set_device(2)设置当前设备。然后运行成功,其结果如下图所示:

在这里插入图片描述
在这里插入图片描述

实际上,官方文档提示不鼓励使用此函数来设置。在大多数情况下,最好使用CUDA_VISIBLE_DEVICES环境变量。

代码语言:javascript
复制
import os
os.environ['CUDA_VISIBLE_DEVICES'] = "2"

import torch
from torchsummary import summary
from torchvision.models import vgg11

model = vgg11(pretrained=False)
if torch.cuda.is_available():
    model.cuda()
summary(model, (3, 224, 224))

注意

  1. CUDA_VISIBLE_DEVICES设置要在模型加载到GPU上之前
  2. 使用os.environ['CUDA_VISIBLE_DEVICES']对可以使用的显卡进行限定之后, 显卡的实际编号和程序看到的编号应该是不一样的, 例如上面我们设定的是os.environ['CUDA_VISIBLE_DEVICES']="0,2", 但是程序看到的显卡编号应该被改成了'0,1' 也就是程序所使用的显卡编号实际上是经过了一次映射之后才会映射到真正的显卡编号上面的。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/01/11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档