mmdetection模型使用mmdeploy部署在windows上的c++部署流程【详细全面版】

本文主要是介绍mmdetection模型使用mmdeploy部署在windows上的c++部署流程【详细全面版】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

0. 前置说明:

该文档适用于:已经使用mmdetection训练好了模型,并且完成了模型转换。要进行模型部署了。

1. 概述

MMDeploy 定义的模型部署流程,如下图所示:
在这里插入图片描述

模型转换【待撰写,敬请期待…】

主要功能是:把输入的模型格式,转换为目标设备的推理引擎所要求的模型格式。
目前,MMDeploy 可以实现:① 把PyTorch模型,转换为 ONNX、TorchScript 等设备无关的模型; ② 将 ONNX模型转换为推理后端模型。

两者相结合,可实现端到端的模型转换,也就是从训练端到生产端的一键式部署。

MMDeploy 模型(也称 SDK Model)

它是模型转换结果的集合。包括:①后端模型,②模型的元信息。这些信息,将用于推理 SDK。

推理 SDK【本博客的内容】

封装了模型的前处理、网络推理和后处理过程。对外提供多语言的模型推理接口(python/c++等)。【注意:本教程为c++】

2. 准备工作

对于端到端的模型转换和推理,MMDeploy 依赖 Python 3.6+ 以及 PyTorch 1.8+。

第1步:下载并安装 Miniconda

(这步很简单,省略,不懂的话可以评论区留言)

第2步:创建并激活 conda 环境

conda create --name mmdeploy python=3.8 -y
conda activate mmdeploy

第3步: 并安装 PyTorch GPU或者CPU版本

链接:安装PyTorch在这里插入图片描述

注意❗:在 GPU 环境下,请务必保证 cudatoolkit_version 和主机的 CUDA Toolkit 版本一致,避免在使用
TensorRT 时,可能引起的版本冲突问题。

3. 准备推理SDK

第1步: 安装 MMDeploy 推理SDK

推理SDK 的 c/cpp 库可从 这里 选择最新版本下载并安装。
不用gpu推理的话,就下载这个

注意❗下载并且解压后,就会看到如下图所示的结构:
路径为:C:\Users\15135\Downloads\mmdeploy-1.2.0-windows-amd64

查看readme.md文档,就会发现,我们需要进一步根据提示:①安装opencv,②设置环境变量,③创建sdk。下面我们依次进行。

第2步: 安装opencv

找到Windows PowerShell,并使用管理员身份打开。
在这里插入图片描述

打开管理员权限的 Windows PowerShell
打开Windows PowerShell后,执行命令:set-ExecutionPolicy RemoteSigned,并选择Y。

Set-ExecutionPolicy RemoteSigned 是一个在 Microsoft PowerShell 中使用的命令。

它用来配置 PowerShell 的执行策略(Execution Policy),这是 PowerShell 引擎对脚本执行的一种安全机制。执行策略决定了 PowerShell 是否允许运行未签名的脚本,以及这些脚本是从何处获得的。

具体来说:

RemoteSigned 执行策略意味着:
①对于本地创建的 PowerShell 脚本,允许直接执行。
②对于从互联网或其他远程位置下载的脚本,要求它们必须具有经过验证的数字签名(即已签名)才能执行。

换句话说,在设置了 RemoteSigned 执行策略之后,用户可以自由地执行自己在本地计算机上编写的脚本,
但对于外部来源的脚本,为了确保其来源可信,系统会要求这些脚本经过合法证书颁发机构签名或由受信任的发布者签名。

此设置,旨在保护系统免受恶意脚本的攻击,同时保持一定的灵活性,允许执行经过验证的远程脚本和所有本地脚本。
在企业环境中,执行策略通常由系统管理员或通过

这篇关于mmdetection模型使用mmdeploy部署在windows上的c++部署流程【详细全面版】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/894410

相关文章

SpringBoot集成图片验证码框架easy-captcha的详细过程

《SpringBoot集成图片验证码框架easy-captcha的详细过程》本文介绍了如何将Easy-Captcha框架集成到SpringBoot项目中,实现图片验证码功能,Easy-Captcha是... 目录SpringBoot集成图片验证码框架easy-captcha一、引言二、依赖三、代码1. Ea

linux环境openssl、openssh升级流程

《linux环境openssl、openssh升级流程》该文章详细介绍了在Ubuntu22.04系统上升级OpenSSL和OpenSSH的方法,首先,升级OpenSSL的步骤包括下载最新版本、安装编译... 目录一.升级openssl1.官网下载最新版openssl2.安装编译环境3.下载后解压安装4.备份

如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件

《如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件》本文介绍了如何使用Docker部署FTP服务器和Nginx,并通过HTTP访问FTP中的文件,通过将FTP数据目录挂载到N... 目录docker部署FTP和Nginx并通过HTTP访问FTP里的文件1. 部署 FTP 服务器 (

MySQL 日期时间格式化函数 DATE_FORMAT() 的使用示例详解

《MySQL日期时间格式化函数DATE_FORMAT()的使用示例详解》`DATE_FORMAT()`是MySQL中用于格式化日期时间的函数,本文详细介绍了其语法、格式化字符串的含义以及常见日期... 目录一、DATE_FORMAT()语法二、格式化字符串详解三、常见日期时间格式组合四、业务场景五、总结一、

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

Python中配置文件的全面解析与使用

《Python中配置文件的全面解析与使用》在Python开发中,配置文件扮演着举足轻重的角色,它们允许开发者在不修改代码的情况下调整应用程序的行为,下面我们就来看看常见Python配置文件格式的使用吧... 目录一、INI配置文件二、YAML配置文件三、jsON配置文件四、TOML配置文件五、XML配置文件

Go使用pprof进行CPU,内存和阻塞情况分析

《Go使用pprof进行CPU,内存和阻塞情况分析》Go语言提供了强大的pprof工具,用于分析CPU、内存、Goroutine阻塞等性能问题,帮助开发者优化程序,提高运行效率,下面我们就来深入了解下... 目录1. pprof 介绍2. 快速上手:启用 pprof3. CPU Profiling:分析 C

C++实现回文串判断的两种高效方法

《C++实现回文串判断的两种高效方法》文章介绍了两种判断回文串的方法:解法一通过创建新字符串来处理,解法二在原字符串上直接筛选判断,两种方法都使用了双指针法,文中通过代码示例讲解的非常详细,需要的朋友... 目录一、问题描述示例二、解法一:将字母数字连接到新的 string思路代码实现代码解释复杂度分析三、

Ubuntu 22.04 服务器安装部署(nginx+postgresql)

《Ubuntu22.04服务器安装部署(nginx+postgresql)》Ubuntu22.04LTS是迄今为止最好的Ubuntu版本之一,很多linux的应用服务器都是选择的这个版本... 目录是什么让 Ubuntu 22.04 LTS 变得安全?更新了安全包linux 内核改进一、部署环境二、安装系统

MySQL InnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据

《MySQLInnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据》mysql的ibdata文件被误删、被恶意修改,没有从库和备份数据的情况下的数据恢复,不能保证数据库所有表数据... 参考:mysql Innodb表空间卸载、迁移、装载的使用方法注意!此方法只适用于innodb_fi