CUDA error: device-side assert triggered

CUDA error: device-side assert triggered 触发了设备端断言

  • 原因1:模型大小不匹配

  • 在定义模型的最终全连接层时,我没有将 196(斯坦福汽车数据集的类总数)作为输出单元的数量,而是使用了 195。错误通常在您执行反向传播的行中识别。您的损失函数将比较模型的输出和数据集中该观察的标签。万一您对标签和输出感到困惑,请参阅下面我如何定义它们:

  • 原因2:损失函数输入错误

  • 损失函数对于它们可以接受的可能输入具有不同的范围。如果您为输出层选择不兼容的激活函数,则会触发此错误。例如,BCELoss 要求其输入介于 0 和 1 之间。如果输入(模型的输出)超出该特定损失函数的可接受范围,则会触发错误。

后来尝试将F.mse_loss 改为nn.MSELoss

  • Bool value of Tensor with more than one value is ambiguous in Pytorch
    Bool value of Tensor with more than one value is ambiguous当您尝试将张量转换为布尔值时会出现错误消息。

  • 原来是没有实例化

  • self.loss = nn.MSELoss() 在forwrad时 theloss = self.loss(x, y)

一步步调试发现Tensor显示 Unable to get repr for <class ‘torch.Tensor’>

  • 是因为写的程序的bug,一步步运行,仔细检查变量发现变量用错了。

参考

添加链接描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值