原因:海思平臺不支持maxpool中ceil_mode=false,
resnet中的maxpool默認爲false。
https://pytorch.org/docs/stable/nn.html
解決辦法:
resnet maxpool只有一處:
改變輸入大小,使得不受ceil_mode影響。
pool計算公式:
如:輸入爲384, 卷積後爲192
(192+2*1+1*(3-1)-1)/2 +1 = 95.5 + 1,torch 95+1 = 96, nnie:96+1=97
所以改變輸入使得相除爲整數即可。(191+2*1+1*(3-1)-1)/2 +1 = 95+ 1 = 96,所以使得輸入爲191,反推輸入爲382.
同理:
輸入64->62
輸入96-> 94
輸入192-> 190 (96+2-3)/2 + 1-->(95+2-3)/2 +1
輸入224->222
總結使得相應輸入減2即可。減2後在降採樣後變爲減1,消除0.5的ceil_mode影響。