DataLoader和Dataset
torch.utils.data.DataLoader
DataLoader(#构建可迭代的数据装载器
dataset,#Dataset类,决定数据从哪读取及如何读取
batch_size=1,#批大小
shuffle=False,#每个epoch是否乱序
sampler=None,
num_workers=0,#是否多进程读取数据
collate_fn=None,
pin_memory=False,
drop_last=False,#当样本数不能被batchsize整除时,是否舍弃最后一批数据
timeout=0,
worker_init_fn=None,
multiprocessing_context=None
)
Epoch:所有训练样本都已输入到模型中,称为一个Epoch
lteration:一批样本输到模型中称之为一个ieration
Batchsize:批大小,决定一个Epoch有多少个Iteration
样本总数:80,Batchsize:8 则1 Epoch = 10 lteration
样本总数:87,Batchsize:8 则
drop last = True时 1 Epoch =10 lteration
drop last = False时1 Epoch = 11 lteration
torch.utils.data.Dataset
class Dataset(object):#Dataset抽象类,所有自定义的Dataset需要继承它,并且复写
def __getitem__(self,index):#接受一个索引,返回一个样本
raise NotImplementedError
def __add__(self,other):
return ConcatDataset([self,other])