PaddleDetection icon indicating copy to clipboard operation
PaddleDetection copied to clipboard

训练时正常,评估时报错

Open hice1207 opened this issue 3 years ago • 7 comments

问题描述 Please describe your issue

Traceback (most recent call last): File "tools/infer.py", line 178, in main() File "tools/infer.py", line 174, in main run(FLAGS, cfg) File "tools/infer.py", line 135, in run save_results=FLAGS.save_results) File "C:\Users\H1CE\Desktop\PaddleDetection-release-2.4\ppdet\engine\trainer.py", line 641, in predict batch_res = get_infer_results(outs, clsid2catid) File "C:\Users\H1CE\Desktop\PaddleDetection-release-2.4\ppdet\metrics\coco_utils.py", line 53, in get_infer_results outs['bbox'], outs['bbox_num'], im_id, catid, bias=bias) File "C:\Users\H1CE\Desktop\PaddleDetection-release-2.4\ppdet\metrics\json_results.py", line 37, in get_det_res category_id = label_to_cat_id_map[int(num_id)] KeyError: 1 通过自己打断点发现最后的abel_to_cat_id_map出现1时报错,应该是检测为另外不在标签内的物体,请问这个问题怎么解决。

hice1207 avatar Jul 27 '22 05:07 hice1207

数据集一共有多少类

lyuwenyu avatar Jul 27 '22 08:07 lyuwenyu

数据集一共有多少类

就一类,单一目标检测

hice1207 avatar Jul 27 '22 08:07 hice1207

一类的话为啥会有1 不应该只有个0嘛 ,, 你配置文件里写的是几

lyuwenyu avatar Jul 27 '22 08:07 lyuwenyu

一类的话为啥会有1 不应该只有个0嘛 ,, 你配置文件里写的是几

num_classes: 1

hice1207 avatar Jul 27 '22 08:07 hice1207

这 确定eval数据集里只有一个类嘛 , train数据集训练 train测试有没有问题

lyuwenyu avatar Jul 27 '22 09:07 lyuwenyu

一类的话为啥会有1 不应该只有个0嘛 ,, 你配置文件里写的是几

这 确定eval数据集里只有一个类嘛 , train数据集训练 train测试有没有问题

可以train但是eval会出错,就是刚刚那个问题,好像就是给出了一个不在列表里的种类

hice1207 avatar Jul 27 '22 09:07 hice1207

这 确定eval数据集里只有一个类嘛 , train数据集训练 train测试有没有问题

算了我重新下载一遍配置文件吧,之前改了不少东西不知道是哪里出的问题

hice1207 avatar Jul 27 '22 09:07 hice1207

你使用的是自己的数据集么,数据集只有5类的话吧对应的configs/datasets/xxx.yml里的num_classes修改成5

huangye123 avatar May 19 '23 15:05 huangye123