![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Knowledges
文章平均质量分 84
m0_46429066
这个作者很懒,什么都没留下…
展开
-
Paddle分割模型部署到windows平台的QT软件中(C++)
目的:使用paddleseg开源框架训练分割模型,并将训好的模型转为C++代码,部署到已有的C++项目中,提供视觉检测模块,平台为windows10, QT5.12.8。硬件环境:服务器或者带有GPU的电脑,用于训练paddleseg模型;目标部署电脑: windows10系统,QT5.12.8, VS2017,;软件环境:CUDA11.0, cudnn8.0 模型训练电脑;Paddlepaddle, PaddleSeg, labelme(标注数据);Paddleinferen原创 2022-04-19 22:14:38 · 2478 阅读 · 2 评论 -
QT+VS编写C++版本UR机械臂-视觉控制软件经验
目的:项目需求,需要将UR的控制程序以及测试代码编写为软件,使用QT进行编写,QT具有UI界面拖拽设计的优点;同时还需要控制相机进行实时显示图像,保存图像;最终通过给定的测试点坐标,控制机械臂移动到想要的位置;环境:Window10, QT5.12.8, VS2017, opencv4.2, Basler相机,Pylon viewer5.10; 大恒相机,Galaxy viewer;注意的关键点:必须先安装VS, 再安装QT,因为qt需要编译器,会在安装过程中默认选择vs2017;否则反过.原创 2021-10-18 00:44:39 · 3719 阅读 · 1 评论 -
python利用pybind11调用C++函数进行加速
目的: 由于python遍历图像像素的方式问题,处理相同图像比C语言要慢很多,不能实现实时的处理图像,所以需要将遍历图像的部分代码改写成c++代码,因为c++中遍历数组的方式是通过地址直接访问,所以速度很快;然后编译成库函数,通过Python调用库函数实现python和c++混合编写,加速代码的处理速度。实现方式: ctypes, pybind11, cython,等等,目前有很多种连接Python和c++的工具型项目;其中的cython和pybind11较为流行,而他们各有优缺点,参见:不同的pytho原创 2020-09-09 16:21:24 · 709 阅读 · 0 评论 -
使用register_hook()函数导致显存溢出的问题
hook()函数的作用很强大,pytorch中通常会自动舍弃图计算的中间结果,所以想要获取网络中间层的输出结果或者某些变量的梯度,就可以使用Hook函数来实现,hook函数包括tensor的hook和nn.Module的hook,用法相似。hook函数主要有x.register_hook(hook), layer.register_forward_hook()和layer.register_backward_hook(),x是模型的参数,第一个主要用于获得x的梯度信息,后面两个主要用于模型前向和后向运行中获原创 2020-05-24 12:19:33 · 944 阅读 · 4 评论 -
分类任务对数据集shuffle的重要性
在每个迭代之前分别使用两种方式对数据集进行处理,使用shuffle对数据集进行打乱重排序对数据集使用sampler采样,分成训练集和验证集实验验证使用shffle验证集精度和训练集精度差不多,而使用sampler采样验证集精度比训练集精度低7个点,明显出现了过拟合,所以对数据集使用shffle非常重要。...原创 2020-03-26 10:50:25 · 695 阅读 · 0 评论 -
Pytorch之scatter(),gather()函数
scatter函数:scatter_(dim, index, src) → TensorParameters:dim (int) – the axis along which to index index (LongTensor) – theindices of elements to scatter, can be either empty or the same sizeof sr...原创 2020-03-21 18:24:10 · 349 阅读 · 0 评论 -
PIL库和OpenCV中的LUT函数在cuda上快速实现
PIL库和OpenCV中的各种函数都使用了并行架构实现了多线程处理,处理速度都很快,但是有时候想要在GPU上实现差不多的函数功能,比如LUT查表函数,它能够快速的将一个数组映射到另一个数组,要想在GPU上实现这样的功能,就需要解决处理速度的问题,利用for循环肯定不行,一张图片(128*128)就有一万多像素点,一张图片循环下来,就需要十几秒,非常不切实际;经过查阅资料,利用Pytorch中对T...原创 2020-03-20 13:50:42 · 545 阅读 · 0 评论