近日,在使用CascadeRCNN完成目标检测任务时,我在使用这个模型训练本身的数据集时出现了以下错误:node
tensorflow.python.framework.errors_impl.OutOfRangeError: PaddingFIFOQueue '_1_get_batch/batch/padding_fifo_queue' is closed and has insufficient elements (requested 1, current size 0)
[[node get_batch/batch (defined at ../data/io/read_tfrecord.py:98) ]]
具体以下截图所示:python
我使用的教程是这个连接:cascade r-cnn训练和测试(tensorflow框架)框架
在出现这个错误的时候,觉得是数据集的错误,在通过屡次检查数据,而且删掉运行报错的图片等尝试屡次无果后,最终选择从新制做数据才解决掉这个错误。注意,训练所使用的数据集在FasterRCNN模型是可以训练起来的。测试
过后回想,可能有两个地方致使出现这个错误。编码
一、做者的教程里面有段标红的文字当时我选择忽略了。spa
我当时我根本没有作过这步,我觉得VOC格式里面数据集已经划分好测试集和训练集了,因此就没有管这个步骤了,后来证实代码做者根本没有管VOC里面的txt文件。因此我以为这个错误可能也是引起这个错误的缘由。.net
二、在通过从新制做数据集没有出现这个错误后,后面又出现了这个错误,此次又仔细检查了数据集,发如今制做VOC2007数据集的时候,图片名字居然有中文(巨坑),致使制做出来的txt乱码了,而后我在从新制做数据集的过程当中,指定了encoding=’utf-8’编码,而后再把数据丢进模型去训练,最终解决了这个错误。code
如今也不能确定出现这个错误究竟是什么缘由,不过我上面的两个解决方案是可以解决这个问题的,而我在网上查找到的资料大部分也是数据集的缘由。后期若是再出现这个错误可是有了不一样的解决方法的时候,我会更新这篇博客的。blog