![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
模型部署
文章平均质量分 64
Ceri
这个作者很懒,什么都没留下…
展开
-
模型部署之——ONNX模型转RKNN
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。原创 2023-12-27 14:39:43 · 1787 阅读 · 0 评论 -
模型部署之——RKNN分类前处理之16字节抠图Resize并对齐
RKNN分类前处理之16字节抠图Resize并对齐原创 2023-08-04 14:38:29 · 89 阅读 · 0 评论 -
模型部署之——yolov5、yolov7等基于anchor-based解码后处理过程
假设输入为640640的图像,经过fpn-pan结构得到2020,4040,8080三种尺度的特征图:20x20的特征层对应的anchor是[116,90],[156,198],[373,326];40x40的特征层对应的anchor是[30,61],[62,45],[59,119];80x80的特征层对应的anchor是[10,13],[16,30],[33,23];三个特征层上的缩放32、16、8。提示:以下是本篇文章正文内容,下面案例可供参考首先计算20*20特征层的操作。原创 2023-12-20 15:19:22 · 1482 阅读 · 0 评论 -
模型部署之—yolox、yolov6等解码后处理过程
假设输入图像是640 * 640:输出三个维度的特征分别是: 80 * 80;40 * 40;20 * 20。三个特征层上的缩放8、16、32。提示:以下是本篇文章正文内容,下面案例可供参考首先计算20*20特征层的操作以上基本就是基于yolox的解码后处理过程。相对于v5, v7anchor-based的解码方式相对更简单一些,但是最后一步解码需要注意。yolox的x,y坐标输出没有做sigmod,w,h用的是exp来解码,类别是用的是sigmod。v5, v7则全部是用的是sigmod进行解码。原创 2023-12-27 12:32:57 · 882 阅读 · 0 评论 -
模型部署之——解决pytorch转onnx模型出现identify
点击模型输入input的graph,可以看到使用的torch版本信息,这里是torch1.13,对应onnx是v13,解释一下onnx显示的v13版本是 torch.onnx.export函数中opset_version对应的输出版本。查询资料有些博客说identify就是f(x)=x的算子op,其实不尽然,上面转的模型是直接作为输入了,本模型中没有其他的输入,只有img。在官网模型发现其版本中本有identify的op,但应版本为pytorch1.2,opset_version为9。原创 2022-08-22 14:21:13 · 2604 阅读 · 1 评论 -
人脸检测几种模型在RK3399上推理速度对比
9条消息) 树莓派上几种人脸检测模型对比_熊叫大雄的博客-CSDN博客首先在可以参考上述博客。可知主流几款人脸检测模型MTCNN,CenterFace,RetinaFace,UltraFace-1MB,LFFD在树莓派上的运行时间。以下为结论:测试图片:Selfie.jpg分辨率:2048*1150,大小,417Kb。...原创 2022-08-03 16:24:05 · 2396 阅读 · 0 评论 -
ubuntu安装多版本opencv并存(解决ncnn编译出现“*“ is not member of cv)
最近搞人脸部署,其中涉及仿射变换,并且使用cv::estimateRigidTransform函数计算仿射矩阵一直报错 is not member of问题。猜测是否是调用opencv出现的问题。cmake的时候发现ncnn默认调用的opencv4.2.0,并且是在/usr下面找的,不对啊,我明明是在/usr/local/下面安装的4.0.1。为啥出现这个问题?最后发现在/etc/ld.so.conf.d里面查到信息如下深入到/ld.so.conf.d文件夹,发现结构如下.原创 2022-04-01 16:39:38 · 3329 阅读 · 0 评论 -
NCNN和OPENCV 数据互相转换
ncnn::Mat 转 cv::Matncnn::Mat in = ncnn::Mat::from_pixels(a.data, ncnn::Mat::PIXEL_BGR2RGB, a.cols, a.rows);cv::Mat 转ncnn::Mat//You may need to call in.substract_mean_normalize() first to scale values from 0..1 to 0..255// ncnn::Mat in(w, h, 3);c原创 2022-03-01 15:23:16 · 3231 阅读 · 5 评论 -
PNNX Pytorch torch.jit.trace( ) 用法(pth转pt模型)
import torchfrom * import mymodelfrom data import cfg_mnet, cfg_re50def check_keys(model, pretrained_state_dict): ckpt_keys = set(pretrained_state_dict.keys()) model_keys = set(model.state_dict().keys()) used_pretrained_keys = model_keys &.原创 2022-01-24 17:45:24 · 4280 阅读 · 7 评论 -
对训练测试推理BN层的理解(总结)
参考:1、https://blog.csdn.net/qq_36867398/article/details/1033087532、模型推理加速技巧:融合BN和Conv层 - 知乎一、训练 训练的时候BN层是以每个channel来计算均值和方差,比如是如的是64*32*32*3,3代表channel,当前假如是rgb,64是batchsize。首先在r,g,b上分别求出当前图像所有像素点的均值和方差,然后在batch上求平均,得到该组batch数据的局部数据均值和方差。然后引入bn层中...原创 2022-01-10 15:55:32 · 4085 阅读 · 0 评论 -
Pytorch 模型通过转为ncnn移植android
模型转换pytorch转onnximport torch.utils.datafrom torch.autograd import Variablefrom squeezenet import squeezenet1_2import onnxruntimeimport numpy as npfrom onnxruntime.datasets import get_exampleimport cv2import onnxmodel_file = '/home/bbt/qinghua转载 2021-12-29 16:20:48 · 1763 阅读 · 3 评论 -
python 调用onnxruntime 实现单输入多输出
做模型部署的时候需要将模型转换为onnx,转换好之后需要将图像传入验证对比原来的pth看输出参数是否一致。我的模型输出有三部分,直接贴出代码了,注释那部分可以实现指定输出部分。import onnxruntime as ortort_session = ort.InferenceSession('./RetinaFace.onnx') #加载模型并且初始化input_name = ort_session.get_inputs()[0].name # outputs_1 = ort...原创 2021-12-22 10:33:35 · 4578 阅读 · 1 评论