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