pytorch Dimension out of range (expected to be in range of [-2, 1], but got 2)问题记录

在模型训练完成后,尝试对单个文本进行测试时遇到了forward函数报错。问题出在forward()内的squeeze()函数,它删除了尺寸为1的维度。通过将测试样本封装成batch解决该问题,避免了错误的发生。细心检查代码是解决问题的关键。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

模型正常进行训练,训练好后想使用一个文本进行一下测试,发现居然在forward函数报错。
开始百思不得其解,训练都是正常的,按evaluate函数的逻辑写了测试样例,怎么会报错呢。
报错如下图:
在这里插入图片描述
最后经过仔细的检查,发现是forward()函数里squeeze()函数的问题,这个函数将某些满足只有一个元素的维度删除没了。因此解决办法是使用两个测试样本封装入一个batch中,问题解决了。

还是要更细心

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值