- 博客(115)
- 收藏
- 关注
原创 实战 RAG(检索增强生成):用 LangChain 构建简单的知识问答系统,3 种 chain_type 效果对比
RAG 的核心价值是 “让大模型结合私有知识回答问题”,而 LangChain 已封装好从文档加载到对话生成的全流程工具,降低了开发门槛。
2025-11-02 23:51:22
419
原创 用langchain搭建简单agent
agent 的核心能力之一在于使用各种工具来完成任务,我们既可以自定义工具,也可以集成 langchain 提供的现有工具。通过继承BaseTool类,我们可以自定义一个用于计算文本字数的工具。name = "文本字数计算工具"description = "当你需要计算文本包含的字数时,使用此工具"
2025-10-31 22:25:50
1053
原创 Transformer整体结构与自注意力机制的实现
都听过GPT、ChatGPT、BERT这些名称,它们的核心都基于同一个架构Transformer,Transformer是一种用于自然语言处理(NLP)和其他序列到序列(sequence-to-sequence)任务的深度学习模型架构。2017年,谷歌《Attention Is All You Need》论文提出的这一模型,彻底改变了自然语言处理的格局。下面我们将深入解析一下Transformer的内部结构与自注意力机制的实现。
2025-10-27 22:15:22
695
原创 yolov4
yolo的原作者由于军事应用和对他人个人隐私风险而退出了yolo系列的研究,但是yolo因为目标检测能力强一直别其他人延续以及研究,yolov4加了创新以及吸收了目前主流的框架优点,下面的图展示yolov4目标检测能力明显领先与其他目标检测算法,下面我们看看yolov4的创新点。
2025-10-22 17:02:30
989
原创 深度学习之yolov3
yolov3的利用特征融合预测, 可以看下图,左边仅仅对每层的输出预测,这样会使得学习到的特征不全,输出预测值不准确,而右边,从最小的卷积图向下融合,模型可以学习到更多特征。yolov3在yolov2的基础上优化了网络结构,把先验框分的更细,做了更多特征融合,我们可以看下表看到,在yolov3同时代的目标检测算法中,yolov3还是遥遥领先的。在先验框中,分别为大,中,小,每个类别为3个,一共9个,都是由真实标签聚类得到的。yolov3引入了残差连接。yolov3的核心架构。
2025-10-17 23:37:41
296
原创 深度学习之yolov2
相比后续采用特征金字塔网络(FPN)的模型(如YOLOv3),YOLOv2在不同尺度特征图的协同预测方面不够精细,对于尺度变化极大的目标群体,其性能仍有提升空间。:YOLOv2的定向位置预测将边界框中心限制在网格内部,这虽然稳定了训练,但在一定程度上限制了模型对极端形状或超出网格中心目标的定位灵活性。时,边界框中心会向右移动一个锚框的宽度,这可能在训练初期导致预测框“跑飞”,使得模型难以收敛。时,边界框中心会向右移动一个锚框的宽度,这可能在训练初期导致预测框“跑飞”,使得模型难以收敛。
2025-10-16 22:20:56
1331
原创 在yolo中什么是先验框
先验框是 YOLO 等单阶段目标检测算法中预先设定的、代表常见物体形状和大小的边界框模板。它们被放置在特征图的每个网格单元上,模型的任务是预测相对于这些模板的精细调整(偏移量和缩放),以及框内物体的存在概率和类别概率。这种机制极大地简化了目标检测的学习过程,提高了定位精度和速度,是多尺度检测的关键组成部分。
2025-10-15 21:14:51
707
原创 深度学习之yolov1
YOLO(You Only Look Once)是一种基于深度学习的目标检测算法,由Joseph Redmon等人于2016年提出。它的核心思想是将目标检测问题转化为一个回归问题,通过一个神经网络直接预测目标的类别和位置。YOLO算法将输入图像分成SxS个网格,每个网格负责预测该网格内是否存在目标以及目标的类别和位置信息。此外,YOLO算法还采用了多尺度特征融合的技术,使得算法能够在不同尺度下对目标进行检测。
2025-10-15 21:01:40
809
原创 深度学习中的RNN与LSTM:原理、差异与应用
RNN作为 “序列模型的先驱”,首次实现了 “记忆传递”,让模型能处理时序关联数据;但受限于梯度消失问题,仅适用于短序列任务,且泛化能力较弱。LSTM则通过 “门控机制 + 细胞状态” 的创新设计,从根本上缓解了梯度消失问题,能有效捕捉长序列依赖,成为长序列任务的核心模型,至今仍在 NLP(自然语言处理)、语音识别、时间序列分析等领域广泛应用。GRU(门控循环单元)
2025-10-15 20:40:17
782
原创 从特征到应用:用 dlib+OpenCV 实现实时疲劳检测(基于眼睛纵横比)
本文从 “理论原理” 到 “代码实现”,完整讲解了基于 EAR 的实时疲劳检测系统,核心是将眼睛关键点的几何特征(EAR)转化为实用的状态判断指标。相比传统的 “基于像素亮度的闭眼检测”,该方法抗干扰能力更强,精度更高,且可移植到嵌入式设备(如树莓派),实现更广泛的应用。至此,我们已完成从 “人脸检测→关键点定位→特征可视化→实用应用” 的完整技术链。后续文章将继续探索更复杂的计算机视觉场景,如人脸识别、表情分类等,敬请关注!
2025-09-26 22:36:52
990
原创 人脸特征可视化进阶:用 dlib+OpenCV 绘制面部轮廓与器官凸包
在上一篇内容中,我们实现了 68 点人脸关键点的检测与标记,但单个的点仅能展示特征位置,无法直观呈现面部器官的整体形态。本文将基于已检测到的关键点,通过和两种方式,实现面部轮廓、眉毛、眼睛、嘴巴等器官的可视化,让人脸特征的呈现更清晰、更具实用性。
2025-09-26 22:26:34
956
原创 进阶:基于 dlib 的 68 点人脸关键点检测实现
在上一篇文章中,我们介绍了如何使用 dlib 和 OpenCV 进行基础的人脸检测。本文将在此基础上,进一步讲解如何检测人脸的 68 个关键点,这些关键点涵盖了眼睛、眉毛、鼻子、嘴巴和下颌等面部特征,是实现表情分析、人脸对齐、美颜特效等高级功能的基础。
2025-09-25 20:24:48
876
原创 基于 dlib 与 OpenCV 的人脸检测实践:从原理到代码实现
在计算机视觉领域,人脸检测是诸多应用的基础,无论是人脸识别、表情分析还是美颜相机,都离不开精准的人脸定位。OpenCV 虽自带 Haar 级联分类器,但在复杂场景下检测效果欠佳。而 dlib 库中的 HOG(方向梯度直方图)人脸检测器,凭借更优的算法设计,能实现更高精度的人脸检测。本文将带大家从原理入手,一步步用 dlib 和 OpenCV 实现人脸检测功能。
2025-09-25 20:16:21
1198
原创 大模型推理完全指南:从原理到实战应用
在大模型处理文本之前,首先需要将文本转换成模型能理解的数字格式,这个过程称为Token化Token可以是单个汉字、词语、子词甚至标点符号。示例分析句子:“我爱自然语言处理”可能被拆分为:[“我”, “爱”, “自然”, “语言”, “处理”]每个Token被分配唯一ID:我→100、爱→200、自然→300等Transformers库:支持数千种预训练模型Model Hub:模型共享和发现平台Datasets库:丰富的数据集资源推理API:直接在线体验模型能力。
2025-09-24 22:03:43
599
原创 大模型入门与本地部署实战
大型语言模型是通过在海量文本数据上训练而成的深度学习系统。它们能够理解、生成和处理人类语言,完成各种任务,包括问答、翻译、摘要和创意写作等。Ollama是一个开源的大型语言模型服务工具,专为本地运行而设计。它提供了简单的命令行界面,让模型部署变得极其简单。Open WebUI提供了友好的Web界面,让你可以通过浏览器与本地模型交互,无需使用命令行。模型微调让你可以用特定数据训练模型,使其在特定领域或任务上表现更好。本地大模型部署不再是一项高不可攀的技术。
2025-09-24 22:00:15
1122
原创 OpenCV与深度神经网络的风格迁移
图像读取→预处理→模型推理→后处理→结果显示。OpenCV的DNN模块让我们无需编写复杂的深度学习代码,只需几行调用即可实现强大的AI功能。
2025-09-17 21:56:48
1114
原创 OpenCV内置分类器实现简单的人脸识别
灰度转换→级联分类器检测→绘制标记。人脸识别:结合深度学习模型(如FaceNet)对检测到的人脸进行身份匹配。表情分析:使用预训练的表情分类模型(如FER2013)识别开心、悲伤等表情。实时统计:在画面上叠加文字,显示当前人脸数量或检测耗时。计算机视觉的魅力在于从基础功能到复杂应用的无限延伸,希望这篇博客能为你打开探索的起点!动手试试吧:调整参数、更换检测目标(如眼睛、微笑),看看会发生什么?
2025-09-17 21:53:16
786
原创 用OpenCV CSRT实现实时目标跟踪
在开始写代码之前,我们先聊聊今天的主角——。它是OpenCV在库中提供的一种高精度跟踪算法,全称为“通道与空间可靠性跟踪器”。初始化跟踪器→用户选择ROI→循环更新跟踪器→绘制结果。CSRT的优势在于高精度,适合对准确性要求高的场景(如人脸跟踪、工业零件检测)。实际应用中,你可以根据需求调整参数或结合其他技术(如目标检测)进一步提升效果。用YOLO等检测器检测目标,再用CSRT跟踪检测到的目标,实现“检测+跟踪”的高效流程。结合卡尔曼滤波(Kalman Filter)预测目标位置,减少跟踪丢失的概率。
2025-09-15 19:53:53
1233
原创 基于OpenCV的答题卡自动识别与评分系统
答题卡的四个角点需要按左上→右上→右下→左下的顺序排列,否则透视变换会出错。s = pts.sum(axis=1) # 计算(x+y),左上角点(x+y)最小,右下角点最大rect[0] = pts[np.argmin(s)] # 左上rect[2] = pts[np.argmax(s)] # 右下diff = np.diff(pts, axis=1) # 计算(y-x),右上角点(y-x)最小(接近0),左下角点最大rect[1] = pts[np.argmin(diff)] # 右上。
2025-09-14 22:10:04
1151
原创 opencv基于SIFT特征匹配的简单指纹识别系统实现
本代码通过SIFT特征匹配实现了一个基础的指纹识别系统,展示了从特征提取、匹配到身份判别的完整流程。
2025-09-12 20:10:03
1287
原创 openCV高阶操作之金字塔操作与直方图分析
图像金字塔:下采样(pyrDown)和上采样(pyrUp)的原理与应用,以及如何通过拉普拉斯金字塔保留细节;直方图分析:使用计算全局/局部直方图,并通过matplotlib可视化,理解像素分布对图像的影响。实际应用中,金字塔常用于图像拼接、目标检测(多尺度匹配),直方图则用于图像增强(如直方图均衡化)、缺陷检测(如亮度不均)。建议读者通过调整代码参数(如掩膜区域、金字塔层数)进一步探索效果!
2025-09-11 20:41:20
761
原创 opencv基础实践;银行卡号识别
本文从0到1实现了一套基于模板匹配的信用卡智能卡号识别系统,核心流程包括模板提取、图像预处理、数字定位与匹配。通过自定义工具函数和resize,我们解决了轮廓排序和尺寸统一的关键问题;通过形态学操作和阈值分割,有效增强了数字区域的对比度;最终通过模板匹配实现了高准确率的数字识别。实际应用中,可根据具体场景调整参数(如形态学核大小、排序方法),或结合深度学习模型(如CNN)进一步优化复杂场景下的识别效果。希望本文能帮助你理解计算机视觉在金融场景中的应用,也欢迎你在实践中尝试改进代码,探索更多可能性!
2025-09-11 20:37:45
1214
原创 自然语言处理之PyTorch实现词袋CBOW模型
CBOW(Continuous Bag-of-Words)是Word2Vec的两种核心模型之一。给定目标词的上下文窗口内的所有词,预测目标词本身。例如,对于句子“We are about to study”,若上下文窗口大小为2(即目标词左右各取2个词),则当目标词是“about”时,上下文是“We, are, to, study”,模型需要根据这4个词预测出“about”。CBOW的优势在于通过平均上下文词向量来预测目标词,计算效率高;缺点是对低频词不友好。
2025-09-07 23:43:41
984
原创 深度学习中的学习率优化策略详解
学习率优化是深度学习训练的核心技术之一,其策略选择直接影响模型的收敛速度和最终性能。从固定学习率到自适应调整,再到结合预热的周期性策略,每种方法都有其适用场景。对于用户的食品分类项目,建议从开始尝试,逐步过渡到余弦退火+Warmup,同时结合训练曲线监控,找到最适合当前任务的学习率策略。记住:没有“放之四海而皆准”的学习率设置,只有“具体任务具体分析”的优化思路。掌握学习率优化的本质,你将不再被“调参”困扰,而是能更高效地训练出高性能模型!
2025-09-04 21:01:25
1146
原创 从传统CNN到残差网络:用PyTorch实现更强大的图像分类模型
主路径:两个3x3卷积层nn.BatchNorm2d(out_channels), # 残差网络通常加入BatchNorm# 跳跃连接:如果输入输出维度不一致(通道数或尺寸),用1x1卷积调整if stride!# 主路径输出 + 跳跃连接输出残差网络通过引入跳跃连接,巧妙地解决了深层网络的训练难题,使网络深度突破1000层成为可能。本文从一个传统的CNN模型出发,逐步改造为包含残差块的网络,并通过实验验证了其显著优势。
2025-09-04 20:57:46
1338
原创 深度学习与 OpenCV 的深度羁绊:从技术协同到代码实践
对开发者而言,OpenCV 是深度学习的 “基础设施”—— 无论是数据预处理、实时流读取,还是结果可视化,都离不开它的高效支持;对技术发展而言,二者的融合正在推动计算机视觉向更广泛的场景渗透(如自动驾驶、智能监控、医疗影像),例如 OpenCV 4.x 已深度集成dnn模块,支持直接加载 ONNX 格式的深度学习模型,进一步降低了工程落地门槛。
2025-09-03 22:22:51
1299
原创 深度学习模型保存与装载:从训练到部署的全流程指南
模型保存与装载是深度学习工作流中不可或缺的一环,掌握这一技能能显著提升开发效率。保存策略state_dict(灵活)、完整模型(便捷)、训练状态(断点续训);加载场景:推理、继续训练、迁移学习;最佳实践:命名规范、定期保存、验证模型;常见问题:结构不匹配、设备不兼容、优化器状态异常。回到用户提供的代码,在训练循环中添加模型保存逻辑(如保存最佳验证模型),并在需要时加载模型进行推理或继续训练,即可轻松实现模型的持久化管理。下次训练时,再也不用担心中断或重复劳动啦!
2025-09-02 22:19:12
1661
原创 深度学习中的数据增强实战:基于PyTorch的图像分类任务优化
数据增强是深度学习中提升模型泛化能力的核心技术之一。通过在训练阶段引入合理的几何变换、像素变换和颜色变换,我们可以模拟真实世界中数据的多样性,有效缓解过拟合问题。本文结合具体的PyTorch代码,详细解析了训练集和验证集的增强策略,并给出了实践建议。希望你能将这些方法应用到自己的项目中,让模型在真实场景中表现更优!最后,不妨动手修改代码中的增强参数(如调整的角度范围、尝试仿射变换),观察模型性能的变化——实践是掌握数据增强的最佳方式!
2025-09-02 22:15:33
1462
原创 深度学习跨领域应用探索:从技术落地到行业变革
深度学习跨领域应用的探索,本质上是 “用技术解决行业痛点” 的过程。无论是医疗领域的精准诊断、工业领域的高效质检,还是农业领域的病虫害监测,技术的价值最终都要通过 “是否提升效率、降低成本、改善体验” 来衡量。未来,随着模型轻量化(如 MobileNet、TinyBERT)、低代码工具(如 Google AutoML)的发展,深度学习将进一步降低应用门槛,从 “大企业专属” 走向 “中小企业可用”。但无论技术如何迭代,“以行业需求为导向,以数据质量为基础,与业务深度融合”,始终是深度学习落地的核心逻辑。
2025-09-01 23:02:04
701
原创 深度学习框架与工具使用心得:从入门到实战优化
以 “项目目标” 为导向:如果是算法研究、快速原型验证,优先选 PyTorch;如果是工程落地、多端部署,优先选 TensorFlow。工具贵 “精” 不贵 “多”:不需要掌握所有工具,重点吃透 1-2 个框架的核心用法,再搭配 2-3 个实用工具(如 Netron、W&B),就能应对 90% 以上的深度学习开发场景。深度学习技术迭代很快,但框架与工具的核心逻辑是相通的。希望这篇心得能帮你少走弯路,更高效地用技术解决实际问题。如果大家有其他好用的技巧或工具,欢迎在评论区交流!
2025-09-01 23:00:06
1019
原创 深度学习:洞察发展趋势,展望未来蓝图
深度学习作为当今最具活力和影响力的技术领域之一,正处于快速发展的黄金时期。从模型架构的创新到学习范式的变革,从硬件技术的突破到应用领域的拓展,再到对可解释性和伦理问题的关注,每一个发展趋势都蕴含着巨大的潜力和机遇。在未来,深度学习有望在通用人工智能(AGI)的道路上迈出更坚实的步伐,实现从特定任务智能到更接近人类水平的通用智能的跨越。然而,我们也应清醒地认识到,深度学习的发展并非一帆风顺,面临着诸多技术挑战和伦理困境。
2025-08-30 21:29:51
1156
原创 深度学习重塑医疗:四大创新应用开启健康新纪元
从医学影像的精准解读到疾病风险的提前预测,从药物研发的效率革命到医疗设备的智能升级,深度学习正以 “润物细无声” 的方式重塑医疗健康行业的每一个环节。它不仅提升了医疗服务的精度与效率,更打破了医疗资源的时空限制 —— 通过 AI 辅助诊断系统,偏远地区的患者也能获得三甲医院水平的诊断服务;通过可穿戴监测设备,慢性病患者可实现居家健康管理,减少就医次数。然而,深度学习在医疗领域的应用仍处于 “探索期”,数据隐私、算法公平性、临床信任度等问题仍需行业共同解决。
2025-08-30 21:26:39
1030
原创 OpenCV轮廓近似与Python命令行参数解析
在计算机视觉任务中,轮廓分析是目标检测、形状识别的核心步骤。而函数作为轮廓简化的关键工具,能有效减少轮廓顶点数量,降低计算复杂度;同时,argparse库则能让Python脚本更灵活、易用。本文将结合具体案例,详细讲解这两个技术的原理与实战应用。
2025-08-29 20:55:15
972
原创 opencv基础学习与实战之轮廓分析与模板匹配(4)
在计算机视觉领域,轮廓检测与分析是目标识别、图像分割的核心技术之一。本文将通过具体案例,结合OpenCV库,详细讲解轮廓的几何特征计算(面积、周长)、轮廓筛选与排序,以及模板匹配的实战应用,帮助你快速掌握这些关键技术。
2025-08-29 20:50:49
1331
原创 卷积神经网络实现mnist手写数字集识别案例
训练集:60,000张28x28的灰度图(0-9数字)测试集:10,000张同尺寸图片每张图片已归一化(像素值0-1),标签为0-9的整数训练过程的核心是“前向传播→计算损失→反向传播→更新参数”,重复直到模型收敛。模型设为训练模式(遍历训练数据,按批输入模型;计算预测值与真实标签的损失;反向传播计算梯度(优化器更新参数(清空梯度()避免累积。测试阶段需关闭模型的随机操作(如Dropout),用测试集评估模型的泛化能力。核心指标是准确率(正确预测的样本比例)。数据预处理:使用。
2025-08-28 22:19:47
1428
原创 教你怎么构建卷积神经网络(cnn)
通过本文的解析,你已经掌握了如何从0到1构建一个卷积神经网络。定义卷积块(Conv2d+激活+池化);堆叠多个卷积块,逐步抽象特征;展平特征并通过全连接层分类。实际应用中,需要根据任务需求(如图像尺寸、类别数)调整通道数、层数和超参数。CNN的魅力在于“通过简单组件的堆叠,解决复杂的视觉问题”——这正是深度学习的精髓所在。
2025-08-28 22:08:32
1063
原创 激活函数只是“非线性开关”?ReLU、Sigmoid、Leaky ReLU的区别与选择
激活函数不是“非线性开关”,而是神经网络的“动力引擎”——它决定了信息传递的效率和模型训练的稳定性。优先选ReLU:在大多数深层网络(如图像分类、目标检测)中,ReLU仍是隐藏层的首选,平衡了效率与效果;警惕死亡问题:若训练中发现大量神经元失效(激活值长期为0),尝试Leaky ReLU或PReLU;输出层按任务选:分类用Sigmoid/Softmax,回归用线性函数;小数据/浅层网络:Sigmoid仍可使用(需降低学习率,避免梯度消失)。
2025-08-27 20:56:24
1106
原创 CNN 中 3×3 卷积核等设计背后的底层逻辑
小核堆叠 > 大核:用更少参数实现等效感受野,还能多塞非线性激活,模型更能打。抓关键 > 求平均:最大池化聚焦 “最突出特征”,比平均池化更适配特征提取需求。稳定输入 = 高效训练:BN 层通过归一化稳住输入分布,让深网络训练不再 “抽风”。这些 “约定俗成” 的设计,本质是在 “效果” 和 “效率” 间找平衡—— 毕竟深度学习,既要能解决问题,又得跑得动才行~(最后补个小思考:现在有些模型开始用动态卷积、可变形卷积,是不是又在打破这些 “约定”?评论区聊聊你的看法呀!技术延伸:想亲手验证这些结论?
2025-08-26 22:22:12
559
1
原创 深度学习之卷积神经网络原理(cnn)
对图像(不同的窗口数据)和卷积核(一组固定的权重:因为每个神经元的多个权重固定,所以又可以看做一个恒定的滤波器filter)做内积(逐个元素相乘再求和)的操作就是所谓的『卷积』操作,也是卷积神经网络的名字来源。
2025-08-26 22:09:37
967
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