🏡博客主页: virobotics的CSDN博客:LabVIEW深度学习、人工智能博主
🎄所属专栏:『LabVIEW深度学习工具包』
🍻上期文章: 【YOLOv8】实战一:手把手教你使用YOLOv8实现实时目标检测)
📰如觉得博主文章写的不错或对你有所帮助的话,还望大家多多支持呀! 欢迎大家✌关注、👍点赞、✌收藏、👍订阅专栏
文章目录
前言
之前给大家介绍了三个基于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、集成显卡和独立显卡进行高性能推理;
4. 简单安装与配置:无需额外下载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:更新输入形状并通过所有中间层将它们向下传播到模型的输出
总结
以上就是今天要给大家分享的内容。如果有问题可以在评论区里讨论。觉得内容不错,可点赞收藏哦,如您想要探讨更多关于LabVIEW与人工智能技术,欢迎加入我们的技术交流群。进群请备注CSDN
如果文章对你有帮助,欢迎✌关注、👍点赞、✌收藏、👍订阅专栏
推荐阅读
LabVIEW图形化的AI视觉开发平台(非NI Vision),大幅降低人工智能开发门槛
LabVIEW图形化的AI视觉开发平台(非NI Vision)VI简介
LabVIEW AI视觉工具包OpenCV Mat基本用法和属性
手把手教你使用LabVIEW人工智能视觉工具包快速实现图像读取与采集
LabVIEW开放神经网络交互工具包(ONNX)下载与超详细安装教程
LabVIEW图形化TensoRT工具包的安装下载分享
👇技术交流 · 一起学习 · 咨询分享,请联系👇