c++ - OpenVINO GPU性能优化

标签 c++ computer-vision inference openvino

我正在尝试加快人员计数器应用程序的推理速度,为了使用GPU,我已经按如下所述设置了推理引擎配置设置:

device_name = "GPU"
ie.SetConfig({ {PluginConfigParams::KEY_CONFIG_FILE, "./cldnn_global_custom_kernels/cldnn_global_custom_kernels.xml"} }, device_name);

并在推理引擎上加载网络,我已如下所述设置了目标设备:
CNNNetwork net = netReader.getNetwork();

TargetDevice t_device = InferenceEngine::TargetDevice::eGPU; 

network.setTargetDevice(t_device);

const std::map<std::string, std::string> dyn_config = { { PluginConfigParams::KEY_DYN_BATCH_ENABLED, PluginConfigParams::YES } };

ie_.LoadNetwork(network,device_name, dyn_config);

但是推理引擎尚未使用CPU,这会减慢推理时间。有没有一种方法可以在最大功率下使用Intel GPU在特定网络上进行推理?我正在使用人员检测零售0013模型。

谢谢。

最佳答案

您是说人检测零售0013吗?因为我尚未在open_model_zoo存储库中找到“walker-detection-retail-013”。

在使用GPU时,您可能会发现速度变慢。您测试的网络具有以下几层作为网络拓 flutter 的一部分:PriorBox,DetectionOutput。如文档所述,这些层在CPU上执行:https://docs.openvinotoolkit.org/latest/_docs_IE_DG_supported_plugins_CL_DNN.html
我猜测这可能是放缓的原因。

但是要100%确定,我建议运行Benchmark_app工具对模型进行基准测试。该工具可以打印有关每个图层的详细性能信息。它应该有助于揭示减速的真正根源是什么。有关基准测试应用程序的更多信息,请参见:https://docs.openvinotoolkit.org/latest/_inference_engine_samples_benchmark_app_README.html

PS:关于IE API使用的一些建议。 network.setTargetDevice(t_device);-setTargetDevice是不推荐使用的方法。像您的示例一样,使用LoadNetwork设置设备就足够了:ie_.LoadNetwork(network,device_name, dyn_config);
希望它会有所帮助。

关于c++ - OpenVINO GPU性能优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59953314/

相关文章:

machine-learning - 高斯贝叶斯网络中的推理

c++ - cout 输入流有无 (void*)

c++ - .cpp 文件需要 "Multiple Include Guard"吗?

c++ - 使用 C++ 捕获 MacBook Pro iSight 视频

statistics - 机器学习中的推理和决策理论之间有什么关系?

pandas - 如何在 pandas 数据框上使用 sagemaker 进行预测

c++ - 我应该先学习哪个: Boost or Qt

c++ - 内核态和用户态共享内存。如何共享句柄?

c++ - OpenCV 将视频保存到文件

opencv - 如何加快 svm.predict 的速度?