Open chaoyu1999 opened 2 years ago
定义模型时,在两个地方用了同一个bn,这会导致运行model.eval()测试时和训练时的准确率相差甚远。
请问这是为何呢?
定义模型时,在两个地方用了同一个bn,这会导致运行model.eval()测试时和训练时的准确率相差甚远。
请问这是为何呢?
每个卷积层后面接的bn层不能一样。因为每个bn层会学习各自独立的参数,不能共享。
请问这是为何呢?
每个卷积层后面接的bn层不能一样。因为每个bn层会学习各自独立的参数,不能共享。
我也考虑过这个问题,但是我发现MesoInceptionNet也是重复使用了同一个BN层,训练和测试的结果都有90%+。MesoNet后面那两层也有重复使用了另一个通道数16的BN层,我把它们修改成不一样的,测试时和训练时的准确率也是相差甚远。修改您说的这里,使用2个不同的BN层,MesoNet测试时和训练时的准确率就都挺好的。 神奇。
定义模型时,在两个地方用了同一个bn,这会导致运行model.eval()测试时和训练时的准确率相差甚远。