argusswift / YOLOv4-pytorch

This is a pytorch repository of YOLOv4, attentive YOLOv4 and mobilenet YOLOv4 with PASCAL VOC and COCO
1.68k stars 329 forks source link

训练自己的数据集的时候怎么放置啊?一定设置成voc2007与voc2012的形式吗? #23

Open haobabuhaoba opened 4 years ago

haobabuhaoba commented 4 years ago
[2020-10-06 21:13:34,984]-[train.py line:164]:===== Validate =====
Traceback (most recent call last):
  File "train.py", line 212, in <module>
    fp_16=opt.fp_16).train()
  File "train.py", line 166, in train
    APs, inference_time = Evaluator(self.yolov4, showatt=False).APs_voc()
  File "D:\hua\YOLOv4-pytorch\eval\evaluator.py", line 32, in APs_voc
    with open(img_inds_file, 'r') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'D:\\hua\\YOLOv4-pytorch/data\\VOCtest-2007\\VOCdevkit\\VOC2007\\ImageSets\\Main\\test.txt'
kunyaoli commented 4 years ago

可以修改 在val那个代码里面。 我也是这里碰到的问题

haobabuhaoba commented 4 years ago

20 self.val_data_path = os.path.join(cfg.DATA_PATH, 'VOCtest-2007', 'VOCdevkit', 'VOC2007') 是evaluator.py中的吧,后来我改了可以运行了,但是我的训练特别慢、GPU利用率也低 image

haobabuhaoba commented 4 years ago

image xiang想请问一下,我就一类物体他的MAP怎么超过了1,test_map=1.973另外花费的时间也挺长的,不知道这个有没有问题

haobabuhaoba commented 4 years ago

可以修改 在val那个代码里面。 我也是这里碰到的问题

请教一下具体怎么检测自己的数据集呢,我训练完了,然后检测的时候总是说我的路径问题,找不到test.txt文件 Please tell me how to detect my own dataset. After training, it always say that my path is wrong when I detect it. and can't find the test.txt file.

kunyaoli commented 4 years ago

可以修改 在val那个代码里面。 我也是这里碰到的问题

请教一下具体怎么检测自己的数据集呢,我训练完了,然后检测的时候总是说我的路径问题,找不到test.txt文件 Please tell me how to detect my own dataset. After training, it always say that my path is wrong when I detect it. and can't find the test.txt file.

我也是改的这里evaluator.py,当时是提示我找不到xml文件。你在训练的时候train.txt是归一化的格式吗?

haobabuhaoba commented 4 years ago

可以修改在val那个代码里面。我也是这里碰到的问题

请教一下具体怎么怎么检测自己的数据集呢,我训练完了,然后检测的时候总是说我的路径问题,找到test.txt文件 请告诉我如何检测自己的数据集。训练后,它总是说我的路径是错误的。并且找不到test.txt文件。

我也是改的这里evaluator.py,当时是提示我找不到xml文件。你在训练的时候train.txt是归一化的格式吗?

归一化的

haobabuhaoba commented 4 years ago

可以修改在val那个代码里面。我也是这里碰到的问题

请教一下具体怎么怎么检测自己的数据集呢,我训练完了,然后检测的时候总是说我的路径问题,找到test.txt文件 请告诉我如何检测自己的数据集。训练后,它总是说我的路径是错误的。并且找到test.txt文件。

我也是改的这里evaluator.py,当时是提示我找不到xml文件。你在训练的时候train.txt是归一化的格式吗?

归一化的

能加个好友讨论一下吗?微信(18633038312)原作者没有回复我,我在他的博客也提问了,也没理我。我现在训练结束了,但是检测的时候又是路径出问题了。

argusswift commented 4 years ago

image xiang想请问一下,我就一类物体他的MAP怎么超过了1,test_map=1.973另外花费的时间也挺长的,不知道这个有没有问题

我的MAP定义为百分制,不是0-1。测试的map值低很有可能说明你训练不完全,这样导致测试的过程会产生过多的冗余框,NMS的过程所占的时间将会变长,所以你测试的时候会花费较长的时间。

hardworking-jws commented 4 years ago

你也是做绝缘子检测吗?是遥感影像还是无人机影像

wasedd commented 3 years ago

怎么修改这个,我也遇到了。是在evaluator.py文件修改的么

wasedd commented 3 years ago

self.val_data_path = os.path.join(cfg.DATA_PATH, 'VOCtest-2007', 'VOCdevkit', 'VOC2007')

这个具体怎么改,大佬,如果看得见的话

wasedd commented 3 years ago

可以修改 在val那个代码里面。 我也是这里碰到的问题

大哥,具体在哪修改,可以告诉一下的么

STRIVESS commented 3 years ago

请教一个问题,我这边训练的数据有三个类别(escalator step stairs),我这边JPEGImages和Annotations文件夹中的图片和xml文件命名都是:类别+序号(比如:escalator100.jpg 和 escalator100.xml ),都是一一对应,VOC格式

但是我根据README.md的步骤,第三步是要用根据自己的情况来配置voc.py脚本,我大概看了一下脚本,它是根据遍历图片的名称序号来读取图片所在路径

https://github.com/argusswift/YOLOv4-pytorch/blob/a0627679f38af811a8311a3d12213fe789ce1e6b/utils/voc.py#L38

但是我这边训练的图片是以类别+序号来命名的,好像是没有办法直接用这个脚本,请问要怎样修改才能训练自己的数据集?

Transfer to your own dataset(train your own dataset)

  1. Put pictures of your dataset into the JPEGImages folder, and Annotations files into the Annotations folder.
  2. Use the xml_to_txt.py file to write the list of training and test files to ImageSets/Main/*.txt.
  3. Convert data format :use utils/voc.py or utils/coco.py convert the pascal voc .xml format (COCO .json format)to *.txt format (Image_path xmin0,ymin0,xmax0,ymax0,class0 xmin1,ymin1,xmax1,ymax1,class1 ...).