Как создать полностью (равномерно) случайный набор данных в PyTorch - PullRequest
0 голосов
/ 27 октября 2019

Мне нужно провести несколько экспериментов на пользовательских наборах данных с использованием pytorch. Вопрос в том, как я могу создать набор данных с помощью torch.Dataloader?

У меня есть два списка, один называется Значения и имеет тензор точки данных в каждой записи, а другой называется Метки , который имеет соответствующую метку. Я сделал следующее:

for i in range(samples):
dataset[i] = [values[i],labels[I]]

Итак, у меня есть список с datapoint и соответствующей меткой, а затем я попробовал следующее:

dataset = torch.tensor(dataset).float()
dataset = torch.utils.data.TensorDataset(dataset)

data_loader = torch.utils.data.DataLoader(dataset=dataset, batch_size=100, shuffle=True, num_workers=4, pin_memory=True)

Но, прежде всего, я получаюошибка «Не последовательность» в команде torch.tensor, и, во-вторых, я не уверен, что это правильный способ ее создания. Любое предложение?

Большое спасибо!

1 Ответ

1 голос
/ 27 октября 2019

Вам не нужно перегружать DataLoader, а создать Dataset для своих данных.
Например,

class MyDataset(Dataset):
  def __init__(self):
    super(MyDataset, self).__init__()
    # do stuff here?
    self.values = values
    self.labels = labels

  def __len__(self):
    return len(self.values)  # number of samples in the dataset

  def __getitem__(self, index):
    return self.values[index], self.labels[index]
...