| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 基于OpenVINO部署PaddlePadle-YOLOE模型—2.模型下载与转换 -> 正文阅读 |
|
[人工智能]基于OpenVINO部署PaddlePadle-YOLOE模型—2.模型下载与转换 |
1. 模型下载?首先下载PP-YOLOE官方训练模型,该模型由PaddleDetection提供,基于COCO数据集训练,可以识别80种常见物体。此处采用的是PaddleDetection release/2.5版本,PP-YOLOE+模型,具体可以参考官方文件PP-YOLOE。 ?使用命令,导出我们要使用的模型,在命令行种依次输入以下指令,导出我们所使用的模型文件:
?此处导出的是PP-YOLOE+模型,l_80e格式,导出命令输出如下图所示。 ?模型导出后可以在下述文件夹中找到该模型文件: ?利用模型查看器可以看出该模型,包含两个输入、两个输出。 2. 模型裁剪?直接导出的模型在OpenVINO中无法直接使用,需要对模型进行裁剪,将模型后处理过程去掉,使用下面大神的提供的工具可以直接实现对Paddle模型直接裁剪:jiangjiajun/PaddleUtils: Some tools to operate PaddlePaddle model 。 ?首先克隆改代码仓到本地:
?然后打开到该代码文件中下面的一个文件夹下,并将上一步导出的模型复制到该文加夹中 ?在命令提示符中依次输入以下命令:
?指令说明:
?此处主要关注输出节点名这一项输入,由于原模型输入包含后处理这一部分,在模型部署时会出错,所以模型裁剪的主要目的就是将模型后处理这一步去掉,因此将模型输出设置为后处理开始前的模型节点,此处主要存在两个节点: ?第一个节点包含模型预测的置信度输出参数,其位置如下图所示: ?第二个节点是模型预测狂输出节点,其位置如下图所示: ?输入上述指令后,会获得以下结果: ?在 ?使用模型查看器,可以看出导出的模型,输入输出发生了改变。模型的输入仅包含image一项,原有的scale_factor输入由于在模型中使用不到,被一并削减掉。模型的输出变成我们指定的节点输出。 3. 模型转换ONNX?由于Paddle模型未指定bath_size大小,在使用时会出现问题,因此通过将该模型转为ONNX并指定bath_size大小,此处使用 ?在命令提示符中依次输入以下指令,将上一步导出的模型转为ONNX格式:
?此处需要指定模型的输入形状,–input_shape_dict “{‘image’:[1,3,640,640]}”,其他设置按照常规设置即可,模型输出如下图所示: 4. 转为IR格式? IR格式模型为OpenVINOTM推理工具原生支持模型,且对模型进行了进一步优化,使得推理速度大大提升,此处我们使用OpenVINOTM 自带的模型优化工具进行转换。 ?首先利用命令提示窗口打开OpenVINOTM工具路径,然后输入转换命令,在该文件夹中会生成三个转换后的文件,其输出如图所示,出现三个SUCCESS表示转换成功。
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 21:23:47- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |