BLFaker84516
热爱编程、热爱生活!各种DIY设计,有想法,有行动!感谢大家关注收藏,不定期分享好项目源码及教程。
下载后,有问题请及时私信沟通,欢迎提问,欢迎来撩!
展开
-
Python学习笔记--Python关键字yield
原文:http://stackoverflow.com/questions/231767/the-python-yield-keyword-explained注:这是一篇 stackoverflow 上一个火爆帖子的译文。原创 2023-11-17 10:06:59 · 337 阅读 · 0 评论 -
Python学习笔记--通过慢慢演变一个需求,一步一步来了解 Python 装饰器
这样改是可以,可是这样改是改变了函数的功能结构的,本身这个函数定义的时候就是打印某个员工的信息和提示打卡成功,现在增加打印日期的代码,可能会造成很多代码重复的问题。有的,就是本文要介绍的装饰器,因为装饰器的写法其实跟闭包是差不多的,不过没有了自由变量,那么这里直接给出上面那段代码的装饰器写法,来对比一下,装饰器的写法和函数式编程有啥不同。那么这就很方便了,方便在我们的调用上,比如例子中的,使用了装饰器后,直接在原本的函数上加上装饰器的语法糖就可以了,本函数也无虚任何改变,调用的地方也不需修改。原创 2023-11-21 10:30:00 · 120 阅读 · 0 评论 -
Python学习笔记--过解决一个需求问题来了解闭包
闭包的过程其实好比类(父函数)生成实例(闭包),不同的是父函数只在调用时执行,执行完毕后其环境就会释放,而类则在文件执行时创建,一般程序执行完毕后作用域才释放,因此对一些需要重用的功能且不足以定义为类的行为,使用闭包会比使用类占用更少的资源,且更轻巧灵活。那是因为,在 Python 中,如果一个函数使用了和全局变量相同的名字且改变了该变量的值,那么该变量就会变成局部变量,那么就会造成在函数中我们没有进行定义就引用了,所以会报该错误。属性,如果函数是闭包的话,那么它返回的是一个由 cell 组成的元组对象。原创 2023-11-22 13:30:00 · 204 阅读 · 0 评论 -
Python学习笔记--常用的正则表达式
【代码】Python学习笔记--常用的正则表达式。原创 2023-11-21 08:30:00 · 56 阅读 · 0 评论 -
Python学习笔记--re.match 和 re.search
最后,正则表达式是非常厉害的工具,通常可以用来解决字符串内置函数无法解决的问题,而且正则表达式大部分语言都是有的。最后,附送一些常用的正则表达式和正则表达式和 Python 支持的正则表达式元字符和语法文档。而 re.search 匹配整个字符串,直到找到一个匹配。看下下面的实例,可以对比下 re.search 和 re.findall 的区别,还有多分组的使用。re.match 和 re.search 在网上有很多详细的介绍了,可是再个人的使用中,还是喜欢使用 re.findall。原创 2023-11-20 19:00:00 · 60 阅读 · 0 评论 -
Python学习笔记--数量词
贪婪模式:它的特性是一次性地读入整个字符串,如果不匹配就吐掉最右边的一个字符再匹配,直到找到匹配的字符串或字符串的长度为 0 为止。数量词的词法是:{min,max}。懒惰模式:它的特性是从字符串的左边开始,试图不读入字符串中的字符进行匹配,失败,则多读一个字符,再匹配,如此循环,当找到一个匹配时会返回该匹配的字符串,然后再次进行匹配直到字符串结束。来,继续加深对正则表达式的理解,这部分理解一下数量词,为什么要用数量词,想想都知道,如果你要匹配几十上百的字符时,难道你要一个一个的写,所以就出现了数量词。原创 2023-11-20 11:00:00 · 129 阅读 · 0 评论 -
Python学习笔记--字符集
在例子中,使用了取反字符集,也就是在左方括号 “[” 后面紧跟一个尖括号 “^”,就会对字符集取反。,就是所有小写字母中的其中一个,这里使用了连字符 “-” 定义一个连续字符的字符范围。好了,通过上面的几个实例我们初步认识了 Python 的正则表达式,可能你就会问,正则表达式还有什么规则,什么字母代表什么意思呢?注意了,字符和范围定义的先后顺序对匹配的结果是没有任何影响的。,匹配所有数字字符,其实它是等价于 [0-9],下面也写了个例子,通过字符集的形式解释了这些特殊字符。举个例子,比如你使用。原创 2023-11-19 12:30:00 · 97 阅读 · 0 评论 -
Python学习笔记--初识 Python 正则表达式
而且上面例子中的正则表达式设置成为了一个常量,并不是一个正则表达式的规则,正则表达式的灵魂在于规则,所以这样做意义不大。从输出结果可以看到,可以实现和内置函数一样的功能,可是在这里也要强调一点,上面这个例子只是方便我们理解正则表达式,这个正则表达式的写法是毫无意义的。正则表达式是一个特殊的字符序列,用于判断一个字符串是否与我们所设定的字符序列是否匹配,也就是说检查一个字符串是否与某种模式匹配。先不急,我们一步一步来,先来一个简单的,找出字符串中的所有小写字母。函数中第一个参数写正则表达式的规则,其中。原创 2023-11-19 10:30:00 · 100 阅读 · 0 评论 -
Python学习笔记--进程
Python 中的多线程其实并不是真正的多线程,如果想要充分地使用多核 CPU 的资源,在 Python 中大部分情况需要使用多进程。Python 提供了非常好用的多进程包 multiprocessing,只需要定义一个函数,Python 会完成其他所有事情。借助这个包,可以轻松完成从单进程到并发执行的转换。multiprocessing 支持子进程、通信和共享数据、执行不同形式的同步,提供了 Process、Queue、Pipe、Lock 等组件。原创 2023-11-18 15:30:00 · 82 阅读 · 0 评论 -
Python学习笔记--多线程编程
线程有着不同的状态,也有不同的类型。简单了解完这些之后,我们开始看看具体的代码使用了。原创 2023-11-18 12:30:00 · 105 阅读 · 0 评论 -
Python学习笔记--类和对象
这部分内容主要讲类和对象,我们先来说说类和对象之间的关系。我们得先有了类,才能制作出对象。类就相对于工厂里面的模具,对象就是根据模具制造出来的产品。原创 2023-10-29 08:45:00 · 106 阅读 · 0 评论 -
Python学习笔记--list 生成式(列表生成式)
之前经过我们的学习,都知道如何创建一个 list ,可是有些情况,用赋值的形式创建一个 list 太麻烦了,特别是有规律的 list ,一个一个的写,一个一个赋值,太麻烦了。比如要生成一个有 30 个元素的 list ,里面的元素为 1 - 30。但是,如果用到 list 生成式,可以一句代码就生成九九乘法表了。你没听错,就是一句代码。不过,这里我们先要了解如何创建 list 生成式。原创 2023-10-27 12:15:00 · 154 阅读 · 0 评论 -
Python学习笔记---Python 迭代器
迭代器有两个基本的方法:iter() 和 next(),且字符串,列表或元组对象都可用于创建迭代器,迭代器对象可以使用常规 for 语句进行遍历,也可以使用 next() 函数来遍历。上面简单的介绍了一下迭代,迭代是 Python 最强大的功能之一,是访问集合元素的一种方式。现在正式进入主题:迭代器,迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。原创 2023-10-26 14:45:00 · 56 阅读 · 0 评论 -
基于机器视觉的旋转编码器缺陷检测
基于机器视觉的旋转编码器缺陷检测。原创 2023-08-25 16:45:00 · 219 阅读 · 0 评论 -
基于Matlab图像识别技术的隐形眼镜镜片边缘缺陷检测
根据实验结果可知,对于隐形眼镜镜片的边缘缺陷检测这一问题,本文使用的程序能在一定情况下做到精准的识别以及对缺陷的标识,但在部分情况下无法正确识别,不能完全应对所有可能的情况,具有一定的改进提升空间。与此同时,本文也针对程序无法完成识别检测的情况提出了对应的优化改进策略,并且在后续的研究中进行实践,进一步提升该程序在镜片边缘检测上的准确性以及鲁棒性。原创 2023-08-25 16:00:00 · 290 阅读 · 0 评论 -
机器学习课设-基于SVM和DenseNet实现光伏电池片图像缺陷检测
如果您已经手动将校正分割后的图片分配到perfect和damaged,可以运行将您的分配结果编写为Excel表格生成的自定义标签表在。原创 2023-08-25 10:15:00 · 173 阅读 · 0 评论 -
2023年机器学习项目—布匹缺陷检测
人工神经网络(Artificial Neural Networks,ANN)是一种模拟生物神经系统的结构和行为,进行分布式并行信息处理的算法数学模型。ANN通过调整内部神经元与神经元之间的权重关系,从而达到处理信息的目的。而卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,它由若干卷积层和池化层组成,尤其在图像处理方面CNN的表现十分出色。原创 2023-08-24 21:45:00 · 382 阅读 · 0 评论 -
【CV算法岗知识点之机器学习】LR和SVM的比较
而LR则考虑了全部的点(即依赖于数据分布),通过非线性映射,减少远离分类平面的点的权重,即对不平衡的数据要先做balance。LR和SVM的概念大家都有了解甚至很熟悉了,不过在面试中可能不止是简单地单独考察你对LR或SVM的理解,可能会让你对这两个算法进行比较分析,因此就有必要将两者放在一起比较一下。注:OvO和OvR先训练出多个二分类器,在测试时,新样本将同时提交给所有的分类器进行预测,投票产生 最终结果,将被预测的最多的类别作为最终的分类结果。原创 2023-06-15 18:34:23 · 1073 阅读 · 0 评论 -
基于用户认证数据构建评估模型预测认证行为风险系统(附源码)
观察各特征的IV,容易发现,“client_type(客户端类型)”、“browser_source(浏览器来源)”、“ip_location_type_keyword_2(IP类型为代理IP)”、“ip_location_type_keyword_4(IP类型为公共宽带)”和“op_target_1(应用系统类目为sales)”这5个特征对于“op_timedelta(认证时间差)”的重要性较低,因此在后续建模过程中会根据情况舍弃这5个特征。其中,同时在特征中保留平均间隔与最小间隔有特别的考虑。原创 2023-05-21 14:18:32 · 612 阅读 · 0 评论 -
Pytorch学习笔记之tensor数据结构
创建 tensor ,可以传入数据或者维度,torch.tensor() 方法只能传入数据,torch.Tensor() 方法既可以传入数据也可以传维度,强烈建议 tensor() 传数据,Tensor() 传维度,否则易搞混。这两种方法关联的 Tensor 和 numpy 数组是共享数据内存的。注意为了改变已有的 tensor 的 torch.device 和/或者 torch.dtype, 考虑使用。Tensor 有很多属性,包括数据类型、Tensor 的维度、Tensor 的尺寸。原创 2023-04-05 18:41:33 · 388 阅读 · 0 评论 -
基于骨骼点的花样滑冰动作识别附源码
花样滑冰动作包括3个大类,分别为跳跃、旋转和步法,每个大类又包含很多小类。例如,跳跃大类包含:飞利浦三周跳(3Filp)和勾手三周跳(3Lutz)2个小类。然而,这2类跳跃的判别性仅在于一些个别帧的差异。此外,如果想就跳跃小类(3Filp或3Lutz)与旋转小类进行区别,对大部分帧的特征加以使用才能产生较好的判别性。本次比赛数据集旨在借助花样滑冰选手的视频图像研究人体运动。由于花样滑冰选手动作切换速度十分迅速,如希望准确判断一个动作的类别,只靠随机抽取的几帧很难出色地完成任务。原创 2023-02-16 14:16:17 · 396 阅读 · 0 评论 -
Python相关知识点
不同点:**原创 2023-02-15 23:11:18 · 165 阅读 · 2 评论 -
【深度学习】网络参数初始化方法
本文的思想在考虑线性激活函数的情况下, 在初始化的时候使各层神经元的方差保持不变, 即使各层有着相同的分布. 如果每层都用N(0, 0.01)随机初始化的话, 各层的数据分布不一致, 随着层度的增加, 神经元将集中在很大的值或很小的值, 不利于传递信息. 很多初始化策略都是为了保持每层的分布不变, 而BN是通过增加归一化层使得每层数据分布保持在N(0, 1)。xavier的初始化方式和BN一样,为了保证数据的分布(均值方差一致)是一样的,加快收敛,就这么简单吧。原创 2023-02-05 20:29:52 · 499 阅读 · 0 评论 -
【深度学习】实例分割网络
这里输入为H×W×E的特征F,其中E是输入特征的通道数;输出为卷积核S×S×D,其中S是划分的网格数目,D是卷积核的通道数。对应关系如下:1×1×E的卷积核,则D=E,3×3×E的卷积核,则D=9E,以此类推。SOLO v2中的mask branch 被分解为mask kernel branch和mask feature branch,分别对应卷积核的学习和特征的学习。从而由分类分支确定那个实例是有物体的,从而从掩膜分支找出对应的掩膜图。分类分支:S×S×C。掩膜分支:H×W×S×S。即每个实例的掩膜图。原创 2023-02-04 22:55:08 · 608 阅读 · 0 评论 -
【深度学习】CascadeRCNN本质解决了什么问题
在 Faster RCNN 中,训练阶段,经过 RPN 之后,会提出 2000 左右个 proposals ,这些 proposals 会被送入到 Fast R-CNN 结构中,在 Fast R-CNN 的结构中,首先会计算每个 proposals 和 gt 之间的 IOU ,然后通过人为设定的 IOU 阈值(通常为 0.5),把这些 proposals 分成正样本和负样本(之后正样本才会参与到后面的 bbox 回归学习,从损失函数的表达中也可以看出来,只有正样本才被算入损失函数中。原创 2023-02-04 22:52:19 · 426 阅读 · 0 评论 -
【深度学习】对SSD与Retina的理解
因为conv4比较靠前,数据通道间的特征分布和后续的几层相差较大,所以通过在通道维度进行L2归一化。归一化后一般设置一个可训练的放缩变量gamma。网络通过自下而上、自上而下的特征提取网络,并通过无代价的横向连接构建增强特征提取网络,利用不同尺度的特征图检测不同大小的目标,1、实时性:网络使用ResNet-101作为主干特征提取网络,检测效率略微不足。置信度误差(类别+背景一体):softmax loss而不是BCE。位置损失:smoothL1。同faster RCNN。用于候选框的【类别预测】,原创 2023-02-03 21:43:25 · 280 阅读 · 0 评论 -
【深度学习】YOLO系列(v1-v3+tinyv3)解析
yolov3是在训练的数据集上聚类产生prior boxes的一系列宽高(是在图像416x416的坐标系里),默认9种。YOLOV3思想理论是将输入图像分成SxS个格子(有三处进行检测,分别是在52x52, 26x26, 13x13的feature map上,即S会分别为52,26,13),若某个物体Ground truth的中心位置的坐标落入到某个格子,那么这个格子就负责检测中心落在该栅格中的物体。三次检测,每次对应的感受野不同,32倍降采样的感受野最大(13x13),适合检测大的目标。原创 2023-02-03 21:41:29 · 262 阅读 · 0 评论 -
【深度学习】ReID相关知识点解析(PCB、BoT、MGN)
然后与各自的f相乘,最终得到一个与T相同大小的特征图P_i(24,8,c),即上图中的refined parts,计算过程如下式,×指逐像素相乘。,很有可能P_i的部分f不属于P_i,和P的其他部分更相似,如果将其纳入P_i进行平均池化,显然会对预测结构有影响,因此通过RPP进行。根据原图利用余弦距离找出距离其最近的20个图,再找出这20个图最近的6个图,判断这6个图中原图所在的位置,共同得到该图的索引模型。如:输入(384,128,3)经过backbone降采样16倍后得到特征图T(24,8,c)。原创 2023-02-02 21:46:42 · 519 阅读 · 0 评论 -
【深度学习】IOU的各种变形讲解
IoU就是我们所说的交并比,是目标检测中最常用的指标,在anchor-based的方法中,他的作用不仅用来确定正样本和负样本,还可以用来评价输出框(predict box)和ground-truth的距离。原创 2023-02-02 21:43:23 · 410 阅读 · 0 评论 -
【深度学习】常用的损失函数--交叉熵、softmax损失、yolo损失函数等
CE−logp−log1−pifify1y0CE−logp0ififycycy:输入此时对应的标签(不是真实值,其是任意一类)p:输出在该目标类下的置信度c:输入此时对应的真实标签σx1e−x11exex各结果之间独立,结果只和不一定为1二分类的loss,必须同时提高正样本和负样本的判断准确率才行ai∑kezkezi。原创 2023-02-01 21:55:22 · 512 阅读 · 0 评论 -
【深度学习笔记】Faster_R_CNN和Mask_R_CNN的损失函数详解
目标检测的框架中包含4个关键模块,包括region proposal(生成ROI)、feature extraction(特征提取网络)、classification(ROI分类)、regression(ROI回归)。而faster-rcnn利用一个神经网络将这4个模块结合起来,训练了一个端到端的网络。特征提取网络:它用来从大量的图片中提取出一些不同目标的重要特征,通常由conv+relu+pool层构成,常用一些预训练好的网络(VGG、Inception、Resnet等),获得的结果叫做特征图;原创 2023-02-01 07:26:56 · 620 阅读 · 0 评论 -
【深度学习笔记】各种卷积方式串讲
CNN 从 2012 年的 AlexNet 发展至今,各种网络结构层出不穷,尝试了几乎所有可能性的结构搭配以试图找到效果更好的那种,再通过结果去解释过程,这大概就是做深度学习的人的无奈之处吧,每天都有新论文发出,每天都会有新的网络结果,每个都比之前的提升一丢丢,琳琅满目,令人眼花缭乱,像我这样的便迷失其中,找不到一个确定的方向去研究,终究普普通通,无所建树。原创 2023-02-01 07:26:08 · 232 阅读 · 0 评论 -
【深度学习笔记】特征融合concat和add的区别
在网络模型当中,经常要进行不同通道特征图的信息融合相加操作,以整合不同通道的信息,在具体实现方面特征的融合方式一共有两种,一种是 ResNet 和 FPN 等当中采用的 element-wise add ,另一种是 DenseNet 等中采用的 concat。add相当于加了一种prior,当两路输入可以具有“对应通道的特征图语义类似”的性质的时候,可以用add来替代concat,这样更节省参数和计算量(concat是add的2倍)等的通道数一样,且特征图宽与高也一样。add:优点:计算量少。原创 2023-01-31 22:37:34 · 1717 阅读 · 0 评论 -
【深度学习】简述CNN分类网络的演变脉络及各自的贡献与特点
主要用于手写数字识别10分类问题,被广泛应用在金融领域。原创 2023-01-29 22:28:37 · 499 阅读 · 2 评论 -
【深度学习笔记】为什么用F1-score
F1 score 综合考虑了精确率和召回率,其结果更偏向于 Precision 和 Recall 中较小的那个,即 Precision 和 Recall 中较小的那个对 F1 score 的结果取决定性作用。F1 score是分类问题中常用的评价指标,定义为精确率(Precision)和召回率(Recall)的调和平均数。,由F1 score的计算公式可以看出,此时其结果主要受 Recall 影响。,其结果约为 0.5,而 F1 score 调和平均的结果约为 0。召回率,也称为查全率,衡量的是。原创 2023-01-29 22:27:28 · 1479 阅读 · 0 评论 -
【深度学习笔记】卷积网络中的卷积与互相关的那点事
而在视觉识别中,关键性的图像特征、边缘、角点等只占据了整张图像的一小部分,图像中相距很远的两个像素之间有相互影响的可能性很小。深度学习的计算机视觉是基于卷积神经网络实现的,卷积神经网络与传统的神经网络(可以理解为多层感知机)的主要区别是卷积神经网络中除了全连接层外还有卷积层和pooling层等。传统优化矩阵乘的思想有基于算法分析的,也有基于软件优化的方法如改进访存局部性、利用向量指令等,这两个方法都是基于对计算机运行特性进行的改进。里面的矩阵乘法实现。卷积层的API对卷积运算的实现其实使用的是。原创 2023-01-29 22:26:39 · 223 阅读 · 0 评论 -
【深度学习笔记】弄明白感受野大小的计算问题
唯一的区别是不需要管padding,这也说明了感受野其实是包括padding在内的,所以你会发现算出来的感受野大小可能会比原始图像的大小还要大。根据感受野的概念,大家可以体会到感受野的计算应该与卷积的计算是相反的过程,所以先回顾下卷积输入输出的大小关系公式:(以高度为例)不需要计算padding,只需要记住他的输出特征图大小的计算方法(其实就是padding=0时的公式1),若是研究过程中要计算非常准确的感受野大小的话,还是得再深入研究下,大家可以看看下面的两个参考资料。,所以感受野的计算采用的是。原创 2023-01-28 22:12:42 · 211 阅读 · 0 评论 -
【深度学习笔记】手动推导反向传播公式BP
现在才意识到,卷积神经网络在不同的层上的反向传播的计算公式不一样,之前一直按照全连接层的那种简单反向传播去理解了。原创 2023-01-18 21:49:49 · 461 阅读 · 0 评论 -
【深度学习笔记】样本不平衡处理方法
梯度模长g为g越大,说明越难分类,g越小说明越容易分类,和focal loss中的。原创 2023-01-17 22:26:19 · 496 阅读 · 0 评论 -
【计算机视觉】梯度消失和爆炸以及解决方法
*梯度消失发生时的表现是:**靠近输出层的 hidden layer 3 的权值更新正常,但是靠近输入层的 hidden layer 1 的权值更新非常慢,导致其权值几乎不变,仍接近于初始化的权值。**梯度爆炸发生时的表现是:**当初始的权值太大,靠近输入层的 hidden layer 1 的权值变化比靠近输出层的 hidden layer 3 的权值变化更快。根据公式(2)的计算规律,层数越多,越是前面的层的参数的求导结果越小,于是便导致了梯度消失情况的出现。而这个反向传播的过程使用的是。原创 2023-01-17 22:23:49 · 323 阅读 · 0 评论