基本思路
所有的数据都叫Dataset
加载数据的叫DataLoader
每次加载多少条数据叫batch_size
所以构造训练数据的步骤是:首先把数据加载为Dataset
,然后用DataLoader
依次把数据传递到模型中即可
全部代码
import torchimport numpy as npfrom torch.utils.data import Dataset, DataLoaderclass MyDataset(Dataset):def __init__(self):txt_data = np.loadtxt('./my_data.txt', delimiter=',')self._x = torch.from_numpy(txt_data[:, :2])self._y = torch.from_numpy(txt_data[:, 2])self._len = len(txt_data)def __getitem__(self, item): # 每次循环的时候返回的值return self._x[item], self._y[item]def __len__(self):return self._lendata = MyDataset()dataloader = DataLoader(data, batch_size=3, shuffle=False, drop_last=True, num_workers=0)n = 0for x_data, y_label in dataloader:print('x:', x_data)print("y:", y_label)n += 1print('迭代次数:', n)
如果觉得《pytorch 构造读取数据的工具类 Dataset 与 DataLoader (pytorch Data学习一)》对你有帮助,请点赞、收藏,并留下你的观点哦!