如何在PyTorch上创建完全(均匀)的随机数据集

时间:2019-10-27 11:58:30

标签: dataset pytorch

我需要使用pytorch对自定义数据集进行一些实验。问题是,如何使用torch.Dataloader创建数据集?

我有两个列表,一个列表称为 Values ,并且在每个条目处都有一个数据点张量,而另一个列表称为 Labels ,具有相应的标签。我所做的是:

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

所以我有一个包含数据点和相应标签的列表,然后尝试了以下操作:

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 个答案:

答案 0 :(得分:1)

您不需要重载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]