一、演示示例
该实例包括cpp和python两个版本,推理引擎可以感知到系统中所有的可用设备,可以查看哪些设备已经连接并可以使用。
代码实现逻辑:
①创建InferenceEngine Core类对象,不需要指定任何特定设备;
②查看系统中可用设备;
③查看这些设备所支持的结构;
④将默认配置参数打印到屏幕上。
缩写说明:
CPU:中央处理器
GPU:图形处理器
GNA:高速网络加速器,用于增强音频功能实时背景噪音,抑制并降低CPU工作负载
二、解决方案
操作前提:确定已经创建了OpenVINO环境并且设置好了工作目录。
工作目录中共有GoogleNet-V2、head-pose-estimation-adas-0001、text-spotting-0003-recognizer-encoder等3个模型,下面将分别对它们进行对比分析。
1、Googlenet-V2模型
-
1)使用CPU运行情况:
-
2)使用GPU运行情况:
-
3)使用MYRIAD运行情况:
-
4)使用MULTI运行情况:使用MULTI插件使这些设备同时运行模型推理评估应用。
2、Head Pose Estimation(头部姿态估计)
- 1)使用CPU运行情况:
- 2)使用GPU运行情况:
- 3)使用MYRIAD运行情况:这里值得注意的是,并非所有设备都支持该模型的推理任务,MYRIAD设备无法运行该模型的推理任务。
- 4)使用MULTI运行情况:鉴于MYRIAD设备无法在该模型上运行推理任务,仅在CPU和GPU上运行MULTI插件,让CPU和GPU协同处理推理任务。
3、Text Spotting Encoder(文本识别编码器)
参照上述类似操作,分别在CPU、GPU、MYRIAD、MULTI分别进行运行,在本人设备(基于各自使用的硬件设施不同,得出的结果可能会完全不同)运行得出的结果如下:
结论:在大多数情况下,在任何测试任务上使用MULTI插件所得出的结果比单独运行各个设备要好。