🏡博客主页: virobotics(仪酷智能):LabVIEW深度学习、人工智能博主
🍻本文由virobotics(仪酷智能)原创首发
🥳欢迎大家关注✌点赞👍收藏⭐留言📝
前言
Hello,大家好,我是virobotics(仪酷智能),一个深耕于LabVIEW和人工智能领域的开发工程师。
之前给大家介绍了三个基于LabVIEW的AI工具包,包括【LabVIEW AI视觉工具包】,【LabVIEW ONNX工具包】,【LabVIEW TensorRT工具包】,其中【LabVIEW ONNX工具包】和【[LabVIEW TensorRT工具包】是仪酷LabVIEW图形化AI推理加速工具包中的两款,今天我们给大家介绍第三款【LabVIEW OpenVINO工具包】
一、OpenVINO™2022简介
OpenVINO 是一个用于优化和部署深度学习模型的开源工具包。它为来自 TensorFlow、PyTorch 等流行框架的视觉、音频和语言模型提供了增强的深度学习性能。OpenVINOTMTM 工具套件2022.1版于2022年3月22日正式发布,根据官宣《OpenVINOTM 迎来迄今为止最重大更新,2022.1新特性抢先看》,OpenVINOTM 2022.1将是迄今为止最大变化的版本。相比于以前版本,新版本主要有以下特性:
简化安装:精简了安装包及运行时库
开箱即用:添加了包含Auto-Device Plugin, Performance Hints, MO参数简化等一系列帮助开发者迅速上手的功能
动态输入支持:在CPU上实现了dynamic shape的支持
Paddle Paddle:官宣对Paddle Paddle的正式支持
API改进:从旧的Inference Engine API进化到新的OpenVINO Runtime API
OpenVINO在2022之前的版本是一整个安装包,包含Opencv、DL Streamer等工具,有点臃肿。而2022版本中,安装文件分为 Dev Tools 与 Runtime两部分,开发者可以自己选择安装的部分。
- Dev Tools:负责开发和模型优化转换、模型库下载功能
- Runtime:可通过exe方式安装程序,支持ONNX、IR、Paddle等模型读取与推理,默认支持python,可以C++
二、LabVIEW OpenVINO工具包简介
LabVIEW OpenVINO工具包是我们(VIRobotics团队)最近开发的一款AI推理加速工具包,整个工具包作为LabVIEW的插件,旨在帮助用户提高工作效率和推理速度。使用者可以在LabVIEW中直接使用OpenVINO实现在CPU、GPU(intel)、FPGA、VPU等硬件上的部署和推理。
工具包特点:
1.图形化编程:无需掌握文本编程基础即可完成机器视觉项目;
2.广泛的模型支持:支持将IR模型、onnx模型、paddle模型直接导入 OpenVINO,无需将模型转化为另一种框架;
3.多种高效加速推理接口:支持使用英特尔CPU、集成显卡和独立显卡进行高性能推理;
- 简单安装与配置:无需额外下载openvino推理驱动,安装工具包过程openvino驱动会自动安装;
yolov5s在各工具包下的性能测评对比:
注:测试电脑cpu为i7-11800H,Intel集显为i7-11650G7,独显为笔记本RTX 3070(包括预处理和后处理)
三、LabVIEW OpenVINO工具包VI简介
已经安装好的OpenVINO工具包位于程序框图-函数选板-Addons-VIRobotics-OpenVINO内容包括:获取可用的设备、OpenVINO的版本及不同格式模型调用推理等功能。该工具包的具体安装方式可查看博客:LabVIEW使用OpenVINO加速必备工具包下载与安装教程
LabVIEW OpenVINO工具包具体VI简介如下:
3.1 基本函数
- getavailbleDevice.vi:用于列出系统上可用的设备类型,如CPU、GPU、FPGA、VPU等。这可以帮助用户确定哪些设备可以用于部署深度学习模型
getVersion.vi:获取安装的OpenVINO工具包的版本信息,目前版本为2022.3
3.2 InferenceEngine(静态输入模型加载推理类)
Create_session_from_IR.vi:用于创建会话对象,加载IR模型并指定推理加速引擎(CPU、GPU等)
- Create_session_from_ONNX.vi:用于创建会话对象,加载onnx模型并指定推理加速引擎(CPU、GPU等)
- input_shape.vi:获取模型的输入张量的形状
- output_shape.vi:获取模型的输出张量的形状
- Run.vi:将数据传递给模型实现推理
- Get_result.vi:用于获取Run操作返回的模型输出数据
- Release..vi:用于释放会话对象和相关资源,以便在不需要时释放系统资源
3.3 OV(动态输入模型加载推理类)
- Load_IR.vi:用于创建会话对象,加载IR模型并指定推理加速引擎(CPU、GPU等)
- Load_ONNX.vi:用于创建会话对象,加载onnx模型并指定推理加速引擎(CPU、GPU等)
- Load_Paddle.vi:用于创建会话对象,加载paddle模型并指定推理加速引擎(CPU、GPU等)
- OV_Input_shape.vi:获取模型的输入张量的形状
- OV_Output_Shape.vi:获取模型的输出张量的形状
- OV_Run.vi:将数据传递给模型实现推理
- OV_Run_Infer.vi:推理
- OV_Get_result.vi:用于获取Run操作返回的模型输出数据
- OV_SetInput.vi:将张量设置为推断请求的输入
- OV_Release..vi:用于释放会话对象和相关资源,以便在不需要时释放系统资源
- Compilemodel.vi:编译模型
OV_reshape.vi:更新输入形状并通过所有中间层将它们向下传播到模型的输出
总结
如需下载并安装工具包,可查看:https://blog.csdn.net/virobotics/article/details/130226410
以上就是今天要给大家分享的内容,希望对大家有用。如有笔误,还请各位及时指正。后续还会继续给各位朋友分享其他案例,欢迎大家关注博主。我是virobotics(仪酷智能),我们下篇文章见~
如果有问题可以在评论区里讨论,提问前请先点赞支持一下博主哦,如您想要探讨更多关于LabVIEW与人工智能技术,欢迎加入我们的技术交流群:705637299。进群请备注:LabVIEW机器视觉
**如果文章对你有帮助,欢迎✌关注、👍点赞、✌收藏