【发布时间】:2020-08-12 01:29:38
【问题描述】:
假设我有 2 节课。对于一个,我只有 17 个样本,另一个是 83 个。我希望每个 epoch 的每个类始终拥有相同数量的数据(在这种情况下意味着 17 x 17)。另外,我想在班级中滑动采样一个窗口,每个时期都有更多数据(前 17 个,下一个 17,...)。
目前我有一个这样的循环采样迭代器:
class CyclicIterator:
def __init__(self, loader, sampler):
self.loader = loader
self.sampler = sampler
self.epoch = 0
self._next_epoch()
def _next_epoch(self):
self.iterator = iter(self.loader)
self.epoch += 1
def __len__(self):
return len(self.loader)
def __iter__(self):
return self
def __next__(self):
try:
return next(self.iterator)
except StopIteration:
self._next_epoch()
return next(self.iterator)
我想知道如何强制每个类别的所有样本在每个时期都具有相同的数量?
【问题讨论】:
-
为什么不简单地在
__next__保留一个柜台? -
我不明白的是如何区分这个级别的类?
-
你好@DuckQueen 你能测试下面的答案吗?这对您的问题有意义吗?