在深度学习中训练模型都是小批量小批量地优化训练的,即每次都会从原数据集中取出一小批量进行训练,完成一次权重更新后,再从原数据集中取下一个小批量数据,然后再训练再更新。另外,原数据集往往很大,不可能一次性的全部载入模型,只能一小批一小批地载入。训练完了就扔了,再加载下一小批。准备数据importpandasaspdimportnumpyasnpdata=np.random.rand(128,3)#128x3data=pd.DataFrame(data,columns=['feature_1','feature_2','label'])Dataset和Dataloader使用模板classMyDa
在训练神经网络时我们可能会同时使用多个dataloader,则需要在原来的enumerate(dataloader)上加入zip函数:fori,datainenumerate(zip(dataloader1,dataloader2)):pass此时,data是一个(2,2)的元组,第一行是dataloader1的data和label,第二行是dataloader2的data和label。另外,dataloader1和dataloader2的大小很有可能不一样,即len(dataloader1)!=len(dataloader2),则它会以数量最少的那个dataloader为标准停止,例如len
在训练神经网络时我们可能会同时使用多个dataloader,则需要在原来的enumerate(dataloader)上加入zip函数:fori,datainenumerate(zip(dataloader1,dataloader2)):pass此时,data是一个(2,2)的元组,第一行是dataloader1的data和label,第二行是dataloader2的data和label。另外,dataloader1和dataloader2的大小很有可能不一样,即len(dataloader1)!=len(dataloader2),则它会以数量最少的那个dataloader为标准停止,例如len