Peyton

Results 66 comments of Peyton

@DL19970112 2007_train.txt存在内容说明 https://github.com/pprp/voc2007_for_yolo_torch/blob/master/create_all.py#L41 这部分没有问题。 txt文件全空说明https://github.com/pprp/voc2007_for_yolo_torch/blob/784128b41aaca68d11c913820655e32b211d98a9/create_all.py#L46 这部分出现问题,建议仔细检查一下create_all函数中需要设置的参数是否正确

这是他数据集特殊的要求,具体你可以查看datasets.py。 所以需要按照readme中描述的格式整理数据集。 代码已经集成好了,改一下create_all中的参数即可生成。

你需要修改2007_train.txt和2007_test.txt中的内容,让其指向images/train2014/0001.jpg。 另外应该采用readme中的版本,上一个comment中的结构是不正确的。 具体为何要这么做,你可以看一下yolov3里边的datasets.py文件,你就可以明白了。 简单来说是通过.data文件找到2007_train.txt文件,访问其中的具体图片路径如: /home/xxx/VOCdevkit/VOC2007/images/train2014/111.jpg 而对应label的获取是通过将images字段直接替换为labels字段,jpg替换为txt,也就是: /home/xxx/VOCdevkit/VOC2007/labels/train2014/111.txt 这样访问到对应的xml文件,这就是为何要按照以上格式进行准备数据集。

images/val2014/XX.jpg由.data文件中的valid=2007_test.txt文件指向的。 对应的txt文件应该是:labels/val2014/XX.txt 第二个问题的话你说的实现方式也是可以的,这里只是遵循了原作者建议的目录结构。 我个人觉得目前这种比较方便,分开处理比较好。

机器学习中最规范的做法是划分训练集、验证集、测试集。但是有时候开发的项目的时候会选择将训练集和验证集合并,整体作为训练集,然后直接在测试集上进行测试模型效果。 将2007_train.txt和2007_val.txt合并得到train.txt代表的是以上过程。 当然也可以按照规范的做法,在训练集上训练,每个epoch结束后在验证集上测试结果。 直到选择出最好的模型,最终再到测试集上测试结果。 ``` classes=1 train=./data/2007_train.txt valid=./data/2007_val.txt # valid=./data/2007_test.txt # 测试的时候取消注释使用2007_test.txt中内容进行测试 names=data/template.names backup=backup/ eval=coco ```

NoneType说明没有找到对象,检查一下文件路径

可以icdar转成voc格式,然后再用这部分代码转。不是很难,花点功夫就好了