OpenVINO 工具包是 Intel 在2018年推出的一款用于在Intel的硬件平台上做模型推理和优化部署的工具。它的全称叫 "Open Visual Inference and Neural Network Optimization Toolkit"。
OpenVINO Toolkit是一种可以加快高性能计算机视觉和深度学习视觉应用开发速度工具套件,支持各种英特尔平台的硬件加速器上进行深度学习,并且允许直接异构执行。OpenVINO最显著的3个特点是:高性能深度学习推理,简化开发易于使用,一次编写任意部署。
OpenVINO工具包特点:
- 在边缘启用基于CNN的深度学习推理
- 支持跨英特尔®CPU,英特尔®集成显卡,英特尔®FPGA,英特尔®Movidius™神经计算棒,英特尔®神经计算棒2和采用英特尔®Movidius™VPU的英特尔®视觉加速器设计的异构执行
- 通过易于使用的计算机视觉功能库和预优化的内核,加快产品上市速度
- 包括针对计算机视觉标准的优化调用,包括OpenCV *,OpenCL™和OpenVX *
Intel OpenVINO Toolkit分为发行版和开源版,发行版的 OpenVINO,它除了包含开源的OpenVINO 组件以外,还包含其他的一些相关的开源组件,比如:OpenCV,Intel 的 Open Mode Zoo 以及相关的 demo 等等。所以 Intel 发行版的 OpenVINO 是英特尔为了大家使用方便,把相关的开源组件都打包在一起,并且针对Intel的硬件平台构建好了的一个工具包集,所以也是开源免费的。而且近些年来,开源是一个趋势,越来越多的公司在开源自己的项目。
使用过开源软件的小伙伴,相信或多或少都会有这样一些体会:不活跃的软件不太敢用,可是更新太频繁的可能有很多坑,一些新的 feature 也不太敢草率地加到项目当中去。针对这样的顾虑,OpenVINO 在今年6月初也是贴心地推出了LTS(Long-term Support) 版本。这个版本主要关注稳定性。每年会推出一次 LTS 版本,每一个版本会提供两年的漏洞修复期。对于追求新 feature 的小伙伴呢,标准版还会继续提供每年三到四次的版本更新。
OpenVINO Toolkit可用于机器视觉、智慧零售、智慧医疗、办公自动化以及自动驾驶、智慧城市等领域应用场景的开发,它包含两个大模块:模型转换模块 Model Optimizer 和推理模块 Inference Engine,这也是它的两个核心组件。
Intel Deep Learning Inference Workflow
1.模型优化器(Model Optimizer)
模型优化器将给定的模型转化为标准的 Intermediate Representation (IR) ,并对模型进行优化。
模型优化器支持的深度学习框架有:
ONNX / TensorFlow / Caffe / MXNet / Kaldi
2.推理引擎(Inference Engine)
推理引擎支持硬件指令集层面的深度学习模型加速运行,同时对传统的OpenCV图像处理库也进行了指令集优化,有显著的性能与速度提升。
支持的硬件设备有:CPU / GPU / FPGA / VPU
3.支持硬件与系统
Hardware
- 6th to 10th generation Intel® Core™ processors and Intel® Xeon® processors
- Intel® Xeon® processor E family (formerly code named Sandy Bridge, Ivy Bridge, Haswell, and Broadwell)
- 3rd generation Intel® Xeon® Scalable processor (formerly code named Cooper Lake)
- Intel® Xeon® Scalable processor (formerly Skylake and Cascade Lake)
- Intel Atom® processor with support for Intel® Streaming SIMD Extensions 4.1 (Intel® SSE4.1)
- Intel Pentium® processor N4200/5, N3350/5, or N3450/5 with Intel® HD Graphics
- Intel® Neural Compute Stick 2
- Intel® Vision Accelerator Design with Intel® Movidius™ VPUs
OS (不同的OpenVINO版本可能会有变化)
- Ubuntu 18.04.x long-term support (LTS), 64-bit
- CentOS 7.4, 64-bit (for target only)
- Yocto Project v3.0, 64-bit (for target only and requires modifications)
参考资料与学习资源
- 官方开发文档在https://docs.openvinotoolkit.org/
- OpenVINO开源组件中的github资源 https://github.com/openvinotoolkit/openvino
- https://docs.openvinotoolkit.org/latest/_docs_install_guides_installing_openvino_linux.html (for linux)
评论