模型加速之openvino

      开发人员通过使用OpenVINO工具包开发多平台计算机视觉解决方案,可以在云中构建和训练AI模型 - 在TensorFlow,MXNet和Caffe等流行框架上 - 并将它们部署到广泛的产品中。该工具包基于卷积神经网络(CNN),包括一个函数库和预优化内核,可在边缘实现基于CNN的深度学习推理,并优化对OpenCV和OpenVX的调用。它还支持跨计算机视觉加速器(CPU,GPU,Intel Movidius Neural Compute Stick和FPGA)的异构执行 - 使用通用API来完成。

1.什么是OpenVINO工具包

      OpenVINO™工具包可快速部​​署模拟人类视觉的应用程序和解决方案。该工具包基于卷积神经网络(CNN),可扩展英特尔®硬件的计算机视觉(CV)工作负载,从而最大限度地提高性能。OpenVINO™工具包包括深度学习部署工具包(DLDT)。

OpenVINO工具包:

  • 在边缘启用基于CNN的深度学习推理
  • 支持跨英特尔®CPU,英特尔®集成显卡,英特尔®FPGA,英特尔®Movidius™神经计算棒,英特尔®神经计算棒2和采用英特尔®Movidius™VPU的英特尔®视觉加速器设计的异构执行
  • 通过易于使用的计算机视觉功能库和预优化的内核,加快产品上市速度
  • 包括针对计算机视觉标准的优化调用,包括OpenCV *,OpenCL™和OpenVX *

2.OpenVINO包括组件:

  • 深度学习部署工具包(DLDT)
    • 深度学习模型优化器 - 一种跨平台的命令行工具,用于导入模型并使用推理引擎为最佳执行做好准备。模型优化器导入,转换和优化模型,这些模型在流行的框架中训练,例如Caffe *,TensorFlow *,MXNet *,Kaldi *和ONNX *。
    • 深度学习推理引擎 - 一种统一的API,允许对许多硬件类型进行高性能推断,包括英特尔®CPU,英特尔®集成显卡,英特尔®Movidius™神经计算棒,英特尔®神经计算棒2和采用英特尔®的英特尔®视觉加速器设计Movidius™VPU
    • 演示和示例 - 一组简单的控制台应用程序,演示如何在应用程序中使用推理引擎
    • 工具 - 一组简单的控制台工具,用于校准和测量模型的精度
    • 预先训练的模型 - 一套用于学习和演示目的的预训练模型或开发深度学习软件
  • OpenCV - 为英特尔®硬件编译的OpenCV *社区版本包括用于计算机视觉的PVL库。
  • OpenCL™2.1版的驱动程序和运行时
  • Intel®MediaSDK
  • OpenVX * - 英特尔针对在英特尔®硬件(CPU,GPU,IPU)上运行而优化的OpenVX *实施。

3.支持平台与硬件:

      不同的系统与硬件要求如下:

windows

  • 第6代 - 第8代Intel®Core™
  • 英特尔®至强®v5系列
  • 英特尔®至强®v6系列
  • 英特尔®Movidius™神经计算棒
  • 英特尔®神经计算棒2
  • 采用Intel®Movidius™VPU的英特尔®视觉加速器设计

macOS * 10.14

  • 第6代 - 第8代Intel®Core™
  • 英特尔®至强®v5系列
  • 英特尔®至强®v6系列

