mindspore.dataset.dataloader.IterableDataset
- class mindspore.dataset.dataloader.IterableDataset[源代码]
可迭代数据集的基类。
Iterable style 数据集应该继承自此类。
Iterable style 数据集表示了一种返回数据样本的可迭代对象。当随机读取数据的成本高昂甚至无法实现时尤其有用。 子类必须重写
__iter__()
方法,返回用于迭代数据集样本的迭代器。样例:
>>> from mindspore.dataset.dataloader import IterableDataset, get_worker_info >>> >>> class IterableStyleDataset(IterableDataset): ... def __init__(self, num_samples): ... self.start = 0 ... self.end = num_samples ... ... def __iter__(self): ... worker_info = get_worker_info() ... if worker_info is None: ... return iter(range(self.start, self.end)) ... else: ... worker_id = worker_info.id ... num_workers = worker_info.num_workers ... return iter(range(self.start + worker_id, self.end, num_workers))