28 OPENVINO advanced course2

1 上传性能评估脚本到DevCloud

1.1初始实验路径
#定义OpenVINO 文件夹

export OV=/opt/intel/openvino_2021/

#定义工作目录

export WD=~/OV-300/02/LAB1/

#初始化OpenVINO

source $OV/bin/setupvars.sh

#进入实验目录

cd $WD

1.2查看当前设备信息
通过OpenVINO自带脚本可以查询当前环境的设备信息:

python3 $OV/inference_engine/samples/python/hello_query_device/hello_query_device.py

1.3DevCloud 介绍
英特尔® DevCloud 提供对各种英特尔® 架构CPU/GPU/NCS2/智能硬件等设备的免费访问,帮助您获得英特尔® 软件的即时动手体验,并执行您的边缘、人工智能、高性能计算 (HPC) 和渲染工作负载。借助预装的英特尔® 优化框架、工具(OpenVINO Toolkit, OneAPI)和库,您拥有快速跟踪学习和项目原型制作所需的一切。

本次实验提供了4个可用节点:

idc004nc2: Intel - core i5-6500te, intel-hd-530,myriad-1-VPU

idc007xv5: Intel - xeon e3-1268l-v5, intel-hd-p530

idc008u2g: Intel - atom e3950, intel-hd-505,myriad-1-VPU

idc014:Intel - i7 8665ue, intel-uhd-620

注:NCS2中文名为第二代神经计算棒,是英特尔公司推出的边缘计算设备,体积和U盘相似,接口为USB3.0,内置Myriad X计算芯片,功耗仅为2W,理论算力可达1TOPS。OpenVINO可以通过“MYRIAD”的插件将深度学习模型部署在上面。

1.4上传Benchmark_App.py至DevCloud中运行
我们将需要运行的代码提交至idc004nc2节点中执行:

python3 submit_job_to_DevCloud.pyc idc004nc2

PS:因为有一定的网络延迟,若命令无反应,可重复尝试几次该命令。

请耐心等待实验状态成为“C”,脚本执行完成,上传的脚本位于当前文件目录下,名为userscript.py, 其功能是将OpenVINO的人脸识别模型运行在NCS2上以得到性能参数。

1.5比较不同CPU下NCS2的性能
根据刚才上传的指令,将同样的代码上传至idc008u2g节点。

上传指令为:

python3 submit_job_to_DevCloud.pyc “目标节点名称”

PS:该指令默认上传当前目录下的userscript.py脚本。

请对比不同CPU(Atom和 Core)的条件下,NCS2的性能是否有差异?

1.6挑战任务1:将推理任务部署在节点的不同推理设备上
修改userscript.py:

vi userscript.py

在第43行: target_device= “MYRIAD”

注:可使用“:wq”指令保存更改并退出该界面。

你可以在这里选择你想要运行的设备:"CPU/GPU/MYRIAD”

CPU:对应 英特尔中央处理器

GPU:对应 英特尔集成显卡

MYRIAD:这个名称对应的设备是刚才提到的NCS2

这里你可以自行发挥,尝试使用不同的设备 或者Devcloud节点运行这个性能测试脚本

1.7挑战任务2:打印出NCS2的工作温度
请根据:hello_query_device.py 代码中的关于温度显示的片段,更改userscript.py,使之可以显示当前NCS2的工作温度。

请在userscript.py的 line:136 后 添加适当的代码,来显示当前NCS2的温度。

提示:请在确保target_device为“MYRIAD”的前提下,使用函数:self.ie.get_metric(metric_name=“DEVICE_THERMAL”,device_name=‘MYRIAD’ ) 获取温度。

答案userscript…py 位于上一级目录的Solution文件夹中,你可以复制到当前文件夹进行使用。

2.利用多硬件协同推理

2.1 初始化实验目录
#定义OV目录

export OV=/opt/intel/openvino_2021/

#定义工作目录

export WD=~/OV-300/02/LAB2/

#初始化OpenVINO

source $OV/bin/setupvars.sh

#进入工作目录

cd $WD

2.2 不同模型的性能测试
我们为你准备了三个模型:

face-detection-adas-0001.xml

head-pose-estimation-adas-0001.xml

text-spotting-0003-recognizer-encoder.xml

请对userscript.py进行编辑:

在line 44: path_to_model="/app/face-detection-adas-0001.xml" 中对 face-detection-adas-0001.xml 进行替换,即可测试不同的模型

2.3 使用多硬件协同推理
OpenVINO提供了多硬件协同推理的“MULTI”插件,你只需要编译Target_device的对象,不需要改动原先代码,便可以实现协同推理。

例如:target_device=“MULTI:CPU,GPU” , 即可使用CPU+GPU协同推理 ,其中CPU(1st priority) and GPU (2nd priority)。

注:本实验所有的GPU均为英特尔集成显卡,在进行实验之前,请务必确认运行的节点包含GPU设备(某些型号的至强处理器不包含GPU设备)。MYRIAD也是同理,请在实验前确保实验节点拥有该硬件!

2.4 进行性能对比实验
28 OPENVINO advanced course2_第1张图片

2.5 Intel DevCloud引导
由于实验内容有限,暂时不列举其他DevCloud平台上有趣的动手实验,以及超过30种边缘设备,Atom,Xeon,Core应有尽有,更有11代TigerLake CPU设备等你来试,感兴趣的同学请自行移至英特尔DevCloud官网进行体验。

你可能感兴趣的:(OPEN,VINO,神经网络,机器视觉,机器学习,数据分析,深度学习)