Windows使用Paddle训练好的模型进行OpenVino推理引擎下的部署

news2024/12/26 23:00:56

目录

  • 一. Openvino下载
  • 二. 准备模型
    • 2.1 导出Paddle Inference模型
    • 2.2 转换为ONNX模型
    • 2.3 转换为ONNX模型
      • 2.3.1 获取部署代码
      • 2.3.2 环境准备
      • 2.3.3 编译

一. Openvino下载

根据Paddle官方的描述,当前检测模型转换为openvino格式是有问题的,暂时只支持分割和分类模型,且openvino版本最好为2021.3(已经过测试,兼容性较好)。
Openvino 2021.3 下载地址
安装过程可以参照OpenVino官方安装步骤来一步步 安装 :
安装完毕后目录如下:
在这里插入图片描述
运行install.exe安装推理组件后的目录:
在这里插入图片描述

二. 准备模型

2.1 导出Paddle Inference模型

由于目前Openvino只支持比较老的模型,这里以PaddleX训练的mobilenetv3_large模型为例,导出为推理格式模型paddle inference:
在这里插入图片描述
安装PaddleX后,执行以下命令进行模型导出:

paddlex --export_inference --model_dir=./output/deeplabv3p_r50vd/best_model/ --save_dir=./inference_model

2.2 转换为ONNX模型

将paddle inference模型转为onnx模型:

# model_dir需要ResNet50解压后的路径
paddle2onnx --model_dir  E:/Fileresipority/cloth_check/mobilenetv3_large/inference_model/inference_model  --model_filename model.pdmodel     --params_filename model.pdiparams      --save_file model.onnx   --enable_dev_version True

在这里插入图片描述
转换后的目录:
在这里插入图片描述

2.3 转换为ONNX模型

2.3.1 获取部署代码

git clone https://github.com/PaddlePaddle/PaddleX.git

在这里插入图片描述

2.3.2 环境准备

1.在OpenCV官网下载适用于Windows平台的3.4.6版本下载链接
在这里插入图片描述
2.运行下载的可执行文件,将OpenCV解压至指定目录,例如D:\projects\opencv。
3.配置环境变量,如下流程所示:
我的电脑->属性->高级系统设置->环境变量
在这里插入图片描述

在系统变量中找到Path(如没有,自行创建),并双击编辑
新建,将opencv路径填入并保存,如E:\Fileresipority\cloth_check\OpenCV\opencv\build\x64\vc15\bin
在进行cmake构建时,会有相关提示,请注意vs2019的输出。
4.点击下载gflags依赖包,解压至deps目录

2.3.3 编译

1.打开Visual Studio 2019 Community,点击继续但无需代码
在这里插入图片描述
2. 点击: 文件->打开->CMake
选择C++预测代码所在路径(例如E:\Fileresipority\cloth_check\PaddleX-develop\deploy\cpp),并打开CMakeList.txt:
在这里插入图片描述

  1. 打开项目时,可能会自动构建。由于没有进行下面的依赖路径设置会报错,这个报错可以先忽略:
    在这里插入图片描述

在这里插入图片描述

  1. 点击浏览,分别设置编译选项指定gflag、OpenCV、OpenVINO的路径(也可以点击右上角的“编辑 JSON”,直接修改json文件,然后保存点 项目->生成缓存)。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
5. 保存并生成CMake缓存
在这里插入图片描述
设置完成后, 点击上图中保存并生成CMake缓存以加载变量。然后我们可以看到vs的输出会打印CMake生成的过程,出现CMake 生成完毕且无报错代表生成完毕。
发现报错:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/175122.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

docker部署常用服务器(redis,nginx,mysql,tomcat)

docker部署服务器docker部署redisdocker部署nginxdocker部署mysqldocker部署tomcatdocker部署redis 参考这篇博客,写的很详细 docker部署nginx 1.搜索镜像 docker search nginx 2.拉取镜像(不写版本默认拉取最新版) docker pull nginx 3.查看镜像是否拉取成功 docke…

Kafka-生产者基本使用

一、生产者原理 在消息发送的过程中,涉及到了两个线程——main 线程和 Sender 线程。 在 main 线程中创建了一个双端队列 RecordAccumulator。main 线程将消息发送给 RecordAccumulator, Sender 线程不断从 RecordAccumulator 中拉取消息发送到 Kafka B…

Ae 案例:制作粒子空间穿梭动画

本文介绍使用 Ae 插件 Stardust 制作粒子空间穿梭动画的一般方法与步骤。示例视频1、新建合成。持续时间:10 秒。2、新建纯色图层,命名为“Stardust”,然后添加 Stardust 效果。3、再新建一个纯色图层,命名为“Mask”。使用矩形工…

php宝塔搭建部署实战易优宠物用品网站源码

大家好啊,我是测评君,欢迎来到web测评。 本期给大家带来一套php开发的易优宠物用品网站源码,感兴趣的朋友可以自行下载学习。 技术架构 PHP7.2 nginx mysql5.7 JS CSS HTMLcnetos7以上 宝塔面板 文字搭建教程 下载源码,宝…

SpringBoot集成Swagger,前后端接口文档解决方案

一个不断在迭代的项目,Controller层与POJO层肯定会是经常变动的,在目前前后端分离的大环境背景下有一份接口文档可以极大减少项目组成员之间的交流成本,也能支持自动化测试,但靠人工维护该文档总是不够稳妥,因此我们可…

