训练报错:RuntimeError: CUDA error: device-side assert triggered

训练分类网络resnet18时发生报错:RuntimeError: CUDA error: device-side assert triggered

原始代码:

for batch_index, (images, labels) in enumerate(train_dataloader):
    if epoch <= args.warm:
        warmup_scheduler.step()
    images = images.cuda()
    labels = labels.cuda()

    optimizer.zero_grad()
    predicts = net(images)

    loss = 0
    for i, pi in enumerate(predicts):
        t = torch.full_like(pi, 0, device=device)
                
        if labels[i].long() > 0:
            print('labels:', labels[i])
            t[labels[i].long() - 1] = 1
            print('t', t)
        loss_curr = criterion(pi, t) # BCE
        loss += loss_curr
        train_total_loss += loss_curr.item()

        loss.backward()
        optimizer.step()

 发生报错后,将报错位置进行打印:

labels: tensor([7], device='cuda:0', dtype=torch.int32)
t tensor([0.
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猫猫与橙子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值