当前位置: 首页 > news >正文

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.lryc.cn/news/534336.html

相关文章:

  • 提示工程:少样本提示(Few-shot Prompting)
  • 方舟字节码原理剖析:架构、特性与实践应用
  • 深入Linux系列之环境变量
  • 国产编辑器EverEdit - Web预览功能
  • C#中的Frm_Welcome.Instance.Show(),是什么意思
  • 07苍穹外卖之redis缓存商品、购物车(redis案例缓存实现)
  • C++开发(软件开发)常见面试题
  • 人工智能-A*算法与卷积神经网络(CNN)结合实现路径规划
  • 蓝桥杯备赛——进制转化相关问题
  • DevOps的个人学习
  • 使用Pytorch训练一个图像分类器
  • 《ARM64体系结构编程与实践》学习笔记(四)
  • 01-SDRAM控制器的设计——案例总概述
  • 京准:NTP卫星时钟服务器对于DeepSeek安全的重要性
  • uniapp访问django目录中的图片和视频,2025[最新]中间件访问方式
  • RuoYi-Vue-Oracle的oracle driver驱动配置问题ojdbc8-12.2.0.1.jar的解决
  • python脚本实现windows电脑内存监控内存清理(类似rammap清空工作集功能)
  • 【狂热算法篇】并查集:探秘图论中的 “连通神器”,解锁动态连通性的神秘力量
  • SpringBoot中实现动态数据源切换
  • 数据结构及排序算法
  • Python基础-元组tuple的学习
  • 【手写公式识别】MEMix: Improving HMER with Diverse Formula Structure Augmentation 论文阅读
  • 使用deepseek写一个飞机大战游戏
  • 用Kibana实现Elasticsearch索引的增删改查:实战指南
  • C# 封送和远程编程介绍
  • MybatisPlus较全常用复杂查询引例(limit、orderby、groupby、having、like...)
  • 02.07 TCP服务器与客户端的搭建
  • Jenkins数据备份到windows FTP服务器
  • 【R语言】卡方检验
  • ASP.NET Core托管服务