keras:fit_generator的训练过程

keras分类猫狗数据(中)使用CNN分类模型为例,其中的部分代码如下:

#……
train_pic_gen=ImageDataGenerator(rescale=1./255,rotation_range=20,width_shift_range=0.2,
                                 height_shift_range=0.2,shear_range=0.2,zoom_range=0.5,horizontal_flip=True,
                                 fill_mode='nearest')
#……
train_flow=train_pic_gen.flow_from_directory(train_dir,(128,128),batch_size=32,class_mode='binary')
#……
model.fit_generator(
    morph.train_flow,steps_per_epoch=100,epochs=50,verbose=1,validation_data=morph.test_flow,validation_steps=100,
    callbacks=[TensorBoard(log_dir='./logs/1')]
)
#……
  • 执行fit_generator时,由train_flow 数据流返回32(train_flow的batch_size的参数)张经过随机变形的样本,作为一个batch训练模型,
  • 重复这一过程100(fit_generator的steps_per_epoch参数)次,一个epoch结束。一个epoch所用样本batch_size乘以steps_per_epoch。
  • 当epoch=50(fit_generator的epochs参数)时,模型训练结束。

此外,根据官方文档:

  • fit_generator的steps_per_epoch的建议值为样本总量除以train_flow的batch_size
  • fit_generator的steps_per_epoch,如果未指定(None),则fit_generator的steps_per_epoch等于train_flow的batch_size。

源码参考:/Lib/site-packages/keras/engine/training.py
参考上文:
keras:ImageDataGenerator的flow方法
keras:ImageDataGenerator的flow_from_directory方法

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值