代码之家  ›  专栏  ›  技术社区  ›  pitfall

keras训练实验测试值损失远高于列车损失

  •  0
  • pitfall  · 技术社区  · 7 年前

    val_loss 完全不同于训练 loss ,即使它们是在完全相同的数据上评估的 (X,Y) 同样的 batch_size

    下面是我用来训练一个批次的代码

    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))
    

    [===============================]-38s 3s/步-损耗:0.7510- -r_mask_b_损耗:0.3164–pred__损耗:1.8092–pred__损耗:0.2238–q_mask_a_F1:0.8179–r_mask_a_F1:0.5318–q_mask_b_F1:0.8389- r峎mask_b_F1:0.6134-pred_a_acc:0.0833-pred__u acc:1.0000- val_损失:7.0257–val_q_mask_a_损失:6.9748–val_r_mask_a_损失: 14.9849-val_q_u mask_b_损失:6.9748-val_r_mask_u b_损失:14.9234-val_pred_a_损失:0.6919-val_q_mask_u u u损失:0.6944-val_q_mask_a_F1: 0.0000e+00-val_r_u掩码_a_F1:0.0000e+00-val_q_mask_b_F1:0.0000e+00-val_r_u掩码_b_F1:0.0000e+00-val_pred__账户:1.0000-val_pred_u u账户:0.0000e+00

    1. 训练 损失 0.7510 价值损失 7.0257 .
    2. 批次大小
    3. 我正在使用 keras tensorflow 后端1.5.0。
    4. 使用 joint_model.evaluate( X, Y, batch_size=batch_size) 给出与验证相同的结果。

    关于使用的 joint_model ,这不过是一个前向CNN,前几层的权重都被冻结了。不 Dropout 在任何地方分层。

    0 回复  |  直到 7 年前