大早上的一来就开始写bug。
def forward(self, x):
x = self.conv_stem(x)
x = self.bn1(x)
x = self.act1(x)
x = self.blocks(x)
x = self.global_pool(x)
x = self.conv_head(x)
x = self.act2(x)
x = x.view(x.size(0), -1)
if self.dropout > 0.:
x = F.dropout(x, p=self.dropout, training=self.training)
x = self.classifier(x)
return x
这是前向计算过程
问题
这是报错,大概意思就是运行完第一个conv_stem以后出来的数据类型是NoneType,然后进入BN层检查数据维度的时候不知道是几维了查资料也找不到答案
解决
其实因为Convstem是一个特殊的卷积,所以在写那个卷积的时候忘记给forward写返回值了,导致进入BN 层的数据是未知类型,其实也是未知的数据,因为根本没有数据进入BN层