darkflow-AttributeError:“ NoneType”对象没有属性“ find”

时间:2018-08-29 09:24:19

标签: python image-processing machine-learning yolo darkflow

darkflow和python的新手。我正在尝试使用https://github.com/thtrieu/darkflow和yolo权重训练自己的数据集。我目前遇到错误:

AttributeError: 'NoneType' object has no attribute 'find'

在执行 pascal_voc_clean_xml.py 行时:'w =(imsize.find('width')。text)'

这是https://github.com/thtrieu/darkflow/blob/master/darkflow/utils/pascal_voc_clean_xml.py中代码的一部分:

in_file = open(file)
    tree=ET.parse(in_file)
    root = tree.getroot()
    jpg = str(root.find('filename').text)
    imsize = root.find('size')
    w = int(imsize.find('width').text)
    h = int(imsize.find('height').text)
    all = list()

    for obj in root.iter('object'):
            current = list()
            name = obj.find('name').text
            if name not in pick:
                    continue

            xmlbox = obj.find('bndbox')
            xn = int(float(xmlbox.find('xmin').text))
            xx = int(float(xmlbox.find('xmax').text))
            yn = int(float(xmlbox.find('ymin').text))
            yx = int(float(xmlbox.find('ymax').text))
            current = [name,xn,yn,xx,yx]
            all += [current]

    add = [[jpg, [w, h, all]]]
    dumps += add
    in_file.close()

这是我的xml文件:     enter image description here

我知道'find'是python中ElementTree.py的函数,但是为什么'find'函数不起作用呢?

2 个答案:

答案 0 :(得分:0)

检查注释(图像文件夹)中的数据

tibble(a = seq(1,10)) %>% write_csv("tmp.csv") rep("tmp.csv", 3) %>% map_dfr(., read_csv)

也许image00001.jpg的xml文件与您的错误代码无关。

某些其他xml文件将没有属性map_dfr(list_of_files, read_csv) for i, file in enumerate(annotations):

答案 1 :(得分:-1)

检查您的注释,必须有很少的XML文件,其中width或height属性为0。将其纠正。