当前位置:   article > 正文

模型加速之openvino_openvion加速

openvion加速

      开发人员通过使用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下,然后运行下面指令

  1. cd C:\Program Files (x86)\IntelSWTools\openvino\bin\ ##若不是默认安装路径,酌情修改
  2. 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下运行一下指令

  1. cd C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\demo\ ##根据自己的路径切换
  2. 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基本介绍)

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/161657?site
推荐阅读
相关标签
  

闽ICP备14008679号