在做transformer作业时候,对着网上代码抄,但是一直有bug:
原来:
一直对着报错信息的decoder里面的multihead_attention里面的tensor查看维度,发现前后两个tensor的第一个维度(batch)不一样,也就是Q和K的batch不一样,当时感觉有两种问题:是dataset传不对,也就是dataloader有问题,要么是其他层有问题。
后来:
检查dataloader,和正确答案对不上。(那为什么encoder没有毛病!dataset对encoder没问题嘛!!!)
总结:下次深度网络的tensor维度对不上,先检查网络结构,再检查数据集(虽然数据集有问题可能性很小,但这就是黑天鹅事件)
深度网络debug篇
于 2023-11-13 22:55:03 首次发布