【问题标题】:Update weights of keras model only based on samples that meet a condition while training仅根据训练时满足条件的样本更新keras模型的权重
【发布时间】:2020-03-27 01:58:20
【问题描述】:

我有一个使用 keras 的自动编码器模型,输入和输出形状为 (BATCH_SIZE, 20)。中间有一个过滤数据的 Lambda 层。换句话说,如果批量大小为 1000,则可能只有 700 个来自 Lambda 层。然后我想根据这 700 个样本更新权重。 Keras 有没有办法解决这个问题?

【问题讨论】:

  • 使用自定义损失并进行过滤(或“掩码”)以在损失函数中处理此问题。使用 700 条数据进行损失计算,其余数据损失设为 0

标签: python tensorflow keras lambda model


【解决方案1】:

我最近处理过这种情况,我处理的方式是保持批次维度的灵活性。例如:如果您使用 TensorFlow,则将占位符定义为 [None, w, h, 3](如果是图像)并开发您的模型。重量与批次尺寸无关。因此,当您减小axis = 0 上的计算大小时,其余的更改将相应地发生。基本上不定义任何具体的批量大小,保持灵活。

【讨论】:

    猜你喜欢
    • 2019-06-18
    • 1970-01-01
    • 1970-01-01
    • 2017-09-08
    • 2019-04-17
    • 1970-01-01
    • 2021-09-05
    • 2019-07-14
    • 1970-01-01
    相关资源
    最近更新 更多