linux(Ubuntu 16.04.x长期支持(LTS),64位:支持的最低内核为4.14;CentOS 7.6,64位; Yocto Project Poky Jethro v2.0.3,64位(仅限目标并需要修改)

  • 第6代 - 第8代Intel®Core™
  • 英特尔®至强®v5系列
  • 英特尔®至强®v6系列
  • 采用英特尔®高清显卡的英特尔®奔腾®处理器N4200 / 5,N3350 / 5,N3450 / 5
  • 英特尔®Movidius™神经计算棒
  • 英特尔®神经计算棒2
  • 采用Intel®Movidius™VPU的英特尔®视觉加速器设计

4、安装openvino

      这里根据自己适配的系统,结合官网的教程进行配置。以自己在Windows10 64位下的安装步骤为例,进行如下的阐述,

(1)安装vs

      这里版本随你选,可以是15,17,19的,根据需求选择(社区版或专业版都可以),安装位置可以选择默认C盘,也可以放在其他盘。下载链接:https://docs.microsoft.com/zh-cn/visualstudio/releasenotes/vs2019-relnotes.需要注意的是安装需要带上MSbuild包,这个后面有很大用。。。

(2)安装cmake

     安装cmake,主要是为了编译源码文件,这里安装的版本需要在3.4以上,若vs选择是19那么cmake最好为3.14版本,下载链接https://cmake.org/download/,,下载后可以将其加入到环境变量中,

然后在命令行下输入cmake --version,输出对应版本即表示安装成功。

(3)安装python

     想要用cpu来对深度学习模型进行加速的,大家python环境肯定都已经弄好了,这里不再赘述,如果第一次安装的话,可以试试anaconda,一步步来就能帮你配置好python环境了。

(4)安装openvino

     按照官网的说法推荐安装最新版的,点击下载,简单注册一下就可以免费下载了。这里我下载的是20.1版,下载完成是一个exe文件,然后点击运行,这里选择默认的安装位置,然后出现如下界面

openvino-install-windows-01.png

接着next一步步进行,最后如果出现下面界面,表示前面的依赖项没有安装成功,自己可以回退去检查下环境变量等。

openvino-install-windows-02.png

当一切都安装好后,你会在c盘路径发现

这样安装就告一段落了。

5、测试示例

      当前面安装步骤都完成后,如何来测试下openvino呢?官网文档提供了测试demo,可以按以下步骤来进行实验

(1)设置环境变量

      运行openvino之前,需要对环境进行提前配置,win+r进入dos下,然后运行下面指令

cd C:\Program Files (x86)\IntelSWTools\openvino\bin\  ##若不是默认安装路径,酌情修改

setupvars.bat

显示success即表示设置成功。

(2)安装目标网络框架需要的包

     openvino提供了Caffe*, TensorFlow*, MXNet*, and ONNX*等几种形式的接口(torch需要先转化为onnx格式),可以根据自己的需求进行安装,在下面路径下可以看到不同框架需求安装包的批处理文件,

C:\Program Files (x86)\IntelSWTools\openvino_2020.1.033\deployment_tools\model_optimizer\install_prerequisites

这里以安装所有框架的install_prerequisites.bat为例,在dos下进行该路径,然后输入install_prerequisites.bat即可,这里需要注意的是由于下载源在国外,这样下载速度太慢了,我们可以通过手动添加下载源镜像来加速安装,如

pip install tensorflow==1.14.0 -i https://pypi.douban.com/simple

具体详情可参考https://blog.csdn.net/xiaomu_347/article/details/85067874

(3)运行实例

     openvino实现对神经网络的加速一般通过xml文件和bin文件来实现,前者主要描述网络构架,后者是其训练好的权重。

官方给了几个示例可以用来检验一下,以汽车检测为例,dos下运行一下指令

cd C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\demo\ ##根据自己的路径切换

demo_security_barrier_camera.bat

等一段漫长的加载与下载库的过程,如果出现了以下界面即表示成功。


补:运行demo过程中出现的问题

 

这个问题当初自己也困惑了好久,后来明白就是msbuild出的问题,只要在demo_security_barrier_camera.bat文件中加入以下指令保存即可(这里根据自己安装vs版本进行msbuild_version指定),然后在运行就可以了。

      在linux和win7上也尝试过,按照步骤一步步来即可安装成功,对于openvino,我的理解就是在模型在推理时能够合并掉一些不必要的层,利用inter内部构造的一些并行运算等加速模型运行,和tensorrt的功能类似,当然网络中间如果出现了一些openvino不支持的操作,只能通过间接实现或者放弃了。接下来就好好享受openvino带来的飞速体验吧!(但是可能有时候效果并没你想的那么好)。详情可关注我的公众号,大家一起学习

 

参考链接:

https://blog.csdn.net/kan2016/article/details/89323372(OpenVINO基本介绍)

 

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值