概述
前言
DataLoader是Pytorch中重要的工具,可以方便我们快速的进行数据预处理,在Dataloader中我们可以定义自己的数据集,实现打乱和min_batch等操作。
torch.utils.data.Dataloader
DataLoader( dataset, batch_size=1, shuffle=False, sampler=None, batch_ sampler=None, num workers=0, collate_ fn=None,pin_ memory=False, drop_ last=False, timeout=0, worker_init_fn=None,
multiprocessing_context=None)
功能:构建可迭代的数据装载器
dataset: Dataset类,决定数据从哪读取及如何读取, 定义自己的数据集需要重写Dataset类
batchsize :批大小
num_works: 是否多进程读取数据
shuffle:每个epoch是否乱序
drop_ last :当样本数不能被batchsize整除时,是否舍弃最后一批数据
torch.utils.data.Dataset
功能:Dataset抽象类,所有自定义的Dataset需要继承它,并且复写__getitem__()
:接收一个索引,返回一个样本。
class Dataset(object):
def __getitem__(self, index):
raise NotImplementedError
def __add__ (self, other):
return ConcatDataset([self, other])
例子
class getDataset(Dataset):
"""
下载数据、初始化数据,都可以在这里完成
"""
def __init__(self):
data = np.load(path)
self.x_data = torch.from_numpy(data[:, 0:-1])
self.y_data = torch.from_numpy(data[:, [-1]])
self.len = data.shape[0]
def __getitem__(self, index):
return self.x_data[index], self.y_data[index]
def __len__(self):
return self.len
# 实例化这个类,然后我们就得到了Dataset类型的数据,记下来就将这个类传给DataLoader,就可以了。
myDataset = getDataset()
train_loader2 = DataLoader(dataset=myDataset,
batch_size=64,
shuffle=True)
最后
以上就是俭朴小蜜蜂为你收集整理的从零开始入门学习pytorch之DataLoader和Dataset的全部内容,希望文章能够帮你解决从零开始入门学习pytorch之DataLoader和Dataset所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复