【发布时间】:2020-06-29 11:52:26
【问题描述】:
我有多个要在训练中使用的数据集。我希望每个批次都来自一个数据集,但每个时期的批次(可能)来自所有数据集。
将数据集合并为一个简单的Dataset 对象并使用默认的Dataloader 会导致一批中包含来自不同数据集的样本。
我自己的猜测是每个数据集都有一个单独的Dataset 对象并覆盖 Dataloader 或采样器,但我不知道该怎么做。
【问题讨论】:
我有多个要在训练中使用的数据集。我希望每个批次都来自一个数据集,但每个时期的批次(可能)来自所有数据集。
将数据集合并为一个简单的Dataset 对象并使用默认的Dataloader 会导致一批中包含来自不同数据集的样本。
我自己的猜测是每个数据集都有一个单独的Dataset 对象并覆盖 Dataloader 或采样器,但我不知道该怎么做。
【问题讨论】:
我认为解决您的问题的最佳方法是拥有一个带有单个数据加载器的合并数据集,但有一个自定义 BatchSampler,它会根据合并数据集中的不同数据集生成索引。
【讨论】: