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

按键精灵安卓/ios脚本开发辅助工具:yolo转换教程

按键精灵安卓版:yolo函数需使用.ncnn格式模型

按键精灵iOS新版:yolo函数需使用.mlpackage或.mlmodel格式模型,未来会支持.ncnn,相同模型下苹果原生ml执行效率与性能消耗优于ncnn

准备工作

1、python v3.8或以上版本环境(通过Anaconda或Miniconda等虚拟环境管理软件可以切换python版本及环境,以避免环境冲突,非必要)

2、以上格式模型均由.pt模型转换,因此需先自行训练.pt模型

转换步骤(.pt转.ncnn)

步骤 1:安装必要依赖包

如已安装可以跳过

//安装ultralytics、pnnx、ncnn
pip install ultralytics pnnx ncnn -i https://mirrors.aliyun.com/pypi/simple///安装PyTorch(任选一种方式)
//方法一:使用 conda虚拟环境安装(推荐):
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
//方法二:使用 pip 安装:
pip install torch torchvision torchaudio
步骤 2:切换工作目录到模型目录

打开命令行终端输入:

//切换盘符
f:
//切换工作目录到.pt模型存放目录
cd yourModelDir

yourModelDir:为你的.pt模型存放目录,实际操作过程中替换成自己的目录,以下步骤中同义

yourModelName:为你的模型名称,实际操作过程中替换成自己的模型名称,以下步骤中同义

如未切换工作目录,后续操作需使用绝对路径

步骤 3:导出torchscript文件
yolo export model=yourModelName.pt format=torchscript

导出成功后将在工作目录yourModelDir下生成同名.torchscript 文件,即yourModelName.torchscript

步骤 4:静态形状转换
pnnx yourModelName.torchscript

转换成功后将在工作目录yourModelDir下生成:

Python模型定义文件,后续转换标准版模型需要用到:

yourModelName_pnnx.py

简化版模型文件,如只需简化版模型到这一步可以退出,yolo.setModel函数的modelType参数设置1,但会损失一定精度:

yourModelName.ncnn.bin

yourModelName.ncnn.param

步骤 5:修改 yourModelName_pnnx.py文件设置

不同yolo版本修改位置不同,以ncnn官方教程为准,以yolov8为例:

修改前:

v_165 = v_142.reshape(1, 87, 6400)
v_166 = v_153.reshape(1, 87, 1600)
v_167 = v_164.reshape(1, 87, 400)
v_168 = torch.cat((v_165, v_166, v_167), dim=2)

修改后:

v_165 = v_142.reshape(1, 87, -1).transpose(1, 2)
v_166 = v_153.reshape(1, 87, -1).transpose(1, 2)
v_167 = v_164.reshape(1, 87, -1).transpose(1, 2)
v_168 = torch.cat((v_165, v_166, v_167), dim=1)
return v_168

注意:v_165-v_168的reshape第1、第2个参数值不固定,修改前后需保持一致,即如修改前是1, 87,修改后还是保持1, 87

步骤 6:重新导出torchscript
python -c "import yourModelName_pnnx; yourModelName_pnnx.export_torchscript()"

输出成功后将在工作目录yourModelDir下生成:

yourModelName_pnnx.py.pt

步骤 7:动态形状转换
pnnx yourModelName_pnnx.py.pt inputshape=[1,3,640,640] inputshape2=[1,3,320,320]

转换成功后将在工作目录yourModelDir下生成:

标准版模型文件,yolo.setModel函数的modelType参数设置2,可以重命名为自己需要的名称,后缀名不能修改:

yourModelName_pnnx.py.ncnn.bin

yourModelName_pnnx.py.ncnn.param

http://www.dtcms.com/a/605723.html

相关文章:

  • 人工智能驱动下的OCR API技术演进与实践应用
  • 昆明网站建设介绍湛江专业雷剧全集
  • 网站到期时间营销型网站服务公司
  • 常用设计模式:工厂方法模式
  • 视频矩阵哪个品牌好?2025 视频矩阵品牌标杆出炉
  • MongoDB 分片
  • 网站访客qq获取苏州建网站公司
  • Vue 3与 Vue 2响应式的区别
  • 自主建站平台怎样在百度建网站
  • 开源白板工具(SaaS),一体化白板,包含思维导图、流程图、自由画等
  • 九、InnoDB引擎-MVCC
  • Cesium 性能优化:从常识到深入实践
  • 购物网站的排版番禺品牌型网站建设
  • 想学习网站建设网络公司起名大全最新
  • claude 国内注册方法(2025 年 11 月更新)
  • 研究生看文献笔记总记不好?
  • C# call store procedure with table input parameters
  • 怎么样用自己电脑做网站实用设计网站推荐
  • 【uniapp实践】主题样式配置浅色深色以及自定义
  • LangChain Model I/O 使用示例
  • 北京做网站设计公司网站开发主要参考文献
  • AI 十大论文精讲(三):RLHF 范式奠基 ——InstructGPT 如何让大模型 “听懂人话”
  • GPT-5.1 发布:更智能也更“人性化“的 AI 助手
  • std::bind 的简单使用
  • 中山网站seo关键词国外开源建站系统
  • [论文阅读]Friend or Foe: How LLMs‘ Safety Mind Gets Fooled by Intent Shift Attack
  • 北京出名做网站的公司怎么查网站注册信息
  • 梧州网站建设制作个人服务器网站备案
  • ppo爬坡代码及解释
  • 广东省建设厅官方网站多少钱网站logo例子