PYTORCH BUG 总结!!!!!!!!!

本文总结了PyTorch中常见的错误及其解决方案,包括CUDA错误、内存溢出、属性错误、运行时错误以及优化问题。针对CUDA错误,如device-side assert触发,需确保num_embeddings设置正确。CUDA out of memory问题可能由于张量未转化为Python数值导致内存占用增加。torch.dtype对象无'type'属性错误,需避免使用numpy进行torch.tensor的均值计算。RuntimeError通常由inplace操作引起,应避免修改计算梯度所需的变量。对于无法优化非叶节点张量的问题,确保使用的是leaf variable。
摘要由CSDN通过智能技术生成

cuda error:device-side assert triggered

在这里插入图片描述在这里插入图片描述
1、根据上图中的bug,查找可得,embedding的num_embeddings 是要设置成你的字典的大小,但是要记住,一定是vocab_size + 1,而不是vocab_size,即要设置为字典大小+1。


bug 2 :cuda out of memory:

这个问题出现有很多原因:先贴一个最近遇到的

losses.append(loss.item)

使用上语句报显存过多的错。将上语句改为下语句则错误消失。

losses.append(loss.item())

原因:如果在累加损失时未将其转换为Python数字,则可能出现程序内存使用量增加的情况。这是因为上面表达式的右侧原本是一个Python浮点数,而它现在是一个零维张量。因此,总损失累加了张量和它们的梯度历史,这可能会产生很大的autograd 图,耗费内存和计算资源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值