使用环境:
paddlepaddle 2.3.0
paddleClas 2.4.0
采用c++版本推理,采用的模型为ResNet50导出的inference model,配置文件inference_cls.yaml中默认enable_mkldnn: True,即默认开启mkldnn加速
单进程依次对一万张图片进行图片分类,每次运行若干张图片后(每次报错时的图片均不相同)均会报错:
terminate called after throwing an instance of 'dnnl::error'
what(): could not execute a primitive
通过查看源码,认为该报错来源为:https://oneapi-src.github.io/oneDNN/v2/getting_started_cpp.html
同时查看paddle的issue,有同样的报错:PaddlePaddle/Paddle#34492
因此尝试设置enable_mkldnn: False,测试发现不再有报错
因此认为该报错是由于mkldnn引起,但无法确定是由于paddleClas的代码导致还是由于paddle代码未修复成功导致,亦或由于paddle的mkldnn加速不支持ResNet50导致
恳请各位大神协助解决
使用环境:
paddlepaddle 2.3.0
paddleClas 2.4.0
采用c++版本推理,采用的模型为ResNet50导出的inference model,配置文件inference_cls.yaml中默认enable_mkldnn: True,即默认开启mkldnn加速
单进程依次对一万张图片进行图片分类,每次运行若干张图片后(每次报错时的图片均不相同)均会报错:
terminate called after throwing an instance of 'dnnl::error'
what(): could not execute a primitive
通过查看源码,认为该报错来源为:https://oneapi-src.github.io/oneDNN/v2/getting_started_cpp.html
同时查看paddle的issue,有同样的报错:PaddlePaddle/Paddle#34492
因此尝试设置enable_mkldnn: False,测试发现不再有报错
因此认为该报错是由于mkldnn引起,但无法确定是由于paddleClas的代码导致还是由于paddle代码未修复成功导致,亦或由于paddle的mkldnn加速不支持ResNet50导致
恳请各位大神协助解决