训练VOC格式数据集时导入Annotations出现:IndexError:too many indices for array
出现的问题:
这里是从xml文件中读取的bounding boxes(也就是xml中的bndbox)出现了问题:
从datasets.py文件找到这个函数读取到的boxes信息是空的,也就是读取不到标定框的两个角的位置信息:
回头看了一下datasets.py这个脚本,发现手动写入的class_names是大写,改成小写之后就可以正常读入bndbox数据了。
改前:
改后:
debug流程:
将train.py中的batch_size设为1,训练集的DataLoader中shuffle设为False这样就可以按照txt中的文件顺序逐张图片导入,方便后续检查
如果根据上述说明仍然存在bug,那么就要查看一下xml文件是不是有问题
可以利用labelImg软件进行verify强制转换,再进行测试。
例如:
verify转换后:这样操作之后导入的数据是可以正常训练的,反正我是没问题了。
如果要大批量处理的话可以自行写一个脚本,用软件转换效率太低。
第一次发帖子,写得不太好,反正你懂意思就好啦,谢谢各位指正!