![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度学习
文章平均质量分 63
code bean
wpf/halcon/算法 技术分享~~~~
展开
-
【深度学习】目标检测,实例分割,语义分割 逐一对比
目标检测(Object Detection),实例分割(Instance Segmentation)和语义分割(Semantic Segmentation)是计算机视觉领域中三个相关但有着不同任务和目标的问题。原创 2023-12-15 16:28:37 · 1512 阅读 · 4 评论 -
【halcon深度学习】图像分割数据集格式的转换
目前用于**图像分割的**数据集,我目前接触到的用的比较多的有: 1 PASCAL VOC 2 COCO 3 YOLO 4 Halcon自己的格式(其实就是Halcon字典类型)原创 2023-08-28 16:49:24 · 1519 阅读 · 0 评论 -
【halcon踩坑】Wrong number of values of control parameter 1 in operator dump_window_image
今天搞深度学习时遇到一个很奇葩的问题,之前程序运行没有问题,然而准备加上显示,在加上显示控件HSmartWindowControlWPF后就报错(启动时就报错):将halcon.dll从运行目录本地移除程序就能启动成功。但是,没法加载训练模型(运行时报错!原创 2023-04-15 14:05:39 · 3825 阅读 · 13 评论 -
【halcon深度学习 】 ApplyDlModel报错
还是dll的问题,没耐心了,干脆cuda11_1下的DLL全部都放到Debug目录下,如此报错消失!很明显这也是个dll的问题,于是我在目录。原创 2023-04-14 17:26:24 · 657 阅读 · 0 评论 -
【halcon深度学习】read_dl_model 报错
在Halcon上都能运行,不会报错,但是转换成C#运行就报错。原创 2023-04-14 16:23:58 · 813 阅读 · 2 评论 -
pytorch gpu版 yolov5 报错
AttributeError: 'Upsample' object has no attribute 'recompute_scale_factor' 解决方法,修改pytorch 源码:Lib\site-packages\torch\nn\modules下找到文件upsampling.py错误二:RuntimeError: result type Float can't be cast to the desired output type xxxyolov5下的 【utils 文件夹】中的【l原创 2022-07-12 08:55:39 · 2882 阅读 · 2 评论 -
理解 YOLOV1 第二篇 预测阶段 非极大值抑制(NMS)
那么交并比就是:上篇文章中《理解 YOLOV1 第一篇 预测阶段_code bean的博客-CSDN博客》我们预测出了98个候选框,那么我们现在要做的就是筛选出最为准确的那几个。我们首先将其中一类(比如狗)的候选框按全概率进行降序排序,然后将所有的候选框和第一个比较,如果候选框的交并比大于某个阈值,就直接将此候选框对应的概率清零(相当于排除该候选框,因为交并比过大说明是重复的选择,概率有比最大的小,所以可以干掉)如上图所示,黄色框和绿色框交并比大于0.5结果,绿框被干掉了。 经过了第一轮,和第一个框交并比过原创 2022-07-04 10:51:29 · 707 阅读 · 0 评论 -
理解 YOLOV1 第一篇 预测阶段
首先看YOLOV1的网络结构,感觉就是普通的卷积神经网络: 最终输出是一个7*7*30的黑盒子,把它想象成一本7*7大小的有着30页的一本书。 书的每一页,由49个方格(grid cell)组成, V1版本中每个grid cell预测2个选框(bounding box,bounding box的中心落于该gridcell)所以一共可以生成98个bounding box。每个bounding box,含5个参数:1 x,y bounding box的中心点的位置2 h,w bounding box的宽原创 2022-07-02 17:11:21 · 782 阅读 · 0 评论 -
卷积神经网络CNN中的卷积操作详解
从公式看,卷积就是相乘再相加的过程 从这张图看,卷积就是之前的点对当前点的影响。有人说,卷积就是瞬时行为的持续性后果。 在CNN的卷积操作中,其实也是先相乘再相加,这里通过卷积核,实现一个目的,就是周围像素点对中心像素点的影响。 那不同的卷积核,对图像的影响是不同的:去噪:挑出,垂直边界货水平边界 那有人,可能会问了,那想提取某个特殊的特征,这个卷积核怎么去设置呢?那其实这个卷积核的值可以先随便预设一个,然后训练后通过反向传播进行优化。 也就是说,我们可以通过不用的卷积核挑出来不同特征,让后再将这些特征原创 2022-06-30 17:32:31 · 5508 阅读 · 10 评论 -
pytorch 多分类中的损失函数
pytorch 中的损失函数:在多分类的时候,我们希望输出是符合概率分布的,所以利用Softmax做了归一化的处理。原创 2022-06-28 15:58:33 · 16150 阅读 · 3 评论 -
pytorch DataLoader实现miniBatch(未完成)
书接上回《pytorch 搭建神经网络最简版》上次并未用到miniBatch,一次性将全部的数据输入进行训练。这次通过DataLoader实现miniBatch。截取关键代码:batch_size 每个批次训练的大小,如果总的数据条数是7490条,那么此时train_loader 中将会产生10个batch。shuffle是洗牌的意思,就是打乱数据的顺序后再数据放到10个batch里。而此时我为啥,要将 batch_size设置成29,且设置为不洗牌。是因为我想和之前的过程进行对比。因为此时数据原创 2022-06-25 14:42:11 · 536 阅读 · 0 评论 -
pytorch 搭建神经网络最简版
数据集为,糖尿病患者各项指标以及是否换糖尿病。 diabetes.csv 训练集diabetes_test.csv 测试集从代码看出,从一开始数据特征维度为8维,通过一层层的降维最终输出一维数据(输入虽然是多维,但是输出是一维一个概率值,仍然是个二分类问题)如: Linear(8, 6) 表示输入特征是8维,输出特征6维。此时考虑的维度是列(未知数个数)。不考虑行的维度的,因为行的维度表示的是样本的个数,而对于pythroch的函数,样本个数是无所谓的,一个也行,一堆也罢,它只关心列的维原创 2022-06-24 19:56:12 · 419 阅读 · 0 评论 -
深度学习,从一维特性输入到多维特征输入引发的思考
当看到这张图的时候,我的第一个反应是,原来激活函数是这么个意思啊!单看一维的时候,还没有这么强烈的感受,但是看到多维的时候,就有这个感觉的。一开始在想,为啥要将一条数据的八个特征带入线性方程相加 再给西格玛?然后想到,因为每个特征对整体的共享不同,所以又不同的wb,有wb的加持,所以将特征值相加也不是不能理解。再将线性系统的结果值给西格玛,这样系统就有了非线性,这也是激活函数想达到的目的——能够拟合出更复杂的决策边界。接着看这张图:这张图有两个启示:1 凡是相乘再累加的形式,其实都可以转换成向量的乘法,反过原创 2022-06-24 08:22:12 · 651 阅读 · 0 评论 -
最大似然估计,散度,交叉熵
如果这个信息,可以将之前非常不确定的事情,确定了,说明这个信息的信息量很大!这张图是解释,数学家如何定义信息量的过程:也就是说,阿根廷夺冠的信息量 = 阿根廷进决赛的信息量+阿根廷赢了决赛的信息量,但是x本身是概率,所以这里的1/8 是 x1*x2 的结果。及:这种特性是log特有的。 然后底数大于1的时候,log单调递增,所以加上负号让其单独递减。到此信息量的定义完成了。接下看信息熵的定义:求信息熵的过程就是求期望的过程:信息量乘以事件发生的概率,然后求和。 信息熵,描述的是“消息”的不确定性程度或者说是原创 2022-06-22 20:28:50 · 468 阅读 · 0 评论 -
pytorch的模块使用:线性模型(未完成)
首先上代码,注意代码里的注释,一般的在注释里说明:原创 2022-06-21 17:32:38 · 122 阅读 · 0 评论 -
为啥要使用梯度下降法
求最大值最小值的两种主流方法: 将导致设置为0当然是最简单的方法,但是有时求导之后,没法发保证左边只包含w,而右边不包含的情况,此时需要使用梯度下降法。先随便给一个w的初始值,然后根据导函数,一步步的迭代,直到w收敛。此时w的对应的f(w)值也越来越趋近最小值!...原创 2022-06-21 10:54:05 · 271 阅读 · 0 评论 -
前馈和反向传播
x: 样本w: 权重f: 模型函数z: 预测值loss: 损失函数正向传播时,函数为f,x,w是变量z是因变量。反向传播时,函数为loss(L),z是变量x,w是因变量。原创 2022-06-20 21:17:48 · 850 阅读 · 4 评论 -
【炼丹】炼丹之如何打标(未完成。。。)
背景说明机器学习/深度学习 这一过程就像炼丹,练成之后确实很有成就感。炼丹第一步,打标。对于较为复杂的视觉项目(不是简单的二分类),我们需要对一张图片的不同的地方做不用的标准,来告诉机器这里是个啥。大概过程就是,用一个多边形框住一个区域,指定该区域的类型。 "label":"Title", "points":[ [ 553.1111111111111, 166.59259259259258 ],原创 2022-05-19 09:41:13 · 356 阅读 · 0 评论 -
【记录】Paddlex安装过程
pip install paddlex -i https://mirror.baidu.com/pypi/simple当前这条命令安装的版本是2.1.0(2022年5月18日)踩坑:一开始使用的是python3.9,安装都快结束了,报个错,大意就是scikit-learn,然后我发现此时官网当前使用的版本是3.7.4,于是我将python切换成3.7.4(如何让多个版本共存,请参考上一篇《【python】virtualenv 通过最简单的方式将虚拟环境用起来_code bean的博客..原创 2022-05-18 14:15:28 · 2154 阅读 · 0 评论