Skip to content

Instantly share code, notes, and snippets.

@YimianDai
Created July 30, 2019 23:14
Show Gist options
  • Save YimianDai/b190d1cde9476f246862f71addb61769 to your computer and use it in GitHub Desktop.
Save YimianDai/b190d1cde9476f246862f71addb61769 to your computer and use it in GitHub Desktop.
Gluon-CV Dataset Class

Gluon-CV Dataset

不管怎么样,Dataset 是一个 给定 index,然后返回一对 样本 和 label 的结构。

COCODetection 这个数据集中,label 是在 __init__ 函数中通过 self._load_jsons() 函数一次性读取好的,而 image 是在迭代中一次性读取好的。

继承关系:

object -> mxnet.gluon.data.dataset.Dataset -> VisionDataset -> COCODetection

Dataset

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

_LazyTransformDataset

有点模糊了,Dataset 定义最后返回的是 SimpleDataset,但是 SimpleDataset 缺失继承自 Dataset

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment