BLFaker84516
热爱编程、热爱生活!各种DIY设计,有想法,有行动!感谢大家关注收藏,不定期分享好项目源码及教程。
下载后,有问题请及时私信沟通,欢迎提问,欢迎来撩!
展开
-
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 正则表达式
而且上面例子中的正则表达式设置成为了一个常量,并不是一个正则表达式的规则,正则表达式的灵魂在于规则,所以这样做意义不大。从输出结果可以看到,可以实现和内置函数一样的功能,可是在这里也要强调一点,上面这个例子只是方便我们理解正则表达式,这个正则表达式的写法是毫无意义的。正则表达式是一个特殊的字符序列,用于判断一个字符串是否与我们所设定的字符序列是否匹配,也就是说检查一个字符串是否与某种模式匹配。先不急,我们一步一步来,先来一个简单的,找出字符串中的所有小写字母。函数中第一个参数写正则表达式的规则,其中。原创 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学习笔记--什么是元类
这可能是为了和 str 保持一致性,str 是用来创建字符串对象的类,而 int 是用来创建整数对象的类。通过上面的介绍,终于模模糊糊的带到元类这里来了。可以看到,上面的所有东西,也就是所有对象都是通过类来创建的,那么我们可能会好奇,也可以说是他们类的类打印结果。Python 中所有的东西,注意喔,这里是说所有的东西,他们都是对象。我们创建类的时候,大多数是为了创建类的实例对象。你也可以理解为,元类就是负责生成类的。也就是元类就是负责创建类的一种东西。一开始也提到了,元类就是类的类。原创 2023-11-12 16:30:00 · 114 阅读 · 0 评论 -
Python 中类也是对象
当程序运行这段代码的时候,就会在内存中创建一个对象,名字就是ObjectCreator。这个对象(类)自身拥有创建对象(类实例)的能力,而这就是为什么它是一个类的原因。在了解元类之前,我们先进一步理解 Python 中的类,在大多数编程语言中,类就是一组用来描述如何生成一个对象的代码段。但是,Python 中的类有一点跟大多数的编程语言不同,在 Python 中,可以把类理解成也是一种对象。对的,这里没有写错,就是对象。,Python 解释器在执行的时候就会创建一个对象。原创 2023-11-11 18:45:00 · 88 阅读 · 0 评论 -
Python学习笔记--运算符相关的魔术方法
这个公号可能很少更新,但是一更新,就是把整理的一系列文章更新上去。原创 2023-11-10 09:30:00 · 45 阅读 · 0 评论 -
Python学习笔记--自定义容器(Container)
经过之前编章的介绍,我们知道在 Python 中,常见的容器类型有: dict, tuple, list, string。其中也提到过可容器和不可变容器的概念。其中 tuple, string 是不可变容器,dict, list 是可变容器。可变容器和不可变容器的区别在于,不可变容器一旦赋值后,不可对其中的某个元素进行修改。当然具体的介绍,可以看回之前的文章,有图文介绍。不够的时候,或者说有些特殊的需求不能单单只使用这些基本的容器解决的时候,该怎么办呢?这个时候就需要自定义容器了,那么具体我们该怎么做呢?原创 2023-11-09 16:00:00 · 166 阅读 · 0 评论 -
Python学习笔记--迭代器和生成器综合例子
因为迭代器和生成器基本是互通的,因此有些知识点需要综合在一起。原创 2023-10-26 10:15:00 · 50 阅读 · 0 评论 -
Python中的If条件语句学习
Python 条件语句跟其他语言基本一致的,都是通过一条或多条语句的执行结果( True 或者 False )来决定执行的代码块。Python 程序语言指定任何非 0 和非空(null)值为 True,0 或者 null 为 False。原创 2023-10-19 11:00:00 · 219 阅读 · 0 评论 -
Python中的循环语句Cycle学习
一般编程语言都有循环语句,为什么呢?那就问一下自己,我们弄程序是为了干什么?那肯定是为了方便我们工作,优化我们的工作效率啊。而计算机和人类不同,计算机不怕苦也不怕累,也不需要休息,可以一直做。你要知道,计算机最擅长就是做重复的事情。所以这时候需要用到循环语句,循环语句允许我们执行一个语句或语句组多次。循环语句的一般形式如下:在 Python 提供了 for 循环和 while 循环。这里又有一个问题了,如果我想让他运行了一百次之后停止,那该怎么做呢?原创 2023-10-18 16:30:00 · 268 阅读 · 3 评论 -
Python中Set()学习
python 的 set 和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素。set 和 dict 类似,但是 set 不存储 value 值的。原创 2023-10-19 09:45:00 · 73 阅读 · 0 评论 -
Python中的字典(Dictionary)学习
上一章节,我们学习了列表(List) 和 元组(tuple) 来表示有序集合。而我们在讲列表(list)的时候,我们用了列表(list) 来存储用户的姓名。那么如果我们为了方便联系这些童鞋,要把电话号码也添加进去,该怎么做呢?但是这样很不方便,我们把电话号码记录下来,就是为了有什么事能及时联系上这些童鞋。如果用列表来存储这些,列表越长,我们查找起来耗时就越长。原创 2023-10-18 09:00:00 · 236 阅读 · 11 评论 -
Python中的tuple(元组)学习
上一节刚说了一个有序列表 List ,现在说另一种有序列表叫元组:tuple。tuple 和 List 非常类似,但是 tuple 一旦初始化就不能修改。也就是说元组(tuple)是不可变的,那么不可变是指什么意思呢?元组(tuple) 不可变是指当你创建了 tuple 时候,它就不能改变了,也就是说它也没有 append(),insert() 这样的方法,但它也有获取某个索引值的方法,但是不能赋值。那么为什么要有 tuple 呢?那是因为 tuple 是不可变的,所以代码更安全。原创 2023-10-17 11:45:00 · 84 阅读 · 0 评论 -
Python中的List
List (列表)是 Python 内置的一种数据类型。它是一种有序的集合,可以随时添加和删除其中的元素。那为什么要有 List (列表)呢?我们用一个例子来说明。现在有一个团队要出去玩,要先报名。如果用我们之前学过的知识,那么就是用一个字符串变量把他们都记录起来。但是这样太麻烦了,而且也不美观。在编程中,一定要学会偷懒,避免「重复性工作」。如果有一百个成员,那么你及时是复制粘贴,也会把你写烦。这时候就可以使用列表了。就这样,一行代码就可以存放 N 多个名字了。原创 2023-10-17 11:00:00 · 122 阅读 · 0 评论 -
Python 中的变量Variable
a = 88这里的a就是一个变量,代表一个整数,注意一点是 Python 是不用声明数据类型的。在 Python 中是赋值语句,跟其他的编程语言也是一样的,因为 Python 定义变量时不需要声明数据类型,因此可以把任意的数据类型赋值给变量,且同一个变量可以反复赋值,而且可以是不同的数据类型。这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。例如 Java 是静态语言。原创 2023-10-16 17:30:00 · 542 阅读 · 0 评论 -
Python 的基本数据类型
字符串英文 string ,是 python 中随处可见的数据类型,字符串的识别也非常的简单,就是用「引号」括起来的。引号包括单引号' ',双引号" "和 三引号''' ''',比如'abc'"123"等等。这里请注意,单引号''或双引号""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有 a,b,c 这 3 个字符。如果善于思考的你,一定会问?为什么要有单引号' ',双引号" "和 三引号''' '''啊,直接定死一个不就好了,搞那么麻烦,那么多规则表达同一个东西干嘛?原创 2023-10-16 10:00:00 · 119 阅读 · 0 评论 -
Python基本数据类型转换Type_conversion
其余的方法就不一一列举了,只要多用,多试,这些方法都会慢慢熟悉的。还有如果是初学者,完全可以每个方法都玩一下,写一下,随便写,然后运行看结果,反正你的电脑又不会因为这样而玩坏的。注:在 Python 3 里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。但这并不是意味着浮点数不能转化为整数,而是小数形式的字符串不能强转为字符串。注意这里是符合规则的字符串类型,如果是文字形式等字符串是不可以被。但是你会发现,结果是 88 ,后面小数点的 0.88 被去掉了。原创 2023-10-15 14:30:00 · 91 阅读 · 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 评论 -
基于人工智能的中医图像分类系统设计与实现
本存储库包含一个针对中药的人工智能图像分类系统。该项目的目标是通过输入图像准确识别和分类各种中草药和成分。原创 2023-08-06 10:06:30 · 233 阅读 · 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 评论 -
【深度学习知识点】常见目标跟踪算法及实现代码
在detect函数中,我们使用输入图像中的初始边界框来选择感兴趣区域(ROI),然后提取特征z,并通过DFT将其转换为频域。然后,我们使用KCF算法初始化,然后按顺序读取视频的每一帧并在其上方框出我们正在跟踪的物体。总的来说,KCF算法是一种高效、准确的目标跟踪算法,跟踪结果精度高,速度快,适用于许多领域的应用。在KCF类的初始化函数中,我们将图像和我们要跟踪的物体的初始边界框作为输入参数传递。接下来,我们将使用Python语言实现KCF算法,并通过图像跟踪的实例来演示它的使用。原创 2023-03-30 15:42:26 · 657 阅读 · 0 评论 -
各种经典排序算法介绍及实现源码
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GLy4g4Yt-1678111291106)(…/data/…/…/data/images/sort1.png)]这三种排序算法,实现代码都非常简单,对于小规模数据的排序,用起来非常高效。但是在大规模数据排序的时候,这个时间复杂度还是稍微有点高,所以更倾向于用时间复杂度为OnlognO(nlogn)Onlogn的排序算法。特定算法是依赖特定的数据结构的。以上三种排序算法,都是基于数组实现的。原创 2023-03-06 22:04:09 · 285 阅读 · 0 评论 -
LeetCode热题100
精选 100 道力扣(LeetCode)上最热门的题目,适合初识算法与数据结构的新手和想要在短时间内高效提升的人,熟练掌握这 100 道题,你就已经具备了在代码世界通行的基本能力。原创 2023-02-24 22:07:20 · 667 阅读 · 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 评论