将自定义数据集写入 pytorch

writing a custom dataset to pytorch

我有形状为 (400, 46, 55, 46) 的 numpy 数组数据,这里 400 个是样本,46,55,46 是图像。350 个样本用于训练,其余 50 个用于验证

np.max(data[1]), np.min(data[1]), len(data[1])
Output: (2941.0, -43.0, 46)

现在我想将数据加载到 pytorch 模型中,为此我需要编写一个自定义数据加载器,因为我是 pytorch 的新手,我发现很难写有人可以帮忙

您可以使用 torch.utils.data.TensorData and torch.utils.data.random_split to construct the two datasets and wrap them with torch.utils.data.DataLoader:

的组合
>>> data = np.random.rand(400, 46, 55, 46)

# Datasets initialization
>>> ds = TensorDataset(torch.from_numpy(data))
>>> train_ds, valid_ds = random_split(ds, (350, 50))

# Dataloader wrappers
>>> train_dl, valid_dl = DataLoader(train_ds), DataLoader(valid_ds)