【深度之眼】Pytorch框架班第五期-Week2【任务1】第一节:数据读取机制Dataloader与Dataset

人民币二分类

在这里插入图片描述

机器学习模型训练步骤

在这里插入图片描述
在这里插入图片描述

DataLoader 与 Dataset

DataLoader

torch.utils.data.DataLoader
Data(dataset,
 	batch_size=1,
	shuffle=False,
 	sampler=None,
 	batch_sampler=None,
 	num_workers=0,
 	collate_fn=None,
 	pin_memory=False,
 	drop_list=False,
 	timeout=0,
 	worker_init_fn=None,
 	multiprocessing_context=None)

功能: 构建可迭代的数据装载器

  • dataset:Dataset类,决定数据从哪读取以及如何读取
  • batchsize:批大小
  • num_works: 是否多进程读取数据
  • shuffle:每个epoch是否乱序
  • drop_list:当样本数不能被batchsize整除时,是否舍弃最后一批数据

Epoch: 所有训练样本都已输入到模型中,称为一个Epoch
Iteration: 一批样本输入到模型中,称之为一个Iteration
Batchsize: 批大小,决定一个Epoch有多少个Iteration

在这里插入图片描述

Dataset

torch.utils.data.Dataset
class Dataset(object):
	def __getitem__(self, index):
		raise NotImplementedError
	def __add__(self, other):
		return ConcatDataset([self, other])

功能:Dataset抽象类,所有自定义个Dataset需要继承它,并且复写__getitem__()
getitem: 接收一个索引,返回一个样本

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
PyTorch中,数据读取是构建深度学习模型的重要一环。为了高效处理大规模数据集,PyTorch提供了三个主要的工具:DatasetDataLoader和TensorDatasetDataset是一个抽象类,用于自定义数据集。我们可以继承Dataset类,并重写其中的__len__和__getitem__方法来实现自己的数据加载逻辑。__len__方法返回数据集的大小,而__getitem__方法根据给定的索引返回样本和对应的标签。通过自定义Dataset类,我们可以灵活地处理各种类型的数据集。 DataLoader数据加载器,用于对数据集进行批量加载。它接收一个Dataset对象作为输入,并可以定义一些参数例如批量大小、是否乱序等。DataLoader能够自动将数据集划分为小批次,将数据转换为Tensor形式,然后通过迭代器的方式供模型训练使用。DataLoader数据准备和模型训练的过程中起到了桥梁作用。 TensorDataset是一个继承自Dataset的类,在构造时将输入数据和目标数据封装成Tensor。通过TensorDataset,我们可以方便地处理Tensor格式的数据集。TensorDataset可以将多个Tensor按行对齐,即将第i个样本从各个Tensor中取出,构成一个新的Tensor作为数据集的一部分。这对于处理多输入或者多标签的情况非常有用。 总结来说,Dataset提供了自定义数据集的接口,DataLoader提供了批量加载数据集的能力,而TensorDataset则使得我们可以方便地处理Tensor格式的数据集。这三个工具的配合使用可以使得数据处理变得更加方便和高效。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值