pytorch dataloader使用教程

dataloader是pytorch之中可以灵活地取出数值的一个相应类,首先需要将自己使用的数据用Dataset封装起来,然后打包成为DataLoader变量进行操作

import torch
from torch.utils.data import Dataset, DataLoader
x = torch.randn(128, 3)
y = torch.randn(128, 1)
# 1. 用Dataset封装数据集,仅做示范,实际可直接用TensorDataset封装
class MyDataset(Dataset):
    def __init__(self, x, y):
        assert x.size(0)==y.size(0)
        self.x, self.y = x, y
    #定义初始化变量
    def __getitem__(self, idx):
        return (self.x[idx], self.y[idx])
    #定义每次取出的对应数值
    def __len__(self):
        return self.x.size(0)
    #定义tensor的总长度
# 2. 用DataLoader定义数据批量迭代器
dataset = MyDataset(x,y)
MyDataLoader = DataLoader(dataset=dataset,shuffle=True,batch_size=4)
for data_iter1,data_iter2 in MyDataLoader:
    print('data_iter1 = ')
    print(data_iter1)
    print('data_iter2 = ')
    print(data_iter2)

你可能感兴趣的:(pytorch笔记)