Dataset类
为什么我们在深度学习中自定义的、用来实例化的Dataset类非要实现init、len、getitem这三个功能呢?
因为pytorch想要调用DataLoader,就必须输入Dataset,而Dataset必须要求实现len和getitem(init是类默认的)
打个比方,Dataset是快递站,DataLoader是快递员,每张图加标签是要发的包裹。快递员会问驿站三个问题“init:这个快递站是干啥的?包裹放在哪(读取路径信息,加载包裹信息)?”“getitem:给我第x个包裹”“len一共有多少包裹”
init:类的身份凭证
len:数据集有多大
告诉DataLoader,数据集的长度是多少?只有知道了这个才能知道分多少批(比如有320个样本,batch为32的话就要有10批)
getitem:按照索引取出数据集中的指定数据
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 线粒体donut!


