yolov5 ncnn
c++ input_size要设置为640,即onnx导出模型输入是320,
如果onnx输入改为640,Android执行会死机。
原版是394,375,output,3.0输出是:
394,374,output,这3个是看对应onnx或者sim.onnx的输出层,
{"394",32,{{116,90},{156,198},{373,326}}},
{"374",16,{{30,61},{62,45},{59,119}}},
{"output",8,{{10,13},{16,30},{33,23}}},
举个栗子:onnx或者sim.onnx都有:
yolov5 ncnn
精简版,只有yolov5,ok
https://github.com/sunnyden/YOLOV5_NCNN_Android
有Android 4.0 ios,还有别的网络,比如yolov4
https://github.com/cmdbug/YOLOv5_NCNN
https://github.com/WZTENG/YOLOv5_NCNN
步骤:
1.torch转onnx
2.
./onnx2ncnn crnn_lite_lstm_v2-sim.onnx crnn_lite_lstm_v2.param crnn_lite_lstm_v2.bin
如果报层不支持,
pip install onnx-simplifier pip install onnxruntime
2、onnx再精简模型python -m onnxsim c:/resnet50.onnx c:/resnet50-sim.onnx
这个如果报错:
第二步:
python -m onnxsim _0.9628_1471.onnx crnn_lstm_ex.onnx
E:\project\hjam\ncnn\build-vs2017\tools\onnx\onnx2ncnn.exe crnn_lstm_ex.onnx yolov5s_out.param yolov5s_out.bin
(base37) C:\WINDOWS\system32>python -m onnxsim I:\OCR\chineseocr_lite-onnx\models\crnn_lstm.onnx I:\OCR\chineseocr_lite-onnx\models\crnn_lstm_ex.onnx
Simplifying...
Traceback (most recent call last):
File "E:\ProgramData\Anaconda3\envs\base37\lib\runpy.py", line 193, in run_module_as_main
"main", mod_spec)
File "E:\ProgramData\Anaconda3\envs\base37\lib\runpy.py", line 85, in run_code
exec(code, run_globals)
File "E:\ProgramData\Anaconda3\envs\base37\lib\site-packages\onnxsim_main.py", line 52, in
main()
File "E:\ProgramData\Anaconda3\envs\base37\lib\site-packages\onnxsim_main.py", line 40, in main
args.input_model, check_n=args.check_n, perform_optimization=not args.skip_optimization, skip_fuse_bn=not args.enable_fuse_bn, input_shapes=input_shapes, skipped_optimizers=args.skip_optimizer, skip_shape_inference=args.skip_shape_inference)
File "E:\ProgramData\Anaconda3\envs\base37\lib\site-packages\onnxsim\onnx_simplifier.py", line 331, in simplify
model, const_nodes, input_shapes=input_shapes)
File "E:\ProgramData\Anaconda3\envs\base37\lib\site-packages\onnxsim\onnx_simplifier.py", line 172, in forward_for_node_outputs
res = forward(model, input_shapes=input_shapes)
File "E:\ProgramData\Anaconda3\envs\base37\lib\site-packages\onnxsim\onnx_simplifier.py", line 157, in forward
inputs = generate_rand_input(model, input_shapes=input_shapes)
File "E:\ProgramData\Anaconda3\envs\base37\lib\site-packages\onnxsim\onnx_simplifier.py", line 108, in generate_rand_input
'please determine the input size manually by --input-shape xxx'.format(key))
RuntimeError: The shape of input "input" has dynamic size, please determine the input size manually by --input-shape xxx
使用onnx_simplify时,--input-shape 参数应该怎么写,上面使用时,没写--input-shape参数
输入尺寸没写,才会这样,写了输入尺寸就可以转换了。
yolov5 ncnn相关推荐
- 目标检测 YOLOv5 - ncnn模型的加密 C++实现封装库和Android调用库示例
目标检测 YOLOv5 - ncnn模型的加密 C++实现封装库和Android调用库示例 flyfish 文章目录 目标检测 YOLOv5 - ncnn模型的加密 C++实现封装库和Android调 ...
- NCNN+Int8+yolov5部署和量化
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 [引言] 刚开始准备写yolov5+ncnn+int8量化的教程,却在yolov5的量化上遇到了麻烦, ...
- 深度学习目标检测(YoloV5)项目——从0开始到项目落地部署
前言 训练和开发环境是win10,显卡RTX3080;cuda10.2,cudnn7.1;OpenCV4.5;yolov5用的是5s的模型,2020年8月13日的发布v3.0这个版本; ncnn版本是 ...
- YOLOv5-Lite:NCNN+Int8部署和量化,树莓派也可实时
本文版权属于GiantPandaCV,未经允许请勿转载 前言: 还记得我在两个月前写的文章吗,关于yolov4-tiny+ncnn+int8量化的详细教程: https://zhuanlan.zhih ...
- 安卓目标检测,目标跟踪,人流量计数
先看效果, 推理时间不到30ms. 大多数目标检测,目标追踪网络模型部署在终端,用的Python,CUDA环境,只能参考流程,案例Python环境下实现的人流量计数,代码跑跑,效果如下 根据这个案例, ...
- 基于全志D1-H和XR806的名贵植物监控装置
该毕业设计是使用全志D1-H哪吒开发以及XR806开发板,再辅以外围的各种电路和传感器原件,制作而成的一个名贵植物监控装置. ![在这里插入图片描述](https://img-blog.csdnimg ...
- ncnn opencv VS2017 window10 yolov5调用摄像头实时目标检测
Contents 环境下载.编译 1 OpenCV-4.5.4下载.配置 2 CMake下载安装.配置 3 下载.编译protobuf-3.4.0 4 下载.编译ncnn VS2017新建项目--编译 ...
- yolov5 6.0版本->onnx->ncnn +安卓部署 附加ncnn环境配置 保姆级详细教程
目标检测:yolov5 6.0版本 ncnn环境安装 至 +安卓部署 一条龙教程 文章目录 背景 一.准备阶段 1.参考文章 #2.流程 二.pt模型->onnx 三.Windows下ncnn环 ...
- 腾讯优图NCNN详细分析及实践操作(含Yolov5实践)
欢迎关注" 计算机视觉研究院 " 计算机视觉研究院专栏 作者:Edison_G 11 月 19 日,历经数月打磨,由InfoQ发起并组织,共有300+参评项目,100+入围项目,1 ...
最新文章
- Java并发源码之ReentrantLock
- [云炬创业基础笔记]第四章测试19
- Oracle CheckPoint进程
- MongoDB索引问题
- mysql在官网下载完解压后安装
- Java JDK下载安装及环境配置超详细图文教程
- 如何让Word表格文字上下居中?
- 某宁detect、feature参数分析
- oracle数据库rac切换,RAC切换归档模式
- Zer0pts2020 easy strcmp
- FPGA知识汇集-值得收藏的FPGA代码命名规范?
- java int 比较大小_3个int整数比较大小?
- (IS 19)wav2vec: Unsupervised Pre-training for Speech Recognition
- 基于Android平台的图书管理系统的制作(1)
- mybatis中使用小于号<
- BootStrap响应式项目实战之世界杯网页设计
- 机械臂操作运动传送带上的物体
- MAC版本Mysql数据库忘记密码解决教程
- NPL基于词典分词(一)
- 关于时间管理的一些心得
热门文章
- VS2010中的调试技巧
- 深入理解Spark Streaming执行模型
- 得到文件的服务器路径,如何获取服务器上的路径?
- 设置居中_微信设置个性签名居中,超简单!
- 数据结构 - 把二元查找树转变成排序的双向链表(C++)
- Design Pattern - Command (C#)
- java出现404的原因是_为什么使用eclipse总是出现404
- oracle两表链接序列跳序,Oracle学习之 序列(Sequence)
- matlab gui uiwaitbar,MATLAB GUI嵌入进度条(waitBar) | 学步园
- wxpython使用folium_wxPython实现文本框基础组件