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

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

Security OAuth2 单点登录流程

单点登录(英语:Single sign-on,缩写为 SSO),又译为单一签入,一种对于许多相互关连,但是又是各自独立的软件系统,提供访问控制的属性。当拥有这项属性时,当用户登录时,就可以获取所有系统的访问权限,不用对每个单一系统都逐一登录。这项功能通常是以轻型目录访问协议(LDAP)来实现,在服务器上会将用户信息存储到LDAP数据库中。相同的,单一注销(single sign-off)就是指

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

【C++ Primer Plus习题】13.4

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: main.cpp #include <iostream>#include "port.h"int main() {Port p1;Port p2("Abc", "Bcc", 30);std::cout <<

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传