问题:
使用SE_Inception_resnet_v2训练了分类模型后,我将看不见的图像用于预测。但是,结果始终相同。例如,结果始终是 logits = [.1,.2,.3] 。
通过调试代码,我发现使用tensoflow的batch_norm函数归一化的值在一个特定层中全为零,使用batch_norm函数的其他层仍然可以输出标准化的输入值。就我而言,它在 Reduction_B / cond / Merge:0 节点中输出所有零值。
更多,我检查了该特定层上batch_norm函数的输入数据和参数。输入数据很好,但是参数 moving_variance是NaN ,但是moving_mean很好。有趣的是,以前的 moving_variance 更新也可以。
我认为这是造成我问题的原因,谁能解释这是什么原因,我该如何解决?谢谢
答案 0 :(得分:1)
问题已解决。解决方案是批量大小必须大于1 。我将在下面发布两个案例,以显示一个正在运行,而另一个不适用于我的情况。
案例1 :(失败)
培训样本数:10
批量大小:1
迭代次数:10
案例2 :(成功)
培训样本数:10
批次大小:2
迭代:5