Q1: 训练模型的预测效果比inference模型的预测效果差距很大,怎么办?原因是什么?
A1:
训练模型:使用训练数据集进行训练后的模型。
inference模型:把模型结构和模型参数保存在文件中的固化模型,多用于预测部署场景。训练过程中保存的模型是checkpoints模型,保存的只有模型的参数,多用于恢复训练等。 与checkpoints模型相比,inference 模型会额外保存模型的结构信息,在预测部署、加速推理上性能优越,灵活方便,适合于实际系统集成。
使用训练模型进行预测:
python tools/infer_det.py -c configs/(配置文件) -o Global.pretrained_model=./(训练后的最优模型参数) Global.infer_img=./预测图片
使用inference模型进行预测:
1、导出inference模型:
python tools/export_model.py -c configs/(配置文件) -o Global.pretrained_model=./(训练后的最优模型参数) Global.save_inference_dir=./(inference模型保存路径)
2、inference模型预测:
python tools/infer/predict_det.py --det_algorithm=“DB” --det_model_dir=./(inference模型路径) --image_dir=“预测图片” --use_gpu=True
使用以上两种模型进行预测,差异较大!
官方解释: