bubbliiiing / efficientdet-pytorch

这是一个efficientdet-pytorch的源码,可以用于训练自己的模型。
MIT License
305 stars 61 forks source link

用MAP出现bug #3

Open darkdepth opened 4 years ago

darkdepth commented 4 years ago

您好,非常感谢分享,我再执行get_dr_txt.py时,发现生成得detection下得txt文件全空,查找错误发现,执行test策略时,执行EfficientNet的forward时(位置在代码目录$./nets/efficientdet.py),第413行x = self.model._bn0(x),也即self._bn0 = nn.BatchNorm2d(num_features=out_channels, momentum=bn_mom, eps=bn_eps)函数时, 上一步不同的输出数值,经过bn0后结果都变为相同的输出,不管接受的是什么输入,只输出'backbone_net.model._bn0.bias'的值,并且weight并不为0,查看上一步的结果,至于形状 test策略时: [16, 3, 1024, 1024] input [16, 48, 512, 512] 经过x = self.model._conv_stem(x) train策略时: [2, 3, 1024, 1024] input [2, 48, 512, 512] 经过x = self.model._conv_stem(x)

test策略调用的模型是训练的第40代(phi=4),训练误差和验证误差均为0.0002。

试着调整test时的送入形状,我分别截取输出,使map调用输入的形状和训练时的,两者形状完全一致,还是有以上错误;

截取了训练时的数据,结果证明是完全没问题的,

查看训练和map输入的数据,进行对比发现,并无明显差异,

非常期待您的回复,谢谢

darkdepth commented 4 years ago

您好,非常感谢分享,我再执行get_dr_txt.py时,发现生成得detection下得txt文件全空,查找错误发现,执行test策略时,执行EfficientNet的forward时(位置在代码目录$./nets/efficientdet.py),第413行x = self.model._bn0(x),也即self._bn0 = nn.BatchNorm2d(num_features=out_channels, momentum=bn_mom, eps=bn_eps)函数时, 上一步不同的输出数值,经过bn0后结果都变为相同的输出,不管接受的是什么输入,只输出'backbone_net.model._bn0.bias'的值,并且weight并不为0,查看上一步的结果,至于形状 test策略时: [16, 3, 1024, 1024] input [16, 48, 512, 512] 经过x = self.model._conv_stem(x) train策略时: [2, 3, 1024, 1024] input [2, 48, 512, 512] 经过x = self.model._conv_stem(x)

test策略调用的模型是训练的第40代(phi=4),训练误差和验证误差均为0.0002。

试着调整test时的送入形状,我分别截取输出,使map调用输入的形状和训练时的,两者形状完全一致,还是有以上错误;

截取了训练时的数据,结果证明是完全没问题的,

查看训练和map输入的数据,进行对比发现,并无明显差异,

非常期待您的回复,谢谢

抱歉,是我个人的失误,错用class,本来是“0”和“1”,我自己设为了"yes"和“no",2007_train.txt文件没有任何框的信息,虽然训练误差小,但是一个框的误差都没有用到。

bubbliiiing commented 4 years ago