keras训练实验测试的val_损失(比列车损失)高得多
在一次训练实验测试中,我遇到了一件奇怪的事情,keras训练实验测试的val_损失(比列车损失)高得多,keras,Keras,在一次训练实验测试中,我遇到了一件奇怪的事情,val\u损失与训练损失完全不同,尽管它们是在完全相同的数据(X,Y)和相同的批量大小 下面是我用来训练一批人的代码 X, Y = valid_datagen.next() batch_size = len(X[0]) joint_model.fit( X, Y, batch_size=batch_size, epochs=1, verbose=1
val\u损失
与训练损失
完全不同,尽管它们是在完全相同的数据(X,Y)
和相同的批量大小
下面是我用来训练一批人的代码
X, Y = valid_datagen.next()
batch_size = len(X[0])
joint_model.fit( X, Y,
batch_size=batch_size,
epochs=1,
verbose=1,
validation_data=(X, Y))
对12个样本进行培训,对12个样本进行验证
[============================]-38s 3s/步-损耗:0.7510-
q_掩模损耗:0.4739-r_掩模损耗:0.6610-q_掩模损耗:0.4718
-r_-mask_-a_损失:0.3164-pred_-a_损失:1.8092-pred_-b_损失:0.2238-q_-mask_-a_F1:0.8179-r_-mask_-a_F1:0.5318-q_-mask_-b_F1:0.8389-
r_掩码_b_F1:0.6134-pred_a_acc:0.0833-pred_b_acc:1.0000-
val_损失:7.0257-val_q_面具_a_损失:6.9748-val_r_面具_a_损失:
14.9849-瓦尔-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁损失:0.6919-瓦尔-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁
0.0000e+00-瓦尔-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁-鲁:0.0000e+00
注:
损失
为0.7510
,而valu损失
为7.0257
批量大小
设置为等于
样本,即仅对一批进行培训李>
keras
2.2.0与tensorflow
1.5.0后端joint\u模型。评估(X,Y,批次大小=批次大小)
给出与验证相同的结果关节模型
,它只是一个前馈CNN,在前几层中具有冻结的权重。任何地方都没有退出
层
我完全不知道这里发生了什么。有人知道潜在的原因是什么,或者如何调试它吗?欢迎提出任何建议。模型中是否有任何批量规范化?如果您能提供某种方法,我可以查看您的模型。@Abhishek Mishra是的。我确实有几个
BatchNormalization
层,但无论我设置它们的权重trainable=True
或False
,都会观察到相同的行为。我现在正在为你制作一个谷歌colab笔记本。完成后,我将在此处更新其链接。这可能很有用: