in supervised_reptile/reptile.py [0:0]
def _mini_batches(samples, batch_size, num_batches, replacement):
"""
Generate mini-batches from some data.
Returns:
An iterable of sequences of (input, label) pairs,
where each sequence is a mini-batch.
"""
samples = list(samples)
if replacement:
for _ in range(num_batches):
yield random.sample(samples, batch_size)
return
cur_batch = []
batch_count = 0
while True:
random.shuffle(samples)
for sample in samples:
cur_batch.append(sample)
if len(cur_batch) < batch_size:
continue
yield cur_batch
cur_batch = []
batch_count += 1
if batch_count == num_batches:
return