pytorch使用cuda出错RuntimeError: Expected object of backend CUDA but got backend CPU for argument

本文介绍了在使用PyTorch时遇到的两种CUDA错误:一是数据集未转换为CUDA模式导致的RuntimeError;二是CUDA设备序号错误。针对这些问题,提供了检查显卡支持和代码修改的解决方案,并分享了查看GPU信息的方法及解决安装pycuda时遇到的问题。
摘要由CSDN通过智能技术生成

第一种情况:
数据集忘记转成cuda模式提示RuntimeError: Expected object of backend CUDA but got backend CPU for argument

device = torch.cuda('cuda:0')
net = MLP()
net = net.to(device)
data = data.to(device) #而不是直接data.to(device)
target = target.cuda()
logits = net(data).cuda()

第二种情况:提示CUDA: invalid device ordinal
可能是你的显卡序列号不对,显卡是从0开始算的,或者你的显卡不支持cuda,例如1050Ti就不支持cuda(很难受。。。)
这里是cuda的支持情况列表官网
https://developer.nvidia.com/cuda-gpus#compute
以下代码可以查看你的GPU

import pycuda
from pycuda import compiler
import pycuda.driver as drv

drv.init()
print("%d device(s) found." % drv.Device.count())
           
for ordinal in range(drv.Device.count()):
    dev = drv.Device(ordinal)
    print (ordinal, dev.name())

安装pycuda可能碰到的问题“failed building wheel for pycud

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值