关于keras使用fit_generator中遇到StopIteration

本文探讨了在使用Keras的fit_generator训练模型时遇到StopIteration异常的原因及解决办法,通过修改生成器使其无限循环,避免了训练过程中因数据迭代完毕而引发的错误。

Keras中使用fit_generator遇到报错:StopIteration

在keras中训练模型时,训练到一半报错StopIteration

遇到的问题

在这里插入图片描述

_________________________________________________________________
Epoch 1/1000
16107/16107 [==============================] - 15052s 935ms/step - loss: 2.5982 - acc: 0.8210 - val_loss: 2.8054 - val_acc: 0.7029
Epoch 2/1000
    1/16107 [..............................] - ETA: 4:10:08 - loss: 2.5140 - acc: 0.9133Traceback (most recent call last):
  File "train_generator_v1.py", line 104, in <module>
    run()
  File "train_generator_v1.py", line 97, in run
    validation_data=(X, Y), shuffle=True, callbacks=cbks)
  File "/home/limin/.conda/envs/py36-2/lib/python3.6/site-packages/keras/legacy/interfaces.py", line 91, in wrapper
    return func(*args, **kwargs)
  File "/home/limin/.conda/envs/py36-2/lib/python3.6/site-packages/keras/engine/training.py", line 1415, in fit_generator
    initial_epoch=initial_epoch)
  File "/home/limin/.conda/envs/py36-2/lib/python3.6/site-packages/keras/engine/training_generator.py", line 177, in fit_generator
    generator_output = next(output_generator)
  File "/home/limin/.conda/envs/py36-2/lib/python3.6/site-packages/keras/utils/data_utils.py", line 785, in get
    raise StopIteration()
StopIteration

解决办法

给自己自定义的生成器内部嵌套一个while True:

下面是keras官方使用文档中fit_generator的demo

def generate_arrays_from_file(path):
   while 
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值