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文件:
我知道'find'是python中ElementTree.py的函数,但是为什么'find'函数不起作用呢?
答案 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。将其纠正。