- 博客(29)
- 收藏
- 关注
原创 MindSpore训练并测试UNet
pytorch风格大致类似,nn.Cell对应pytorch中的nn.Module注意MindSpore卷积,如果存在padding,需要设置pad_mode='pad'import osreturn outreturn out。
2025-03-26 18:21:01
203
原创 UNet-PTQ量化部署(二)
对模型采用混合精度量化的目的主要是为了提升速度的同时,避免模型因为INT8量化造成精度下降比较严重的问题。通过对模型的结构进行敏感层分析,将精度下降较多的层保持更高精度。网址进行可视化,对比一下量化前后的模型结构,可以看到在需要量化的部分插入了很多量化和反量化节点。在转engine时,将mix_type设置为True,同时将量化参数设为int8。进行校准的数据集与训练时候的dataloader写法类似。
2025-03-20 12:13:15
358
原创 UNet-PTQ 量化部署(一)
Visio Studio尽量安装2019版本,不然会出现报错如果报错AttributeError: module 'distutils' has no attribute '_msvccompiler',可以将setuptools版本降低至72.1.0除此以外如果仍然遇到了错误(默认安装默认pip install onnxruntime-gpu==1.18.1安装的版本不一定对应):解决办法:其他的库自行安装即可,注意一定要安装GPU版本的,否则使用的是CPU。
2025-03-20 09:29:52
1026
原创 opencv+WLS进行双目视觉测量进
第一个就是opencvcontribuild的编译,需要使用cmake进行,直接编译source,网上有教程,注意如果最后想编译成一个opencv.lib需要勾选buildonetgarget。
2024-03-20 10:34:48
592
1
原创 TensorRT部署U_Net
数据后处理主要是将输出的结果(1,4,800,800)的张量通过对每个点的四个特征值的大小进行比较,找出最大值,0代表无缺陷,1带边第一类缺陷,2代表第二类缺陷,3代表第三类缺陷,同时建立他们之间的映射关系,0映射黑色,1映射红色…数据后处理这块主要遇到了两个问题,第一个是从显卡中转运数据时间太长,第二个是libtorch中矩阵张量的计算考虑转移到GPU进行,看能否缩短计算时间,经过测试并不行,涉及到libtorch中无法调用cuda的一些解决办法。普通内存的指针,开辟在堆区,逻辑地址。
2023-12-27 21:05:56
1373
1
原创 U_NET 网络onnx部署
这里边主要踩坑点,第一个是Mat和libtorch中的Tensor并非连续存储,进行数据转换的时候一定要注意,第二个是转换RRRGGGBBB的时候进行了正则化,对每个通道进行单独计算,可以采用opencv的库函数进行,libtorch的部署参考网上教程,注意添加环境变量后记得重启生效,不重启一般报错缺少dll。
2023-12-22 15:29:55
1181
原创 Tensorrt加速部署yoloV5 7.0分割算法
主要文件结构如上图,cpp文件最后一个没有什么作用,源码会进行公开不浪费大家的积分下载;engine可以通过python源码进行导出,源码下载可以自行搜索导出当时可以查看之前的tensorrt部署有详细的过程。
2023-12-13 11:49:55
682
1
原创 Linux下yolov5s+TensorRT C++检测的实现
( 1 ) 数据前处理时间太长,三个for循环,神奇的地方是将缩放图片放在主函数for循环里面时间就是20ms左右,但是放在for循环外侧,就是4ms左右,比较费解。(3)TensotRT的模型文件不能跨平台使用,而且与cuda版本和cudnn的版本、TensorRT的版本严格对应,在不同的环境下生成的engine文件可能会有问题。(2)在安装cuda驱动的时候总是会报错,换一种run的方式,除此以外,如果已经安装了Nvidia的驱动,安装的时候就不要勾选了。(3)CMakeLists.txt文件。
2023-10-17 18:35:41
230
原创 手写实现vectorC++
typename vector::value_type&前面必须添加typename,当函数声明或定义在类模板之外时,需要使用 typename 关键字来指示 value_type 是一个类型。里面的几个问题,重载=号返回引用。还有模板类没办法分文件编写。
2023-09-06 18:03:25
313
1
原创 C++部署yolov5s.onnx并使用GPU进行加速
我下载的是1.13.1GPU版本,VS2022,cuda11.6,cudnn8.6.0,仅供参考。除此之外关于cuda也要注意添加一些路径保证cuda能正常启用。其他关于opencv的配置属性可以查阅其他资料。
2023-05-15 09:55:20
2053
5
原创 优先队列一些用法
由于top函数是const函数,所以类中的getname相关的函数也应为const。bool重载<号是重载函数也必须要是const修饰的函数。
2023-05-06 19:44:27
62
原创 MFC中使用定时器
在某个按钮下添加需要启动定时器函数,低一个变量代表定时器编号,第二个是延时时间,第三个变量一般设为NULL,表示定时执行Ontimer函数。PS:如果发现定时器执行之后没反应,需要在添加ON_WM_TIMER(),在DLG.cpp中找到相应位置添加即可,不需要整段复制粘贴。首先在Dlg.h中添加函数afx_msg void OnTimer(UINT_PTR nIDEvent);中间部分根据自己需求更改即可。
2023-05-06 10:11:08
1628
原创 C++递归调用代码位于递归语句前和递归语句后的执行顺序
当代码位于递归语句之前时代码按照递归调用由外向内执行,但是函数还是由内向外执行。当代码位于递归语句之后时代码由内向外执行。
2023-05-05 09:37:58
332
原创 Visio Studio2022调用yolov5脚本+IntelrealsenseD405+opencv 4.6.0
近期项目需要使用MFC设计界面,调用yolov5脚本,实现检测结果的实时输出。
2023-03-30 21:14:00
984
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人