Resnet问题解决:
问题是什么?
在合并残差网络时候,说两个相加的Tensor维度不一致
最后怎么解决的?
通过对比原结构,发现在conv2处代码有问题,追源是3*3的conv块没有设置初始步长=1,以至于把程序运行中的步长=2传进去了,使得尺寸多减小了一半。
当时怎么没想到?
最初的思路是去看downsample那一块代码,没有想到去对比正确的原结构来发现问题。
其实发现了尺寸多一半第一时间就应该能想到是stride的问题,因为只有步长直接影响size大小,所以回过头看下conv的步长是否设置正确
下次怎么做?
发现问题后,想到先在原结构上debug看一下,记录数据,再在自己的代码上来对比查找