Keras批量训练大量数据总结

在深度学习中,有时会遇到大量数据的情况,比如处理120万+的图片时,需要批量训练。

因为内存有限,可能一次只能读进来一批图片,一个可行的方案是使用train_on_batch这个函数,大概流程如下:

import random

batch_X, batch_Y = get_train_data()

# shuffle data
cc = list(zip(batch_X, batch_Y))
random.shuffle(cc)
batch_X[:], batch_Y[:] = zip(*cc)
del cc

model.train_on_batch(batch_X, batch_Y)

由于train_on_batch不提供shuffle=True的选项,我便选择手动shuffle数据。

当然也可以使用data generators来解决这个问题。

 

你可能感兴趣的:(机器学习)