python 如何重新排列torch数据加载器的样本顺序?

ars1skjm  于 2023-01-04  发布在  Python
关注(0)|答案(1)|浏览(159)

我有一个“torch.utils.data.dataLoader”。我想重新排列样本的顺序。可以吗?

3bygqnnd

3bygqnnd1#

可以,您可以使用torch.utils.data.Subset并指定索引。

import numpy as np
import torch
from torch.utils.data import DataLoader, Subset, TensorDataset

data = np.arange(5) ** 2
dataset = TensorDataset(torch.tensor(data))

# Subset with entire Dataset in rearranged order
dataset_ordered = Subset(dataset, indices=[2, 1, 3, 4, 0])

for x in DataLoader(dataset_ordered):
    print(x)

# [tensor([4])]
# [tensor([1])]
# [tensor([9])]
# [tensor([16])]
# [tensor([0])]

相关问题