MCPcopy Create free account
hub / github.com/NVIDIA/DALI / __next__

Method __next__

dali/test/python/test_external_source_impl.py:670–705  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

668 )
669
670 def __next__(self):
671 random_seed(12345 * self.i + 4321)
672
673 def generate(dim):
674 shape = random_int(1, 10, [dim]).tolist()
675 if self.as_tensor:
676 return random_array([self.batch_size] + shape)
677 else:
678 return [random_array(shape) for _ in range(self.batch_size)]
679
680 if self.i < self.n:
681 self.i += 1
682 if isinstance(self.dims, (list, tuple)):
683 data = [generate(d) for d in self.dims]
684 else:
685 data = generate(self.dims)
686
687 # it needs to keep data alive
688 self.data.append(data)
689
690 def add_one(x):
691 if isinstance(x, list):
692 for elm in x:
693 elm = add_one(elm)
694 else:
695 x += 1
696 return x
697
698 if len(self.data) > self.num_keep_samples:
699 tmp = self.data.pop(0)
700 # change popped data to make sure it is corrupted
701 tmp = add_one(tmp)
702 return data
703 else:
704 self.i = 0
705 raise StopIteration
706
707 next = __next__
708

Callers

nothing calls this directly

Calls 4

random_seedFunction · 0.70
generateFunction · 0.50
appendMethod · 0.45
popMethod · 0.45

Tested by

no test coverage detected