【发布时间】:2020-05-19 17:37:27
【问题描述】:
我想问一个关于 Pytorch 中的数据迭代器的问题。
我有两个数据集,并希望为每个数据集使用不同的数据迭代器来训练一个模型。
为此,我为它们中的每一个都使用了 DataLoader 来获取数据迭代器,并将 shuffle 参数设置为 True。
然后,我在一个循环下使用它们,对于每个时代:
for idx, datum in enumerate(zip(data_iterator1, data_iterator2)):
这里,data_iterator1 的长度大约是 data_iterator2 的长度的 28 倍。
这里我有以下几个问题:
1) 循环何时结束?是在循环看到所有属于 data_iterator2 的批次时结束,还是在看到所有属于 data_iterator1 的批次之前结束?
2) 如果在看到所有属于 data_iterator2 的批次后循环结束,那么在下一个 epoch,属于两个数据迭代器的数据是否再次洗牌?
【问题讨论】:
标签: pytorch