【问题标题】:Prevent mixing training examples from different TFRecords files防止混合来自不同 TFRecords 文件的训练示例
【发布时间】:2018-10-14 07:29:01
【问题描述】:

我正在训练视频帧序列的模型。我将视频存储为 tfrecords 文件(每个视频都是一个单独的 tfrecords 文件),每个帧都编码为一个 tf.train.Example。在训练期间,我读取了一批帧并在模型中运行它们。但是,我发现来自不同视频的帧可能会出现在同一批次中。对于我正在训练的模型,它没有意义,实际上会损害性能。有没有办法确保一批帧只包含来自同一视频的帧?

【问题讨论】:

    标签: tensorflow tfrecord


    【解决方案1】:

    我最终使用了tf.data.Dataset.filter 方法。谓词比较第一帧和最后一帧的视频 ID。如果它们不同,则删除整个批次:

    def ensure_same_video_in_batch(video_ids, *args):
        first_frame_video_id, last_frame_video_id = video_ids[0], video_ids[-1]
        return tf.equal(first_frame_video_id, last_frame_video_id)
    
    
    dataset = dataset.filter(ensure_same_video_in_batch)
    

    【讨论】:

      猜你喜欢
      • 2020-03-21
      • 2021-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 2013-08-01
      • 1970-01-01
      相关资源
      最近更新 更多