NCNN环境部署及yolov5pt转ncnn模型转换推理

news2024/10/6 3:32:06

该内容还未完整,笔记内容,持续补充。

〇开发环境版本

vs2022

cmake3.21.1

ncnn20231027发行版

yolov5s v6.2

vunlkan1.2.198.1

Protobuf3.20.0

Opencv3.4.1

一、模型转换

yolov5s v6.2训练的pt模型,直接导出tourchscript,然后使用ncnn里面的pnnx工具直接转换为ncnn。

这个地方别去pt转onnx转ncnn的了,踩了多少坑才出来的,有能力的可以去踩。

官方文档:

https://github.com/pnnx/pnnxicon-default.png?t=N7T8https://github.com/pnnx/pnnx

导出tourchscript使用yolov5里面export.py

tourchscript转pnnx命令(pnnx可以自己编译也可以直接下载ncnn-windows里面有编译好的):

pnnx.exe best.torchscript inputshape=[1,3,640,640]

二、部署环境(该部分内容待修改,最新版本ncnn无需vunlkan可直接编译;)

注意:cmake编译需要使用x64 Native Tools Command Prompt for VS 2022工具里面,cmd是没效果的。

直接拉取GitHub源码,然后更新完整代码。

git clone https://github.com/Tencent/ncnn.git
cd ncnn
git submodule update --init

1.安装vunlkan 1.2.198.1版本,记得配置环境变量

官网下载(只有最新版,而且特别慢):

https://vulkan-tutorial.com/icon-default.png?t=N7T8https://vulkan-tutorial.com/

GitHub下载:

https://github.com/KhronosGroup/Vulkan-Loadericon-default.png?t=N7T8https://github.com/KhronosGroup/Vulkan-Loader

2.安装Protobuf3.20.0版本

源码下载地址:


https://github.com/protocolbuffers/protobuf/releases/download/v3.20.0/protobuf-cpp-3.20.0.tar.gzicon-default.png?t=N7T8https://github.com/protocolbuffers/protobuf/releases/download/v3.20.0/protobuf-cpp-3.20.0.tar.gz

官方文档:

https://github.com/Tencent/ncnn/wiki/FAQ-ncnn-protobuf-problem.zhicon-default.png?t=N7T8https://github.com/Tencent/ncnn/wiki/FAQ-ncnn-protobuf-problem.zh

编译Protobuf命令 :

mkdir build_vs
cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%cd%/install -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_MSVC_STATIC_RUNTIME=OFF ../cmake
nmake
nmake install

3.编译ncnn

下载ncnn完整源码:

https://github.com/Tencent/ncnn/releasesicon-default.png?t=N7T8https://github.com/Tencent/ncnn/releases

直接下载发行版本的完整代码,然后解压,用以下命令编译,自行替换Protobuf的编译路径,其中DNCNN_VULKAN=ON表示使用Vunlkan加速

mkdir build_vs
cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%cd%/install -DProtobuf_INCLUDE_DIR=D:\protobuf-cpp-3.20.0\protobuf-cpp-3.20.0\protobuf-3.20.0\build_vs\install/include -DProtobuf_LIBRARIES=D:\protobuf-cpp-3.20.0\protobuf-cpp-3.20.0\protobuf-3.20.0\build_vs\install/lib/libprotobuf.lib -Dprotobuf_DIR=D:\protobuf-cpp-3.20.0\protobuf-cpp-3.20.0\protobuf-3.20.0\build_vs/install/cmake -DProtobuf_PROTOC_EXECUTABLE=D:\protobuf-cpp-3.20.0\protobuf-cpp-3.20.0\protobuf-3.20.0\build_vs\install/bin/protoc.exe -DNCNN_VULKAN=ON ..
ncmake
ncmake install

三、推理实现

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

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

相关文章

鸿蒙APP的代码规范

鸿蒙APP的代码规范是为了确保代码质量、可读性和可维护性而定义的一系列规则和标准。以下是一些建议的鸿蒙APP代码规范,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1. 代码风格: 采用…

Wish流量推送规则是什么?wish怎么增加流量?-站斧浏览器

Wish流量推送规则是什么? 个性化推送:Wish采用智能化的算法,根据用户的购物历史、浏览记录、搜索行为等数据,为每位用户推送个性化的商品推荐。这种推送方式能够提高商品与用户的匹配度,从而提高转化率。 价格与销量…

视频转换为GIF格式的3种方法

如果你想与朋友分享一个有趣的瞬间或者在社交媒体上发布一些搞笑的短视频,那么GIF格式将会是一个绝佳的选择。因为相比于视频,GIF文件具有更小的文件大小和更好的兼容性。不过,并不是所有人都知道如何将视频转换为GIF格式。不用担心&#xff…

65.乐理基础-打拍子-前附点、后附点

内容来源于:三分钟音乐社 上一个内容:前八后十六、前十六后八拍子-CSDN博客 前附点指的是一个附点八分音符加一个十六分音符的节奏型,如图1。 后附点指的是一个十六分音符加一个附点八分音符的节奏型,如图2。 前附点、后附点这两…

第三节-数据链路层与MAC地址

如果数据进行封装时,基于E2或者802.3标准,此时我们称之为是一个以太网数据帧。 不同的协议栈用于定义和管理不同网络的数据转发规则。 E2和802.3作用:定义帧头和帧尾的格式 数据:对于下层的每个层级而言,上层所反馈…

