2017-06-16 83 views

回答

2

如果您已经准备好了所有必要方面的数据和标签,并且只需将这些数据和标签分配给数组x和y,那么可以使用model.fit(x,y)。

如果您需要预处理和/或扩充您的数据培训比您可以利用Keras提供的生成器。

例如,您可以通过应用随机变换(非常有用,如果您只有很少的数据需要训练),填充序列,标记文本,让Keras自动从文件夹读取数据并分配适当的类(flow_from_directory)以及更多。

看到这里的例子和样板代码的图像预处理:https://keras.io/preprocessing/image/

或这里文本预处理: https://keras.io/preprocessing/text/

fit_generator也将帮助您更内存高效的方式训练,因为你只加载数据需要的时候。可以说,发电机功能可以按需批量生产(也称为“交付”)数据到您的模型。

2

它们适用于上一张海报中提到的即时增强。然而,这并不一定限于发电机,因为您可以适应一个时代,然后再增加您的数据并再次适合。

什么不适合适合每个时代使用太多的数据。这意味着,如果您拥有1 TB的数据集并且只有8 GB的RAM,则可以使用生成器即时加载数据,并且只能在内存中保存多个批次。这极大地帮助扩展到巨大的数据集。