手写一个简单的mini_batchi生成器案例

def get_batch(dataset, batch_size):
    lens = len(dataset)
    batch = lens//batch_size #看看能分成多个满足batchsize的整份,可能有余数
    remain = lens%batch_size #看余数
    for i in range(batch):
        yield dataset[0 + (i*batch_size):batch_size + (i*batch_size)]
    else:
        yield dataset[-remain:] #返回剩下的

data = [i for i in range(100)]
batch_size = 7
batch = get_batch(data, batch_size)
print(next(batch))
print(next(batch))
print(next(batch))

[0, 1, 2, 3, 4, 5, 6]
[7, 8, 9, 10, 11, 12, 13]
[14, 15, 16, 17, 18, 19, 20]

猜你喜欢

转载自blog.csdn.net/hot7732788/article/details/89204210