不管怎么样,Dataset 是一个 给定 index,然后返回一对 样本 和 label 的结构。
在 COCODetection
这个数据集中,label 是在 __init__
函数中通过 self._load_jsons()
函数一次性读取好的,而 image 是在迭代中一次性读取好的。
继承关系:
object
-> mxnet.gluon.data.dataset.Dataset
-> VisionDataset
-> COCODetection
mxnet.gluon.data.dataset.Dataset
的源码可以在 Github 的 incubator-mxnet/python/mxnet/gluon/data/dataset.py
路径下看到
这是一个 Abstract dataset class,抽象类,并不接受任何数据,也起具体的作用,可以看到里面的 __getitem__
和 __len__
都是 raise NotImplementedError
并不起具体作用,具体的函数要等继承了这个类的 Subclasses 来 override __getitem__
和 __len__
最后当你创建 Dataset
实例的时候,返回的是一个 SimpleDataset
实例
_LazyTransformDataset
是
有点模糊了,Dataset 定义最后返回的是 SimpleDataset,但是 SimpleDataset 缺失继承自 Dataset