0

I have a "torch.utils.data.DataLoader". I want to rearrange the order of the samples. Is it possible?

ted
  • 13,596
  • 9
  • 65
  • 107
odbhut.shei.chhele
  • 5,834
  • 16
  • 69
  • 109

1 Answers1

1

Yes, you can use torch.utils.data.Subset and specify the indices.

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])]

hwaxxer
  • 3,363
  • 1
  • 22
  • 39