鸿蒙开发(二)- 鸿蒙DevEco3.X开发环境搭建

上篇说到,鸿蒙开发目前势头旺盛,头部大厂正在如火如荼地进行着,华为也对外宣称已经跟多个厂商达成合作。目前看来,对于前端或客户端开发人员来说,掌握下鸿蒙开发还是有些必要性的。如果你之前是从事Android开发的&…

C语言字符串知识点和算法总结

目录 一、字符串遍历 1、字符串和字符数组 2、获取字符串长度 3、字符串遍历 4、大小写转换 5、字符串数组 二、字符串拷贝 三、字符串比较 四、字符串分割 五、字符串翻转 1、题目详解 2、算法详解 3、源码剖析 六、回文串 1、定义 2、例题讲解 3、算法详解 …

子网掩码与IP段计算

一.什么叫子网掩码: 子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。 子网掩…

【开源】基于Vue+SpringBoot的班级考勤管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统基础支持模块2.2 班级学生教师支持模块2.3 考勤签到管理2.4 学生请假管理 三、系统设计3.1 功能设计3.1.1 系统基础支持模块3.1.2 班级学生教师档案模块3.1.3 考勤签到管理模块3.1.4 学生请假管理模块 3.2 数据库设…

深入理解 C# 中的字符串比较:String.CompareTo vs String.Equals

深入理解 C# 中的字符串比较:String.CompareTo vs String.Equals 在处理字符串时,了解如何正确比较它们对于编写清晰、有效和可靠的 C# 程序至关重要。本文将深入探讨 C# 中的两个常用字符串比较方法:String.CompareTo 和 String.Equals&…

沃通中小微企业SSL优惠专场,DV SSL证书降幅35%

沃通CA助力中小微企业数字化安全发展,推出“中小微企业SSL优惠专场”,深受中小微企业青睐的超快SSL系列证书特惠来袭,降幅达35%!实现HTTPS加密、维护企业数据传输安全,满足法律法规对数据安全保护的基本要求&#xff0…

QT应用篇 二、QML用Image组件实现Progress Bar 的效果

QT应用篇 一、QT上位机串口编程 二、QML用Image组件实现Progress Bar 的效果 三、QML自定义显示SpinBox的加减按键图片及显示值效果 文章目录 QT应用篇前言一、qml需求二、使用组件1.Image组件2.Image中fillMode的使用例子 总结 前言 记录自己学习QML的一些小技巧方便日后查找…

UniApp小程序使用vant引入vant weapp

HBuilder X里新建项目指路 HBuilderX新建项目 安装node.js指路 安装node.js 1.通过npm安装 查看npm环境 //打开终端输入命令查看版本 npm -version 1.1.右键打开外部终端窗口 1.2.输入npm init -y命令 1.3.通过命令安装 npm i vant/weapp1.3.3 -S --production 1.4.打开工具…

存算分离降本增效,StarRocks 助力聚水潭 SaaS 业务服务化升级

作者:聚水潭数据研发负责人 溪竹 聚水潭是中国领先的 SaaS 软件服务商,核心产品是电商 ERP,协同350余家电商平台,为商家提供综合的信息化、数字化解决方案。公司是偏线下商家侧的 toB 服务商,员工人数超过3500&#xf…

亚马逊SEO是什么意思?亚马逊标题的SEO方法是什么?-站斧浏览器

亚马逊SEO是什么意思? 亚马逊SEO主要包括了对标题、描述、五点简介等元素的优化,以及评价和评论的管理等方面。下面将详细分析亚马逊SEO的相关内容,帮助卖家更好地理解和应用。 在亚马逊平台上进行SEO优化需要考虑以下几个方面:…

深算院与新数科技达成战略合作,共筑国产数据库新生态

近日,深圳计算科学研究院(以下简称“深算院”)与北京新数科技有限公司(以下简称“新数科技”)达成战略合作。双方将融合发挥资源优势与技术优势,基于深算院自主研发设计的崖山数据库系统YashanDB&#xff0…

MetaGPT( The Multi-Agent Framework):颠覆AI开发的革命性多智能体元编程框架

一个多智能体元编程框架,给定一行需求,它可以返回产品文档、架构设计、任务列表和代码。这个项目提供了一种创新的方式来管理和执行项目,将需求转化为具体的文档和任务列表,使项目管理变得高效而智能。对于需要进行规划和协调的项…

ssm基于JavaEE的智能实时疫情监管服务平台的设计与实现+jsp论文

摘 要 社会发展日新月异,用计算机应用实现数据管理功能已经算是很完善的了,但是随着移动互联网的到来,处理信息不再受制于地理位置的限制,处理信息及时高效,备受人们的喜爱。本次开发一套智能实时疫情监管服务平台有管…

VScode的入门手册(IDEA迁移到VScode)

从IDEA迁移到VScode的过程中,会有很多不适应的地方,下面算是一篇VScode的入门手册,也可以说是从IDEA迁移到VScode的手册。 命令面板(Command Palette) 允许你快速访问和执行命令。 在 Visual Studio Code 中&#x…

数据库管理-第128期 2023总结(202301229)

数据库管理-第128期 2023总结(202301229) 到了2023年的最后一个工作日,也该对即将过去的2023年做一个小小的总结: 1 写文章 2023年在CSDN总共写了82篇文章。 2023年4月开始在墨天轮写文章,总共写了75篇文章&#xf…