批量梯度下降法(Batch Gradient Descent,BGD):在更新参数时,BGD根据batch中的所有样本对参数进行更新。(计算速度快)
随机梯度下降法(Stochastic Gradient Descent,SGD):和BGD的原理类似,区别在于每次随机选取一个样本j求梯度。(计算性能好,耗时)
小批量梯度下降法(Mini-batch Gradient Desent,也称Mini-batch SGD):BGD和SGD二者的折中法,对于m个样本,选取x个子样本进行迭代,且1<x<m。
转-->详细介绍
均和性能和训练时间需求:mini-batch
shuffle:打乱数据集顺序
用for in循环把里面batch依次拿出来
dataset是一个抽象类,由自己设计继承
dataLoader帮助自助加载数据(shuffle\batch_size)
1.class()中表示继承dataset的类
2.getitem用于通过下标索引把数据拿出来(魔法方法)
3.len可以把数据数量拿出来
4.init有两种选择:a.把所有数据都加载到内存里面,用getitem把每一个[i]传出去(用于数据集本身不大);b.放入pack文件里面,定义一个列表把每一个数据集文件放到相应列表or标签中用getitem读取i列表j文件元素(数据集本身很大)
5.dataloader参数:数据集参数,容量,是否打乱,使用多线程数量