- 博客(73)
- 收藏
- 关注
原创 本地部署大模型实现相关案例
首先定义了抽取规则,其次定义了提示词模板和缺失值处理规则,构建了一个示例传给了历史记录,将当前问题与历史对话进行拼接,最后将拼接的结果发送给大模型实现信息抽取。这里通过一个死循环实现连续传入信息。方式安装模型到本地。
2026-05-07 17:34:27
221
原创 LangChain 入门与实战:大模型应用开发框架详解(附百炼 API 对接示例)
如果把 LLM 比作汽车的发动机,那么 LangChain 就是完整的汽车底盘 + 传动系统 + 控制系统 —— 它让 “发动机” 能适配不同的 “车身”(应用场景),实现更复杂的 “行驶功能”(业务逻辑)。Chains 是 LangChain 的 “灵魂”,它允许将多个组件(LLM、Prompt、检索器等)组合成一个可执行的流程,解决 “单步操作无法完成复杂任务” 的问题。LangChain 框架的架构遵循 “模块化设计”,每个模块解决特定场景的问题,且模块间可灵活组合。
2026-05-06 19:26:23
417
原创 YOLO系列学习——YOLOv4
(1)主干特征由DarkNet53改为CSPDarkNet53,主要在残差块进行了改进,引入了大残差块;(2)加入了SPP和PANNnet网络,用来增加图像的特征提取量,反复提取特征,并且SPP网络也可以增大感受野。(3)在激活函数方面:从Yolov3的Leaky_relu函数,在Yolov4使用新的Mish激活函数(Mish激活函数是一种自正则的非单调神经激活函数,平滑的激活函数允许更好的信息深入神经网络,从而得到更好的准确性和泛化。
2026-04-28 20:03:34
396
原创 零件分拣项目实战
任务:设计一个识别零件标签的系统,检测出错误时会发出警告声,并保存错误截图。思路:根据实际工厂流水线流程,将检测流程分为3部分:第一步:检测被粘贴的零件标签码中的指定编号,如某系列零件编号为:V0-64,具体:通过摄像头中字符进行识别,然后通过第二步:检测零件包装盒上的编号,如包装盒上编号为V0-64,具体:通过摄像头中字符进行识别,然后通过第三步:检测将零件盒打包至纸箱上的编号,与第一部和第二部上的编号是否一致。
2026-04-27 17:43:36
380
原创 Python 多线程编程从入门到精通:基础 + 实战 + 避坑全攻略
多线程是同一个进程内同时运行多个独立执行的线程,多个线程共享进程的内存、文件等资源,每个线程拥有独立的执行栈和调度权,能实现任务的并发执行。简单说:一个程序(进程)可以同时干多件事,就是多线程。
2026-04-24 19:54:14
328
原创 github基础入门及git安装配置
1. 查看所有分支(* 表示当前所在分支)git branch# 2. 新建分支(比如新建 feature-login 分支)# 3. 切换到新建的分支# 简写(新建+切换一步到位,最常用)or# 4. 把 feature-login 分支合并到 main 分支(先切回 main)# 5. 删除已合并的分支(开发完成后清理)
2026-04-22 20:38:02
527
原创 YOLO系列学习——YOLOv3
YOLOv3是目标检测领域的一个重要进步,它在YOLOv2的基础上引入了多项关键技术和模块,显著提升了检测性能。YOLOv3通过特征金字塔网络(FPN)结构,利用不同尺度的特征图进行检测,这使得它能够更好地识别不同大小的目标。YOLOv3采用了更深的Darknet-53网络作为其主干网络,这有助于提取更丰富的特征信息。借鉴了ResNet的设计,YOLOv3在网络中引入了残差连接,这有助于缓解深层网络训练中的梯度消失问题,并提高网络性能。
2026-04-21 20:48:26
431
原创 一文读懂YOLOv1和YOLOv2
YOLOv2相对v1版本,在继续保持处理速度的基础上,从预测更准确(Better),速度更快(Faster),识别对象更多(Stronger)这三个方面进行了改进。其中识别更多对象也就是扩展到能够检测9000种不同对象,称之为YOLO9000。
2026-04-20 21:54:51
372
原创 LSTM项目实战——情感分析项目
任务:对微博评论信息的情感分析,建立模型,自动识别评论信息的情绪状态。数据集:simplifyweibo_4_moods.csv其中label分别为: 0: '喜悦’ 1: '愤怒’ 2: '厌恶’ 3: '低落'这里加载的是腾讯词向量库:对此项目的分析:1、目标:将评论内容转换为词向量,,而不是分词,因为数据集共有12w+条数据,分词的话可能会翻倍,按照分字的话最多1w,新华字典中汉字最多9000个。
2026-04-19 21:38:14
623
原创 PaddleOCR入门到实战教程
PaddleOCR 是基于百度飞桨(PaddlePaddle)深度学习框架开发的开源 OCR 工具库。:PP-OCR 系列模型非常小(几 MB 大小),但在 CPU 和移动端上速度飞快。:支持中、英、法、德、韩、日等 80 多种语言的识别。:不仅支持文字检测和识别,还支持版面分析、表格识别等复杂任务。
2026-04-18 16:51:45
439
原创 LSTM网络介绍
在处理序列输入时具有记忆性,可以保留之前输入的信息并继续作为后续输入的一部分进行计算。RNN的特点:引入了隐状态h的概念,隐状态h可以对序列类形的数据提取特征,接着再转换为输出。h1的计算:基于上一个隐藏层的状态和当前的输入计算得来,总结一下即,而这里的𝑓一般是tanh、sigmoid、ReLU等非线性的激活函数h2的计算:这里需要注意:1、在计算时,每一步使用的参数U、W、b都是一样的,也就是说每个步骤的参数都是共享的,这是RNN的重要特点;
2026-04-17 22:03:42
368
原创 PyQt5安装及配置
为了在pycharm中可以直接使用Qtdesigner,首先需要安装pyqt5,及pyqt5-toolspyqt5安装命令:(清华源)这里是在新建了一个虚拟环境中(opencv)安装。
2026-04-14 17:07:45
196
原创 语言转换方法——CBOW
CBOW(连续词袋模型):CBOW(Continuous Bag of Words,连续词袋模型)与Skip-Gram相反,CBOW模型通过给定的上下文单词来预测中心词。具体来说,对于文本中的每一个中心词,CBOW模型会将其周围一定窗口大小内的其他单词(即上下文单词)作为输入,并尝试预测该中心词。CBOW模型类似于一个高级的完型填空游戏,其中上下文中的词汇(已知选项)被用来“填空”预测出缺失的中心词(答案),从而揭示词汇间的语义联系和模式。
2026-04-10 21:16:02
620
原创 【Opencv+MediaPipe】实现手部检测、识别
这是 MediaPipe 提供的一个绘图工具包。它包含了方便的函数,可以直接在图像上绘制出检测到的关键点(landmarks)和它们之间的连接(connections): 这是 MediaPipe 的手部检测解决方案。它封装了预训练好的模型,可以直接用于检测图像或视频中的人手。
2026-04-08 17:03:56
539
原创 基于Opencv和Dlib的人脸换脸实现
公式为:其中在二维平面中仿射变换可以表示为:src, # 输入图像M, # 2×3 仿射变换矩阵dsize, # 输出图像尺寸 (宽度, 高度)flags=None, # 插值方式borderMode=None, # 边界填充方式borderValue=None # 边界填充颜色参数介绍:src: 输入的图像M:仿射变换矩阵(必须是float32类型)输出图像的尺寸(宽度, 高度),元组形式flags:插值方式· 默认有四种方式:默认,双线插值。
2026-04-08 15:32:11
793
原创 计算机视觉——疲劳检测、基于DNN的年龄性别预测
眼睛纵横比(EAR)由Soukupová 和 Čech 提出,基于眼睛的 6 个关键点位置计算。EAR 的优点在于:计算量小、对头部轻微转动具有鲁棒性、实时性好。其计算公式为:其中,p1,p2,p3,p4,p5,p6是眼睛轮廓上的6个特征点,∣∣p2-p6∣∣,∣∣p3-p5∣∣,||p1-p4|| 表示两点之间的欧氏距离。优点:无需训练复杂模型,简单高效,适合资源受限场景。局限:对遮挡(手、眼镜的强反光)、极端侧脸与光照变化敏感;
2026-04-07 15:32:11
703
原创 dlib——人脸识别(附人脸关键点检测、微笑检测)
shape_predictor_68_face_landmarks 是 dlib 库中的一个预训练模型,用于预测面部的 68 个关键点(landmarks)。这些关键点涵盖了面部的各个部位,包括眼睛、鼻子、嘴巴、眉毛等,可以用于进行面部特征分析、姿态估计、表情识别等应用。
2026-04-03 17:48:48
708
原创 OpenCV——人脸识别
Eigenfaces是在人脸识别的计算机视觉问题中使用的一组特征向量的名称,Eigenfaces是基于PCA(主成分分析)算法实现的。主成分分析(PCA)是一种矩阵的压缩算法,在减少矩阵维数的同时尽可能的保留原矩阵的信息,简单来说就是将 n×m的矩阵转换成n×k的矩阵,仅保留矩阵中所存在的主要特性,从而可以大大节省空间和数据量。PCA方法是EigenFaces人脸识别的核心,但是其具有明显的缺点,在操作过程中会损失许多人脸的特征信息。
2026-04-01 15:18:52
683
原创 OpenCV计算机视觉——人脸检测、微笑检测(附案例解析)
哈尔特征是一种基于图像亮度差异的特征描述符,通常用于描述图像的局部特征。这些特征通常是矩形区域的亮度差异,例如眼睛周围的黑色和白色区域。哈尔特征可以捕捉到目标的边缘线条和纹理等信息,从而可以用来区分目标和背景。
2026-03-31 16:54:09
600
原创 OpenCV——DNN模块实现风格迁移
OpenCV DNN模块是一个用于深度神经网络推理的模块,它允许用户在OpenCV中主要特点为:1、轻量: OpenCV 的深度学习模块只实现了模型推理功能,不涉及模型训练,这使得相关程序非常精简,加速了安装和编译过程。2、外部依赖性低:重新实现一遍深度学习框架使得 DNN 模块对外部依赖性极低,极大地方便了深度学习应用的部署。3、方便:在原有 OpenCV 开发程序的基础上,通过 DNN 模块可以非常方便地加入对神经网络推理的支持。
2026-03-31 15:24:32
711
原创 OpenCV高端操作——光流估计(附案例)
角点检测函数image, # 输入灰度图maxCorners, # 设定最大的角点个数,是最有可能的角点数,如果这个参数不大于0,那么表示没有角点数的限制qualityLevel, #图像角点的最小可接受参数,质量测量值乘以这个参数就是最小特征值,小于这个数的会被抛弃。minDistance, # 角点之间最小的欧式距离,用于分散角点mask=None, # 检测区域。如果图像不是空的,它指定检测角的区域。返回检测到的所有角点的坐标numpy 数组)金字塔 Lucas-Kanade 光流算法。
2026-03-28 16:56:57
476
原创 OpenCV高端操作——背景建模(附三种方案)
指在计算机视觉中,从视频序列中提取出静态背景的一种技术。在视频中,背景通常被定义为相对稳定的部分,例如墙壁、地面或天空等。背景建模的目标是将动态的前景对象与静态的背景进行分离,以便进一步分析和处理。
2026-03-28 16:06:44
697
原创 迁移学习——基于ResNet网络(附案例)
ResNet 网络是在 2015年 由微软实验室中的何凯明等几位大神提出,斩获当年ImageNet竞赛中分类任务第一名,目标检测第一名。获得COCO数据集中目标检测第一名,图像分割第一名。Resnet在cnn 图像方面有着非常突出的表现,它利用 shortcut 短路连接,解决了深度网络中模型退化的问题。相比普通网络每两层/三层之间增加了短路机制,通过残差学习使深层的网络发挥出作用。如何解决传统神经网络存在的问题的呢?
2026-03-27 20:27:32
837
原创 opencv项目实战——答题卡识别
观察此图发现需要将答题卡透视变换,再提取出所有的圆圈,进行排序,最后判断答案。如下图,要求识别出答题卡的答案,并与正确答案比对(B,E,A,D,B)6、判断哪个选择答案与正确答案(这里采用统计白色像素数量)为了比对正确答案,将正确答案与其索引值相匹配。5、轮廓排序(从上到下、从左到右)7、对比标准答案 、 打分。1、读取图像 、 预处理。2、找到答题卡最大外框。4、提取所有选项圆圈。
2026-03-25 20:05:46
115
原创 opencv项目实战——抠图
(1)读取名为fan.jpg的图片,将尺寸设置为宽640,高480,然后逆时针旋转90度;(3)在提取边缘的基础上,查找轮廓并选取扇子的外轮廓,生成相应的掩模;8、cv2.bitwise_and() 找到原图中对应的扇子。5、cv2.findContours() 找轮廓。4、cv2.threshold() 阈值处理。6、cv2.drawContours() 画轮廓。3、cv2.Canny() 边缘检测。1、cv2.resize() 设置尺寸。
2026-03-25 19:48:47
215
原创 卷积神经网络——附水果分类案例及参数优化
卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks)。它通过卷积操作来提取输入数据的局部特征,并通过多层卷积和池化操作形成复杂的特征表示,最终通过全连接层进行分类或回归等任务。
2026-03-24 20:19:21
852
原创 OpenCV高端操作——特征检测(附案例实战)
Harris角点检测算法是一种常用的计算机视觉算法,用于检测图像中的角点。该算法通过计算图像中每个像素的局部自相关矩阵,来判断该像素是否为角点。
2026-03-23 17:06:57
813
原创 深度学习详解
深度学习的主要特点是使用多层次的神经网络来提取和学习数据中的特征,并通过反向传播算法来优化网络参数,从而实现对复杂数据的建模与分类。
2026-03-22 17:35:14
497
原创 多分类——8种算法进行类比
记录以上8种算法各类别标签召回率及准确度import json#数据格式,网络传输。保存提取json类型的数据。csv:表格类型的数据# 使用 'w' 模式打开文件,确保如果文件已存在则会被覆盖,with open(r'../data/平均值填充result.json', 'w', encoding='utf-8') as file:# 使用 json.dump() 方法将字典转换为 JSON 格式并写入文件,JSON一般来是字典。
2026-03-21 22:11:58
752
原创 数据清洗(包含6种数据的填充方式)
目的:是删除重复信息、纠正存在的错误,并提供数据一致性。在进行数据清洗时,需要按照一定的规则则把 “脏数据”“洗掉”,以确保数据的准确性和可靠性。步骤::检查单条数据是否存在空值,统计的字段是否完善。:观察某一列的全部数值,可以通过比较最大值、最小值、平均值、数据定义等来判断数据是否全面。:检查数值的类型、内容、大小是否符合预设的规则。例如,人类的年龄超过 1000 岁这个数据就是不合法的。:检查数据是否重复记录,例如一个人的数据被重复记录多次。
2026-03-20 21:48:50
896
原创 OpenCV高端操作——直方图及直方图均衡化
是图像中像素强度分布的图形表达方式。使用直方图对我们图像的像素点进行统计操作。像素点的区间0-255也就是直方图的横坐标,像素点的个数也就是直方图的纵坐标。作用:例如视频中。通过标记帧和帧之间显著的边缘和颜色的统计变化,来检测视频中场景的变换。
2026-03-18 17:01:20
509
原创 Opencv高端操作——上采样/下采样及拉普拉斯金字塔
是由一幅图像的多个不同分辨率的子图构成的图像集合。是通过一个图像不断的降低采样率产生的,最小的图像可能仅仅有一个像素点。图像金字塔的底部是待处理的高分辨率图像(原始图像),而顶部则为其低分辨率的近似图像。
2026-03-17 19:23:07
612
原创 Opencv——图片旋转及多模板匹配
参数介绍:image: 需要旋转的图片k:旋转的次数(每次旋转 90 度) 正数:逆时针旋转(k=1→90°,k=2→180°) 负数:顺时针旋转(k=-1→90°,k=-2→180°)注意:图片旋转 90 度后,宽高会互换示例:待旋转图片:参数介绍:src: 待旋转的原始图像(灰度图 / 彩色图均可)rotateCode:指定旋转角度和方向(仅 3 个可选值) cv2.ROTATE_90_CLOCKWISE:顺时针旋转 90
2026-03-16 16:25:36
887
原创 Opencv——模板匹配附项目实战
在一张中查找与最相似的区域,返回每个位置的匹配度矩阵。参数介绍:image:待搜索图像,即要在其中查找模板的,必须是 8 位灰度图或彩色图(3 通道)。templ:模板图像,即要匹配的小图,尺寸必须小于等于源图像,且(灰度 / 彩色对应)。method:决定匹配度的计算方式:归一化的相关系数匹配,结果范围[-1,1],值越接近 1 匹配度越高:未归一化的相关系数,值越大匹配度越高:归一化的相关匹配,结果范围[0,1],值越接近 1 匹配度越高;:归一化的平方差匹配,结果范围[0,1]
2026-03-14 17:26:11
832
2
原创 机器学习之词向量转换评论——附实例项目
创建了:考虑 1 元词(单个词)、2 元词(两个词的组合)和 3 元词(三个词的组合)常用参数还有:max_features=n:n为整数,只保留出现频率最高的 n个特征(词语或词组),如max:只保留出现频率最高的 6 个特征(词语或词组)fit:分析文本,构建词汇表transform:将文本转换为词频矩阵cv.fit_transform(texts) 与cv.fit(text)的区别:只分析文本,构建词汇表分析文本,构建词汇表根据 Fit 生成的词汇表,把文本转换成词频矩阵。
2026-03-13 21:21:38
620
原创 Mysql——多表查询、索引、约束
1.内连接查询3.子查询:查询中嵌套查询,称嵌套查询为子查询子查询不同情况:子查询的结果是多行多列的表的拼接:union 对数据进行去重union all。
2026-03-11 20:17:46
484
原创 Opencv——轮廓有关操作
注意:做轮廓检测前需要将图片读取为二值数据,即像素值只为0和255。参数介绍:image:输入图像,必须是(非 0 即 255)mode:决定要检测哪些轮廓cv2.RETR_EXTERNAL:只检测最外层轮廓,忽略内部嵌套轮廓cv2.RETR_LIST:检测所有轮廓,但不建立任何层级关系(轮廓间无父子区分)cv2.RETR_CCOMP:检测所有轮廓,仅建立两层层级(外层为父,内层为子)cv2.RETR_TREE:检测所有轮廓,建立完整的层级树结构。
2026-03-11 17:22:38
641
原创 机器学习——随机森林
Bagging(Bootstrap Aggregating)是集成学习方法中的一个大类,其目标是通过减少整体的方差来提高系统的性能。具体来讲,这类集成学习方法通过自助采样法(Bootstrap Sampling,随机有放回的抽样)生成多个训练集,然后在每个训练集上训练出一个“基学习器”,最后通过对所有“基学习器”的结果进行投票(分类问题)或平均(回归问题)的方式得到最终结果。因此,这类集成学习方法中的“基学习器”之间不存在依赖关系。随机森林中决策树的个数。
2026-03-10 15:33:58
686
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