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

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

被折叠的 条评论
为什么被折叠?



