keras模型中的model.fit()和model.fit_generator()的区别

最新更新:

  新版tf中,model.fit()已经支持加载生成器对象了,故统一使用model.fit()即可

===================================================================

1.两者的语法如下:

 

 2. 从上可以看出,fit()是将训练数据 x 和 y 完整的加载到内存中,如果数据量很大,不可能把所有数据一并加载到内存,必将导致内存泄漏;

而fit_generator() 加载的是一个 生成器,训练数据是通过该生成器产生的

3. batch_size、epoch、steps_per_epoch的区别

batch_size代表批次,即每次送多少组数据一起训练,例如batch_size = 32,即每次训练的数据都是一个 (32, height, width, channels) 4维向量组

epoch代表完整训练的次数,所有批次全部训练完一遍,叫做 1 epoch

steps_per_epoch 代表 每次 训练多少步,其值 = 样本数 / batch_size

原文地址:https://www.cnblogs.com/shuaishuaidefeizhu/p/15168497.html