PaddlePaddle / PaddleX

All-in-One Development Tool based on PaddlePaddle(飞桨低代码开发工具)
Apache License 2.0
4.91k stars 958 forks source link

1、C++CPU预测 模型resnet50 使用MKLDNN后,跟踪代码进入ZeroCopyRun未正常返回,出现异常。2、异常具体信息如何捕获 #422

Open mingren8888 opened 3 years ago

mingren8888 commented 3 years ago

问题类型:模型部署 1、C++CPU预测 模型resnet50 使用MKLDNN后,跟踪代码进入ZeroCopyRun未正常返回,出现异常,catch(...){}可以捕获到。 2、异常具体信息如何捕获。 ========================

请在这里描述您在使用过程中的问题,说明您的部署环境,部署需求,模型类型和应用场景等,便于开发人员快速响应。

jiangjiajun commented 3 years ago

为了查证问题,建议你先不用修改C++代码,直接编译使用编译产出的classifier来加载分类模型,传入图片进行预测测试下是否会有问题

这里是我们测试的分类模型,里面附带测试图片 https://bj.bcebos.com/paddlex/models/mobilenetv3_small_ssld_imagenet.tar.gz 需要使用paddlex --export_inference命令导出模型后再给C++进行加载,参考文档https://paddlex.readthedocs.io/zh_CN/develop/deploy/export_model.html

mingren8888 commented 3 years ago

我找到原因了。编译库paddleinference使用的是mkldnn 1.3.0.0版本的lib。执行目录中用的是1.5.0.0版本的dll。 将执行目录中mkldnn.dll换为1.3.0.0后正常了。