我是靠谱客的博主 俭朴小蜜蜂,最近开发中收集的这篇文章主要介绍从零开始入门学习pytorch之DataLoader和Dataset,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前言

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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部