yolov11模型在Android设备上运行【踩坑记录】

 0) 参考资料: 

https://github.com/Tencent/ncnn?tab=readme-ov-file 
https://github.com/pnnx/pnnx
https://github.com/nihui/ncnn-android-yolov5
https://github.com/Tencent/ncnn?tab=readme-ov-file

1) :将xxx.pt模型转化成 xxx.onnx

ONNX(Open Neural Network Exchange)是一种开放格式,可以让你在不同深度学习框架之间转换和共享模型 ; ONNX 适用于边缘设备和移动端,部署到 移动设备(如 Android / iOS); Android 不能直接使用 ONNX 模型,但可以通过 ONNX Runtime 或 转换为 NCNN / TFLite /在Linux环境下执行:pip install ultralytics 'onnx>=1.12.0', 'onnxslim', 'onnxruntime'python convert_pt2onnx() 得到 xxx.onnx 模型
def convert_pt2onnx():OreModelPath = 'E:\code_py_workspace\mainApp\\v8n-pt_oreDusty320Cls1_imgsz640.pt'model = YOLO(OreModelPath)model.eval()# first way of convertionpath = model.export(format="onnx", opset=14, dynamic=True)print(path)

2) 将onnx模型转换成ncnn格式 ;

下载工具 https://github.com/pnnx/pnnx/releases

解压执行:pnnx your_model.torchscript.onnx inputshape=[1,3,224,224]

# 进入pnxx目录执行:
> pnnx E:\code_py_workspace\mainApp\\v8n-pt_oreDusty320Cls1_imgsz640.onnx inputshape=[1,3,224,224]# 或者直接在windows cmd 窗口当中写绝对路径
> E:\code_arm_workspace\pnnx-20241223-windows>pnnx E:\code_py_workspace\mainApp\\v8n-pt_oreDusty320Cls1_imgsz640.onnx inputshape=[1,3,224,224]

(*)模型执行完成后,获得xxx.bin文件(可以在Android设备上运行)

3)在Android Studio编译项目的时候遇到的问题

# 在local.properties当中写(提前准备好sdk和ndk)
# sdk,ndk可以在AS当中的SDK Manager当中下载
sdk.dir=E\:\\android-sdk-windows
ndk.dir=E\:\\android-sdk-windows/ndk/26.1.10909125
# gradle-wapper properties文件当中指定gradle版本(distributionUrl=)
# 可以提前下载好放在本地distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
# distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
distributionUrl=file\:///E:/android_software/gradle-8.7-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

 

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

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

相关文章

快速上手——.net封装使用DeekSeek-V3 模型

📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创📢作者格言:新的征程,用爱发电,去丈量人心,是否能达到人机合一?开工大吉 新的一年就这么水灵灵的开始了,在这里,祝各位读者新春快乐,万事如意! 新年伊…

【WebLogic】Oracle发布WebLogic 14c最新版本-14.1.2.0

