PaddlePaddle / PaddleYOLO

🚀🚀🚀 YOLO series of PaddlePaddle implementation, PP-YOLOE+, RT-DETR, YOLOv5, YOLOv6, YOLOv7, YOLOv8, YOLOv10, YOLOX, YOLOv5u, YOLOv7u, YOLOv6Lite, RTMDet and so on. 🚀🚀🚀
https://github.com/PaddlePaddle/PaddleYOLO
GNU General Public License v3.0
547 stars 133 forks source link

模型推理和导出时报错 #170

Closed jia0511 closed 1 year ago

jia0511 commented 1 year ago

问题确认 Search before asking

请提出你的问题 Please ask your question

训练正常,训练后单张推理图片如下: python tools/infer.py -c configs/custom/yolov5_s_100e_coco_zhatuche.yml -o weights=output/yolov5_s_100e_coco_zhatuche/model_final.pdparams --infer_img=test0626/5.jpg --save_results True 导出模型推理如下: python tools/export_model.py -c configs/custom/yolov5_s_100e_coco_zhatuche.yml --output_dir=inference_model -o weights=output/yolov5_s_100e_coco_zhatuche/model_final.pdparams

报错信息如下: Traceback (most recent call last): File "tools/export_model.py", line 107, in main() File "tools/export_model.py", line 103, in main run(FLAGS, cfg) File "tools/export_model.py", line 64, in run trainer = Trainer(cfg, mode='test') File "/home/ubuntu/data1/PaddleYOLO/ppdet/engine/trainer.py", line 83, in init self.dataset = self.cfg['{}Dataset'.format(capital_mode)] = create( File "/home/ubuntu/data1/PaddleYOLO/ppdet/core/workspace.py", line 292, in create return cls(**cls_kwargs) File "/home/ubuntu/data1/PaddleYOLO/ppdet/data/source/dataset.py", line 278, in init type = dataset_args.pop("name") KeyError: 'name'

nemonameless commented 1 year ago

推理和导出是看 TestDataset 和 TestReader 的设置,这两个config里的地方检查下看看。

jia0511 commented 1 year ago

如果我们的配置文件想设置类别名字在哪个配置文件里,还是会读json标签自动识别

jia0511 commented 1 year ago

这个问题已经解决,在数据集配置文件中加入TestDataset ,参考https://github.com/PaddlePaddle/PaddleYOLO/blob/release/2.6/docs/MODEL_ZOO_cn.md