PyTorch深度学习实践-P8加载数据集

Dataset and DataLoader

datase用来构造数据集,数据集应该支持索引 ,dataloader用来拿出一个mini-batch来供训练时快速使用。

复习:

  • 用全部batch,可以提升计算速度,可以使用CPU、GPU的并行能力,在处理性能上会较慢
  • 使用一个样本来随机梯度下降,可以帮助我我们跨过鞍点,但会导致优化时间过长,一个样本本没法使用并行计算能力,数据上下有关联
  • 使用mini-batch平衡性能和时间的需求

对于epoch、batch-size、iterations的定义:

  • epoch:所有训练样本fowrwad backward一次就是一个epoch(所有样本都参与训练)
  • batch-size:一次forward backward训练时所用样本数量
  • iteration:batch一共分了多少个,内层迭代分了多少次
  • 假设1w样本,batch-size(mini-batch)为1k个,iteration=10

DataLoader:举例~batch-size=2,shuffle=True(训练样本随机,打乱顺序)

  • dataset需要支持索引,需要知道长度

 iterable loader,yield来产生下一个对象,用for循环把每个batch拿出来

How to define Dataset:

  • Dataset 是一个抽象的类(不能实例化),通过继承来定义自己的类
  • DataLoader是来帮助我们加载数据的类,可以实例化dataloader
  • DiabetesDataset继承自Dataset类
  • getitem是魔法方法,实例化之后,这个可以支持
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值