将自定义数据集写入 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)
我有形状为 (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)