darkflow - AttributeError: у объекта 'NoneType' нет атрибута 'найти' - PullRequest
0 голосов
/ 29 августа 2018

новичок в Darkflow и Python. я пытаюсь тренировать свои собственные наборы данных, используя https://github.com/thtrieu/darkflow и веса йоло. У меня сейчас ошибки:

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

при выполнении pascal_voc_clean_xml.py строка 41: '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' - это функция из ElementTree.py в python, но почему она не работает так, как должно быть?

1 Ответ

0 голосов
/ 11 февраля 2019

проверка ваших данных в аннотациях (папка с изображениями)

for i, file in enumerate(annotations):

Возможно, xml-файл image00001.jpg не имеет значения с вашим кодом ошибки.

Некоторые другие xml-файлы не имеют атрибута size или width.

...