我已将训练数据集拆分为 80% 的训练数据和 20% 的验证数据,并创建了 DataLoader,如下所示。但是我不想限制我的模型训练。所以我想到将我的数据分成 K(也许 5)份并执行交叉验证。但是我不知道如何在拆分数据集后将它们组合到我的数据加载器中。
train_size = int(0.8 * len(full_dataset))
validation_size = len(full_dataset) - train_size
train_dataset, validation_dataset = random_split(full_dataset, [train_size, validation_size])
full_loader = DataLoader(full_dataset, batch_size=4,sampler = sampler_(full_dataset), pin_memory=True)
train_loader = DataLoader(train_dataset, batch_size=4, sampler = sampler_(train_dataset))
val_loader = DataLoader(validation_dataset, batch_size=1, sampler = sampler_(validation_dataset))
原文由 Suraj 发布,翻译遵循 CC BY-SA 4.0 许可协议
我刚刚编写了一个与数据加载器和数据集一起使用的交叉验证函数。这是我的代码,希望这对您有所帮助。
为了直观地了解我们正在做的事情的正确性,请参阅下面的输出: