Keras之fit_generator与train_on_batch

关于Keras中,当数据比较大时,不能全部载入内存,在训练的时候就需要利用train_on_batch或fit_generator进行训练了。两者均是利用生成器,每次载入一个batch-size的数据进行训练。那么fit_generator与train_on_batch该用哪一个呢?

train_on_batch(self, x, y, class_weight=None, sample_weight=None)

fit_generator(self, generator, samples_per_epoch, nb_epoch, verbose=1, callbacks=[], validation_data=None, nb_val_samples=None, class_weight=None, max_q_size=10)

推荐使用fit_generator,因为其同时可以设置 validation_data,但是采用train_on_batch也没什么问题,这个主要看个人习惯了,没有什么标准的答案。

下面是François Chollet fchollet本人给出的解答:

With fit_generator, you can use a generator for the validation data as well. In general I would recommend using fit_generator, but using train_on_batch works fine too. These methods only exist as for the sake of convenience in different use cases, there is no "correct" method.

如果您觉得我的文章对您有所帮助,欢迎扫码进行赞赏!

 


版权声明:本文为u011501388原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。