Closed tumi678 closed 2 years ago
这与ONNX的执行策略有关, Paddle-Inference 做了很多算子融合的加速策略,因此速度很快。
由于模型中存在大量shape和constant的操作,这几个op计算在onnx中必须执行在CPU上,为了避免数据拷贝,onnx把网络结构前后整块操作都放在了cpu上,导致识别模型预测速度很慢。
如果没有特殊理由的话,建议直接使用paddle-inference预测
这与ONNX的执行策略有关, Paddle-Inference 做了很多算子融合的加速策略,因此速度很快。
由于模型中存在大量shape和constant的操作,这几个op计算在onnx中必须执行在CPU上,为了避免数据拷贝,onnx把网络结构前后整块操作都放在了cpu上,导致识别模型预测速度很慢。
如果没有特殊理由的话,建议直接使用paddle-inference预测
用官方提供的那个rec模型ch_ppocr_server_v2.0_rec_infer,转为onnx之后速度在cpu上快了很多,一样的配置文件,自己数据训练的模型转为onnx,速度下降了好几倍
官方提供的此模型:ch_ppocr_server_v2.0_rec_infer,使用paddle的predict_rec在本地I5,CPU上的推理100多张图,耗时22s,转为onnx模型,使用numpy输入后,只需要3s多。但是自己一样的ch_ppocr_server_v2.0_rec_infer配置文件,训练的模型转为onnx之后却耗费30S左右,官方大大知道这是什么原因吗,百思不得其解
官方提供的此模型:ch_ppocr_server_v2.0_rec_infer,使用paddle的predict_rec在本地I5,CPU上的推理100多张图,耗时22s,转为onnx模型,使用numpy输入后,只需要3s多。但是自己一样的ch_ppocr_server_v2.0_rec_infer配置文件,训练的模型转为onnx之后却耗费30S左右,官方大大知道这是什么原因吗,百思不得其解
有办法改善onnx速度了吗?
请提供下述完整信息以便快速定位问题/Please provide the following information to quickly locate the problem