RuntimeError: cuda runtime error : device-side assert triggered

这个错误整了我一天时间,所以特此记录一下,如果大家也碰到希望能够避雷!!!

这个错误是在运行PyTorch代码出错,我碰到的原因是神经网络init定义时给的参数出错。

(具体是nn.Embedding(vocab_size,embed_dim)中vocab_size传错参数导致的)

【1】网上有人说这是gpu坏了,不能运行,首先可以通过:

import torch
torch.cuda.is_available()

测试,就可以排除这种问题。所一般不是cuda或者机器的问题

注:对于报错,不要心存侥幸,,,我开始就觉得是不是cuda,gpu抽风了,,,所以一定要检查自己的代码!!!

【2】如果torch能够正常运行,说明设备没有问题,那么肯定是你的代码出错了!!!!!!

由于是cuda运行错误,所以报错位置可能不准确。建议大家一行行排查。

这个错误是由于索引越界产生的。

常见出现在:

(1)类别id错误

coco数据集就有这个问题,需要重新将类别id(cat_ids)从零开始。

id_map = {v: i for i, v in enumerate(cat_ids)}

(2)nn.Embedding(vocab_size,emb)

传入的vocab_size数比你词典中个数少

(3)....

ps:遇到这种错误好好检查代码,欢迎解决问题得留下容易错误的原因。

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值