我正在尝试加速一个人员计数器应用程序的推理速度,为了使用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,这就减慢了推理时间。有没有一种方法可以最大限度地使用英特尔GPU在特定网络上进行推理?我使用的是人-检测-零售-0013模型。
谢谢。
发布于 2020-01-29 04:31:24
你是说人-侦测-零售-0013?因为我还没有在open_model_zoo仓库里找到行人检测零售-013。
这可能是您在使用GPU时看到速度减慢的预期。您测试的网络包含以下层作为网络拓扑的一部分: PriorBox、DetectionOutput。这些层是在CPU上执行的,正如文档所说:https://docs.openvinotoolkit.org/latest/_docs_IE_DG_supported_plugins_CL_DNN.html我猜这可能是速度减慢的原因。
但为了百分之百确定,我建议运行benchmark_app工具来对模型进行基准标记。该工具可以打印每一层的详细性能信息。它应该有助于阐明经济放缓的真正根源是什么。有关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);
希望这能有所帮助。
https://stackoverflow.com/questions/59953314
复制相似问题