拆分 torch 数据集而不洗牌

Split torch dataset without shuffling

我正在使用 Pytorch 到 运行 Transformer 模型。当我想拆分数据(标记化数据)时,我正在使用此代码:

train_dataset, test_dataset = torch.utils.data.random_split(
                                                            tokenized_datasets,
                                                            [train_size, test_size])

torch.utils.data.random_split使用洗牌的方式,但我不想洗牌。我想按顺序拆分。

有什么建议吗?谢谢

random_split 方法没有可以帮助您创建非随机顺序拆分的参数。

实现顺序拆分的最简单方法是直接传递要创建的子集的索引:

# Created using indices from 0 to train_size.
train_dataset = torch.utils.data.Subset(tokenized_datasets, range(train_size))

# Created using indices from train_size to train_size + test_size.
test_dataset = torch.utils.data.Subset(tokenized_datasets, range(train_size, train_size + test_size))

参考:PyTorch docs.