每个历元在数据集的不同子集上进行张量流训练



为了节省训练期间的时间,我决定构建一个带有增强图像的大型数据集,由于每个图像都在动态增强,因此训练时间过长,从而降低了性能和GPU使用率。

我想知道每个历元是否有可能在数据集的一个子集上训练以节省时间(在4000张图像上训练,而不是40000张(。这在某种程度上类似于交叉验证,但我的目标只是减少每个历元训练模型的数据集部分,并随机交替这些小部分。当然,在交叉验证中,我不会减少训练数据集的大小,只是替换验证集。

根据定义,epoch意味着整个数据集通过模型进行训练。但是,您可以使用小批量训练,将整个数据集划分为多个批次,并使用.next_batch((函数或通过迭代数据集一次训练一个批次。

定义数据集时,如果希望在每个epoch随机选择细菌中的数据,则可以使用.shuffle((,并使用.batch(batch_size(定义每个批次要使用的样本数。

最新更新