【问题标题】:Mixing augmented and original samples using tf.data.Dataset.map()使用 tf.data.Dataset.map() 混合增强样本和原始样本
【发布时间】:2018-07-02 12:45:02
【问题描述】:

据我了解,张量流文档 map 用于基于函数 parse_function_wrapper 修改图像。

dataset = dataset.map(parse_function_wrapper,
                  num_parallel_calls=4)
dataset = dataset.batch(32)

现在数据集将只有增强图像没有原始图像。所以我的疑问是我们需要用原始数据和增强数据来训练我们的模型。谁能告诉我如何使用原始数据进行训练?

【问题讨论】:

    标签: python tensorflow


    【解决方案1】:

    我看到了两个简单的解决方案:

    1) 保留原始数据集和增强数据集,然后将它们压缩、flat_map 和 shuffle:

    augmented = dataset.map(parse_function_wrapper,
                      num_parallel_calls=4)
    mixed_dataset = (tf.data.Dataset.zip([dataset, augmented])
                     .flat_map(lambda x: x)
                     .shuffle(BUFFER_SIZE)) # use an appropriate buffer size
    

    2) 通过应用概率为p < 1 的增强并以概率1-p 返回未修改的输入,使parse_function_wrapper 成为随机的。这加上重复您的数据集,获得了与以前的解决方案类似的效果,但它在逻辑上更容易理解。此外,通过这种方式,您可以更好地控制训练数据集中增强样本与原始样本的比率,因为您可以明确设置“混合”数据集中应为增强数据的百分比。

    【讨论】:

    • 正要建议您的第二种方法:D
    猜你喜欢
    • 2022-10-15
    • 2019-05-14
    • 1970-01-01
    • 1970-01-01
    • 2017-10-14
    • 2020-11-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多