长期运行后,Keras预言生成器会引发异常

时间:2019-03-06 16:00:35

标签: python python-3.x keras

我有一个功能,可以使用预先训练的keras模型文件预测图像。 (cnn)我遇到的问题是,如果我对很多图像进行了分类(在100x100分辨率中超过2000张),则会引发以下异常:

File "C:\Users\huszt\Anaconda3\envs\TensoFlowGPU\Lib\threading.py", line 884, in _bootstrap
  self._bootstrap_inner()
File "C:\Users\huszt\Anaconda3\envs\TensoFlowGPU\Lib\threading.py", line 916, in _bootstrap_inner
  self.run()
File "C:\Users\huszt\Anaconda3\envs\TensoFlowGPU\Lib\threading.py", line 864, in run
  self._target(*self._args, **self._kwargs)
File "C:\Users\huszt\Anaconda3\envs\TensoFlowGPU\Lib\multiprocessing\pool.py", line 119, in worker
  result = (True, func(*args, **kwds))
File "C:\Users\huszt\Anaconda3\envs\TensoFlowGPU\Lib\site-packages\keras\utils\data_utils.py", line 626, in next_sample
  return six.next(_SHARED_SEQUENCES[uid])

builtins.TypeError: 'NoneType' object is not an iterator

由于我在预测时不使用多处理,所以我不知道这种异常可能来自何处。尤其是Error的最后一行是可疑的,最后是keras data_utils问题。奇怪的是,仅当分类花费的时间超过指定时间时才会发生。 在另一个程序中,我用相同的代码片段对该图像进行了更多分类,所以我认为这与图像数据生成器代码无关。无论在哪里使用try-except块,我都无法以任何方式捕获异常。

Y_pred = model.predict_generator(test_generator, num_of_test_samples, use_multiprocessing=False,   verbose = 1 ) 

预测运行几分钟,然后引发异常。不仅在程序运行之后,它有时运行几秒钟,有时在该行结束之后就死掉。 我如何找到异常?

0 个答案:

没有答案