23.1.21打卡 CF-1782D Many Perfect Squares

Problem - D - Codeforces 题外话: 痛苦的 C大模拟写不出D题数论我是真菜没想到, 泪目 -------------------------------------------------------------------------------------------------------------------------------- 先抛开这题, 我们先探究下平方数的规律 1 …

容器虚拟化技术Docker(三)DockerFile、Docker部署微服务、Docker-compose容器编排、Docker监控

容器虚拟化技术Docker(三)DockerFile、Docker部署微服务、Docker-compose容器编排、Docker监控 不熟悉的docker的可以参考: 容器虚拟化技术Docker(一)简介、安装、常见命令、数据卷、安装常规软件 容器虚拟化技术Do…

QSslSocket::supportsSsl()返回false问题解决

1.问题的提出今天研究Qt官方自带的有关QSslSocket类用法的例子。该例子存放在Qt安装目录下的Examples\Qt-XX.XX.XX\network\securesocketclient其中XX.XX.XX为Qt的版本号,如:5.14.1。在main函数QSslSocket::supportsSsl()返回false,如下&…

浅析RecyclerView预加载RV-Prefetch 机制

浅析RecyclerView预加载RV-Prefetch 机制 UI渲染基本流程(UI-Thread,Render-Thread,SurfaceFlinger)(硬件加速开启) 当系统V-Sync信号来临时,会唤醒主线程,回调编舞者Choreographer#FrameDisplayEventReceiver#onVsync()开始这一…

HPC Game小结

PART 1 - 基础知识 一、文件读取 a. 二进制文件 mmap https://stackoverflow.com/questions/44553907/mmap-sigbus-error-and-initializing-the-file fread fwrite //readFILE* fi;if(fi fopen("input.bin", "rb")){fread(&p, sizeof(int), 1, fi)…

JVM调优实战——jvm常用参数及方法

一、创建会内存溢出的程序 pom&#xff1a; <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/ma…

Q_DISABLE_COPY、Q_DISABLE_MOVE、Q_DISABLE_COPY_MOVE用法详解及总结

1.前言在编程中&#xff0c;会用到某些资源&#xff0c;这些资源有的在整个应用程序期间是唯一的&#xff1b;是不能通过拷贝、赋值的方法存在多份的&#xff0c;如STL的std::unique_ptr指针指向的资源。现实中这样的资源有&#xff1a;文件指针、串口句柄等。试想如果存在多个…

TVM: End-to-End Optimization Stack for Deep Learning论文阅读

摘要 很多目前最为流行的深度学习框架&#xff0c;如 TensorFlow、MXNet、Caffe 和 PyTorch&#xff0c;支持在有限类型的服务器级 GPU 设备上获得加速&#xff0c;这种支持依赖于高度特化、供应商特定的 GPU 库。然而&#xff0c;专用深度学习加速器的种类越来越多&#xff0…

数据库系统概念 | 第四章:中级SQL

文章目录&#x1f4da; 连接表达式&#x1f407; 自然连接&#x1f407; 连接条件&#x1f955;natural条件&#x1f955;using 条件&#x1f955;on 条件&#x1f407; 内连接和外连接&#x1f955; 内连接inner join&#x1f955; 外连接outer join&#x1f343; 左外连接lef…

Web 应用渗透测试 00 - 信息收集

背景 这个系列写 Web 应用渗透测试相关的内容。此篇从信息收集开始&#xff0c;看一下 Web 应用端有哪些方面的信息值得渗透测试者去收集&#xff0c;能对后续的行动产生积极的影响。 Web 应用渗透测试 - 信息收集 security.txt 这个文件包含了网站的漏洞披露的联系方式。如…

Java面试题每日10问(18)

Miscellaneous Interview Questions 1. What are the advantages and disadvantages of object cloning? Advantage of Object Cloning You don’t need to write lengthy and repetitive codes. Just use an abstract class with a 4- or 5-line long clone() method.It is t…

二叉树的迭代遍历

二叉树的迭代遍历 前序遍历 基本思路 基本思路其实很简单, 使用递归遍历的时候, 一直是系统帮我们把其他数据压栈, 举个例子 > ans [5,4,6,2,1,null,null] 前序遍历的序列是: [5,4,2,1,6] , 栈的出入顺序是, 先入, 后出, 假如我们想要一个元素先出, 就要让它后入栈 基…

STC12驱动MLX90614红外测温模块在LCD1602显示

文章目录1、基本简介2、通信方式3、参考STC12例程参考文献1、基本简介 2、通信方式 通过芯片手册我们可以了解到这个模块的输出有PWM和SMBus方式&#xff0c;PWM长期做嵌入式开发的已经很熟悉了&#xff0c;那么什么是SMBus呢&#xff1f; SMBus&#xff08;系统管理总线&…

swift(3)

目录 while循环&#xff0c;repeat while循环 String基本操作 Array数组 Set集合 while循环&#xff0c;repeat while循环 import UIKitvar a0 while(a<5){print(a) }简单的while循环&#xff0c;我这一个循环下去&#xff0c;我playground直接被强制退出。 import UIK…

go的基本数据类型转换

目录 1.(整形转化)基本语法 2.小知识 3.基本数据类型和string的转换 A.fmt.Sprintf("%参数", 表达式) B. 使用 strconv 包的函数 4.string和基本数据类型转换 Go在不同类型的变量之间赋值时需要显示转换&#xff0c;不能自动转换 1.(整形转化)基本语法 A.不考…