在Python3上使用model.predict_generator()时停止Keras中的迭代

2024-05-17 04:03:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我不太熟悉深度学习,所以这可能是个简单的问题

我使用自定义数据集训练了一个unet(使用30个图像进行训练,使用9个图像进行测试,我还包括了增强图像)。培训过程已经完成,测试集的结果非常好

当我将该模型应用于多个图像时,它的启动效果非常好,但当它到达第30个图像时,出现了一个错误

Traceback (most recent call last):
  File "D:/OneDrive - Instituto Politecnico Nacional/MAESTRIA UdeG-CUCEI/Deep learning python/unet-zf/just.py", line 10, in <module>
    results = model.predict_generator(testGene,133,verbose=1)
  File "D:\Anaconda\envs\tensorflow\lib\site-packages\keras\legacy\interfaces.py", line 91, in wrapper
    return func(*args, **kwargs)
  File "D:\Anaconda\envs\tensorflow\lib\site-packages\keras\engine\training.py", line 1846, in predict_generator
    verbose=verbose)
  File "D:\Anaconda\envs\tensorflow\lib\site-packages\keras\engine\training_generator.py", line 491, in predict_generator
    generator_output = next(output_generator)
StopIteration

我用于分割多个图像的代码如下所示:

testGene = testGenerator("data/membrane/try")
model = unet()
model.load_weights("unet_membrane.hdf5")
results = model.predict_generator(testGene,133,verbose=1)
saveResult("data/membrane/try",results)

如果我用一个小于30的数字替换133,它就工作了,一切都完成了。 我修改了最大队列大小(默认为10),但无法完成此操作

先谢谢大家


Tags: inpy图像unetverbosemodeltensorflowline