欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

OutOfRangeError (see above for traceback): PaddingFIFOQueue '_1_get_batch/batch/padding_fifo_queue'

程序员文章站 2024-03-18 11:00:16
...

博主在用原始的NWPU VHR-10数据集进行训练的时候遇到这个错误,最后发现是原始数据集中的标签文件的长和宽被统一成了256x256,与实际图片的尺寸不符合就会引发这个错误,将xml文件中的width和height设置为真实值就可以了。代码如下:

from xml.etree.ElementTree import ElementTree,Element
import os
import cv2
 
def read_xml(in_path):
    tree = ElementTree()
    tree.parse(in_path)
    return tree
 
 
if __name__ == '__main__':
  source_pic_root_path = '/home/user8/Desktop/Calculate the size of target/nwpu/JPEGImages/'
  source_xml_root_path = '/home/user8/Desktop/Calculate the size of target/nwpu/Annotations/'
  for parent, _, files in os.walk(source_pic_root_path):
    for file in files:
        pic_path = os.path.join(parent, file)
        img = cv2.imread(pic_path)
        size = img.shape
        xml_path = os.path.join(source_xml_root_path, file[:-4] + '.xml')
        tree = read_xml(xml_path)
        root = tree.getroot()
        for h_node in root.iter('height'):
            height = str(size[0])
            h_node.text = height
 
        for w_node in root.iter('width'):
            width = str(size[1])
            w_node.text = width
        tree.write(xml_path)

出现这种错误一般都不是代码的问题。