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笔记本。完成后,我将在此处更新其链接。这可能很有用: