自己写自定义Dataset类的时候参考了 PyTorch中文文档
Dataset规定所有的子类都必须包含有两个方法__len__
和__getitem__
__len__
提供了数据集的大小__getitem__
支持整数索引,范围从0到len(self)-1
以下是自己的一点小心得:
__len__
返回的可以是整个长度,也可以不是,只要你__getitem__
能够解析item
参数即可__getitem__
需要传入一个item
参数,作为索引,并返回相应的数据tansor,我看了有些Dataset基类是只返回一个样本的tansor的,并没有返回label的tansor- 在DataLoader中定义了Dataset,Dataloader会给Dataset一个索引,也就是
item
,item
的索引范围是0
到__len__-1
,并不是0
到__len__
- 如果数据集存放方式比较复杂,需要注意对
item
的解析
以上就是我自己写Dataset的一点小心得
纯深度学习小白,高手勿喷