根据Oracle官方产品经理的博客,Oracle于2024年12月20日正式对外发布了WebLogic 14c的第二个正式版本,版本号为 14.1.2.0.0 ,目前官方已开放客户端下载。该版本除继续支持 Jakarta EE 8 版本外,还增加了对 Java SE 17(J…

Spider 数据集上实现nlp2sql训练任务

NLP2SQL(自然语言处理到 SQL 查询的转换)是一个重要的自然语言处理(NLP)任务,其目标是将用户的自然语言问题转换为相应的 SQL 查询。这一任务在许多场景下具有广泛的应用,尤其是在与数据库交互的场景中&…

IDEA+DeepSeek让Java开发起飞

1.获取DeepSeek秘钥 登录DeepSeek官网 : https://www.deepseek.com/ 进入API开放平台,第一次需要注册一个账号 进去之后需要创建一个API KEY,然后把APIkey记录保存下来 接着我们获取DeepSeek的API对话接口地址,点击左边的:接口…

intra-mart实现简易登录页面笔记

一、前言 最近在学习intra-mart框架,在此总结下笔记。 intra-mart是一个前后端不分离的框架,开发时主要用的就是xml、html、js这几个文件; xml文件当做配置文件,html当做前端页面文件,js当做后端文件(js里…

Linux+Docer 容器化部署之 Shell 语法入门篇 【Shell 替代】

🎀🎀Shell语法入门篇 系列篇 🎀🎀 LinuxDocer 容器化部署之 Shell 语法入门篇 【准备阶段】LinuxDocer 容器化部署之 Shell 语法入门篇 【Shell变量】LinuxDocer 容器化部署之 Shell 语法入门篇 【Shell数组与函数】LinuxDocer 容…

Intellij IDEA如何查看当前文件的类

快捷键:CtrlF12,我个人感觉记快捷键很麻烦,知道具体的位置更简单,如果忘了快捷键(KeyMap)看一下就记起来了,不需要再Google or Baidu or GPT啥的,位置:Navigate > Fi…

C++----继承

一、继承的基本概念 本质:代码复用类关系建模(是多态的基础) class Person { /*...*/ }; class Student : public Person { /*...*/ }; // public继承 派生类继承基类成员(数据方法),可以通过监视窗口检…

2025.2.5——五、[网鼎杯 2020 青龙组]AreUSerialz 代码审计|反序列化

题目来源:BUUCTF [网鼎杯 2020 青龙组]AreUSerialz 目录 一、打开靶机,整理信息 二、解题思路 step 1:代码审计 step 2:开始解题 突破protected访问修饰符限制 三、小结 一、打开靶机,整理信息 直接得到一串ph…

Docker深度解析:安装各大环境

安装 Nginx 实现负载均衡: 挂载 nginx html 文件: 创建过载目录: mkdir -p /data/nginx/{conf,conf.d,html,logs} 注意:在挂载前需要对 conf/nginx.conf 文件进行编写 worker_processes 1;events {worker_connections 1024; …

基于SpringBoot养老院平台系统功能实现五

一、前言介绍: 1.1 项目摘要 随着全球人口老龄化的不断加剧,养老服务需求日益增长。特别是在中国,随着经济的快速发展和人民生活水平的提高,老年人口数量不断增加,对养老服务的质量和效率提出了更高的要求。传统的养…

【AIGC魔童】DeepSeek v3推理部署:vLLM/SGLang/LMDeploy

【AIGC魔童】DeepSeek v3推理部署:vLLM/SGLang/LMDeploy (1)使用vLLM推理部署DeepSeek(2)使用SGLang推理部署DeepSeek(3)使用LMDeploy推理部署DeepSeek (1)使用vLLM推理部…

C语言的灵魂——指针(2)

前言:上期我们介绍了如何理解地址,内存,以及指针的一些基础知识和运算;这期我们来介绍一下const修饰指针,野指针,assert断言,指针的传址调用。 上一篇指针(1) 文章目录 一…

Android studio 创建aar包给Unity使用

1、aar 是什么? 和 Jar有什么区别 aar 和 jar包 都是压缩包,可以使用压缩软件打开 jar包 用于封装 Java 类及其相关资源 aar 文件是专门为 Android 平台设计的 ,可以包含Android的专有内容,比如AndroidManifest.xml 文件 &#…

ASP.NET Core中Filter与Middleware的区别

中间件是ASP.NET Core这个基础提供的功能,而Filter是ASP.NET Core MVC中提供的功能。ASP.NET Core MVC是由MVC中间件提供的框架,而Filter属于MVC中间件提供的功能。 区别 中间件可以处理所有的请求,而Filter只能处理对控制器的请求&#x…

基础篇05-图像直方图操作

本节将简要介绍Halcon中有关图像直方图操作的算子,重点介绍直方图获取和显示两类算子,以及直方图均衡化处理算子。 目录 1. 引言 2. 获取并显示直方图 2.1 获取(灰度)直方图 (1) gray_histo算子 (2) gray_histo_abs算子 (3…

MySQL | Navicat安装教程

MySQL | Navicat安装教程 🪄个人博客:https://vite.xingji.fun 简介 Navicat 是一款流行的 图形化数据库管理工具,由 PremiumSoft 公司开发,支持多种主流数据库系统(如 MySQL、MariaDB、SQL Server、Oracle、Postgre…

硬件实现I2C案例(寄存器实现)

一、需求分析 二、硬件电路设计 本次案例需求与前面软件模拟案例一致,这里不再赘述,不清楚可参见下面文章:软件模拟I2C案例(寄存器实现)-CSDN博客 值得注意的是,前面是软件模拟I2C,所以并没有…

基于SpringBoot养老院平台系统功能实现六

一、前言介绍: 1.1 项目摘要 随着全球人口老龄化的不断加剧,养老服务需求日益增长。特别是在中国,随着经济的快速发展和人民生活水平的提高,老年人口数量不断增加,对养老服务的质量和效率提出了更高的要求。传统的养…

matlab simulink 汽车四分之一模型轮胎带阻尼

1、内容简介 略 matlab simulink121-汽车四分之一模型轮胎带阻尼 可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 4、参考论文 略