在使用mask-rcnn的时候出现以下报错,好久没有解决了,有偿
process Process-1:
Traceback (most recent call last):
File "/root/miniconda3/lib/python3.6/site-packages/mrcnn/model.py", line 1695, in data_generator
image_index = (image_index + 1) % len(image_ids)
ZeroDivisionError: integer division or modulo by zero
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/root/miniconda3/lib/python3.6/multiprocessing/process.py", line 258, in _bootstrap
self.run()
File "/root/miniconda3/lib/python3.6/multiprocessing/process.py", line 93, in run
self._target(*self._args, **self._kwargs)
File "/root/miniconda3/lib/python3.6/site-packages/keras/utils/data_utils.py", line 568, in data_generator_task
generator_output = next(self._generator)
File "/root/miniconda3/lib/python3.6/site-packages/mrcnn/model.py", line 1805, in data_generator
dataset.image_info[image_id]))
UnboundLocalError: local variable 'image_id' referenced before assignment
Epoch 1/10
Traceback (most recent call last):
File "train.py", line 249, in
layers='heads') # 固定其他层,只训练head,epoch为10
File "/root/miniconda3/lib/python3.6/site-packages/mrcnn/model.py", line 2352, in train
use_multiprocessing=True,
File "/root/miniconda3/lib/python3.6/site-packages/keras/legacy/interfaces.py", line 87, in wrapper
return func(*args, **kwargs)
File "/root/miniconda3/lib/python3.6/site-packages/keras/engine/training.py", line 2011, in fit_generator
generator_output = next(output_generator)
StopIteration
看了自己的标签发现没有问题,卡在这一步了,现在是凌晨五点,有点难受
UnboundLocalError: local variable 'image_id' referenced before assignment
UnboundLocalError:赋值前引用了局部变量“image_id”
你的报错主要是因为在函数内部对变量赋值进行修改后,该变量就会被Python解释器认为是局部变量而非全局变量
借用这篇博文的解题思路,看是否对你有所帮助:https://blog.csdn.net/weixin_45666566/article/details/116460400
https://blog.csdn.net/qq_24594197/article/details/109565152
这篇文章详细得写了 mask-rcnn image_id得一些问题,
希望对你有所帮助,有问题可以一起探讨