解决方法
这边先直接给出我发现的解决方案
在你指定的训练文件中添加下面代码
metainfo = {
'classes': ('Bump_Mark_2-3_steps', 'Fire_Crack', 'Flange_wavy', 'GM-Guide_Mark-', 'Heavy_wear_out', 'Heavy_wear_out_on_both_top_flange', 'LC_-Longitudinal_Crack-', 'LNF_-Lock_not_Found-_on_South_flange_in_Sheet_Pile', 'Lap', 'Lap_-_Sliver_on_north_top_Junction', 'Lap_on_South_top_flange_tip', 'Lap_on_south_outer_flange_heavy_section', 'MDM_-Mill_Defect_Mechanical-_on_Web_on_web', 'RPB_-Roll_Burr_Pit-_on_Web', 'Step_in_flange', 'Twist_in_CR-80_Rail', 'Web_wavy', 'crack', 'porosity'
),
# 'palette': [
# (220, 20, 60),
# ]
}
把其中的类别换成你自己的
然后在加载数据集的地方添加metainfo=metainfo,
也就是在train_dataloader和test_dataloader和val_dataloader处的dataset=dict()里面加入
metainfo=metainfo,
不过要注意 可能你的训练文件只有继承某些py文件 像我的是继承了几个py文件,然后我上面这个是在coco_detection里面加的,详情看下面分析
(因为我训练的是coco类型的数据集 所以继承了这个coco_detection)
分析
我在mmdetection上面跑faster-rcnn,所有东西都设置好了 但还是爆了这个错误
首先我是在我这个py文件进行训练的
他的内容只有一行,就是继承coco的faster-rcnn
然后coco的faster-rcnn又继承了这3个文件
打开faster-rcnn_r50_fpn.py后发现没有上面所说的train_dataloader和test_dataloader和val_dataloader 然后去到coco_detection就看见有这三了
所以选择在coco_detection.py下加入上面代码
总的来说就是没有指定类别
当然也有可能你数据集路径没搞对,这些都有可能,可以自行gpt下