• 博客(130)
  • 收藏
  • 关注

原创 langchain_agent智能体

本文介绍了AI智能体(Agent)的概念和应用实现。智能体是具有自主决策能力的AI系统,能理解任务、规划步骤并调用工具完成目标,区别于被动响应的一般AI。文章展示了如何使用LangChain框架构建智能体:1)定义自定义工具(如文本字数统计);2)使用系统工具(Python代码执行);3)集成多个工具构建学习型智能体,实现知识存储、查询、复习和总结功能。通过代码示例演示了智能体如何根据任务自动选择合适的工具,并保持对话记忆以实现上下文理解。测试结果表明,该智能体能有效完成知识管理任务,体现了智能体在复杂任务

2025-11-03 22:17:33 381

原创 “RAG简单介绍

本文介绍了检索生成增强(RAG)技术的基本概念及其实现方法。RAG技术通过结合信息检索与文本生成,利用外部知识库提升AI响应的准确性。文章详细展示了RAG的技术实现流程:1)使用PyPDFLoader和WebBaseLoader加载本地及网页文档;2)通过RecursiveCharacterTextSplitter进行文本分割;3)调用OpenAI或DashScope的嵌入模型处理向量;4)利用FAISS创建向量数据库并实现检索功能;5)最后结合ConversationBufferMemory构建带记忆功能

2025-11-02 22:31:03 316

原创 langchain基础

本文介绍了使用阿里云API调用通义千问(qwen-plus)模型的几种方法。主要内容包括:1)基础模型调用方法,通过SystemMessage和HumanMessage设置提示词;2)使用PromptTemplate简化提示词管理;3)ChatPromptTemplate整合多模板输入;4)FewShot模板实现样例学习;5)使用CommaSeparatedListOutputParser格式化输出为逗号分隔列表;6)PydanticOutputParser实现JSON格式输出;7)通过链式传播实现多步骤处

2025-11-02 22:04:09 476

原创 yolov4和yolov5(yolov4的工业化)

YOLOv4优化要点:1)训练策略升级,采用Mish激活函数;2)创新数据增强方法,引入图片拼接和马赛克遮挡;3)改进DropBlock技术,增强泛化能力;4)优化IOU损失函数,考虑中心点距离;5)改进非极大值抑制算法;6)网络结构升级,采用CSPNet和注意力机制;7)路由层优化为相加结构;8)激活函数改用Mish。整体在检测精度和速度上均有提升。

2025-10-27 21:42:01 490

原创 yolov3代码详解

在此之前先学习下如何对图片进行打标签,这里使用labelme(直接通过pip进行安装)来进行打标签。具体操作如下:win+R 然后cmd打开终端输入labelme,然后找到图片文件夹进行框图然后保存下来就会得到一个json文件。这个是一个字典,其中重要部分是shapes部分,其中包括了我们的label和points。其中最下面的一大串编码是我们的图片经过的二进制数据。可以通过下面代码转化为数据,方便了我们的网络传输数据。

2025-10-16 21:59:23 881

原创 yolov3

本文讨论了目标检测算法YOLOv1的改进方向。首先提出使用多规格scale预选框来检测不同尺寸目标,如老鼠、狗和大象。其次对比了两种特征变换方法,推荐采用结合多scale预选框的新方法。最后介绍了类别预测的改进:用logistic回归替代softmax,实现多标签分类(如同时识别"动物"和"狗")。总结YOLO的三大优化:1)多scale特征融合;2)引入ResNet残差连接;3)softmax改进为logistic实现多类别预测。

2025-10-15 21:08:08 232

原创 yolov2(基于yolov1的优化)

YOLOv2相较于YOLOv1的主要改进包括:1)引入BatchNorm进行批次归一化;2)采用更高分辨率输入;3)网络结构改为Darknet;4)通过聚类提取5类先验框,更贴合目标尺寸;5)增加先验框数量;6)优化位置微调机制,使用sigmoid限制预测范围;7)采用特征融合提升小目标检测效果;8)支持多尺度训练。这些改进提升了检测精度和适应性,特别是通过聚类先验框、特征融合和多尺度训练有效解决了小目标检测问题。

2025-10-15 15:38:39 550

原创 初识yolov1

YOLOv1是一种基于深度学习的目标检测算法,将图像划分为S×S网格,每个网格预测目标类别和位置。作为one-stage模型,YOLO具有速度快(实时检测)但精度略低于two-stage方法的特点。其核心指标mAP衡量检测精度,IoU评估预测框与真实框的重叠程度。网络包含24个卷积层和2个全连接层,输出7×7×30的张量。损失函数综合位置误差、置信度误差和分类误差。相比传统方法,YOLO通过端到端训练实现了高效的目标检测,适用于自动驾驶等实时场景。

2025-10-15 10:36:47 664

原创 模型部署(一学就会的)

本文介绍了如何将训练好的深度学习模型部署为Web服务,主要包括客户端和服务端两部分。客户端代码通过HTTP请求将图片数据以JSON格式发送到服务端;服务端基于Flask框架搭建,包含三个核心功能:1)加载预训练的ResNet18模型,2)对接收的图片进行标准化预处理,3)进行预测并返回top3结果。服务端通过@app.route装饰器创建/predict接口,处理POST请求,返回预测结果的JSON数据。最后通过app.run()启动服务,监听指定端口。这种部署方式既支持本地局域网访问,也可部署到云服务器实

2025-10-10 19:36:48 400

原创 如何姿态估计

本文介绍了使用Mediapipe进行人体姿态检测的代码实现。通过导入cv2和mediapipe库,初始化Pose检测器并设置参数(如图像模式、模型复杂度、置信度阈值等)。代码读取图像后转换为RGB格式,使用Pose检测器处理图像并绘制关键点及连接线,最后显示检测结果。参数说明包括static_image_mode、model_complexity等配置选项,适用于静态图像检测。

2025-09-29 21:15:46 274 1

原创 手势检测(充满科技感)

MediaPipe是Google开源的跨平台机器学习工具库,提供人脸检测、手势识别等多种视觉算法。本文重点演示了其手势识别功能:通过pip安装后,使用cv2和mediapipe库实现实时手部关键点检测。代码核心是初始化mp_hands.Hands类并设置参数(如识别手数量、置信度阈值等),通过process()方法处理视频帧,用draw_landmarks()绘制手部关节点和连接线。该方案能实时跟踪多只手,适用于动态手势识别场景。

2025-09-29 20:54:33 1416 3

原创 自然语言处理代码(巨详细,草履虫都能看懂、包含数据处理部分)

本文介绍了一个基于LSTM的文本情感分类模型的完整实现流程。首先构建了包含4760个高频词和两个特殊标记的词典,并使用Tencent预训练的词向量进行初始化。然后对微博评论数据进行预处理,包括分词、填充/截断为固定长度70,并转换为词典索引。模型采用双向LSTM结构,包含嵌入层、3层128维LSTM和全连接层,使用dropout防止过拟合。训练过程中采用Adam优化器和交叉熵损失函数,设置早停机制防止过拟合。最后在测试集上评估模型性能,输出分类报告。整个流程涵盖了词典构建、数据预处理、模型定义、训练和评估等

2025-09-28 21:57:29 1358

原创 LSTM网络(史上最详细的讲解,包含每一步的数据变化)

本文介绍了RNN循环神经网络和LSTM长短期记忆网络的基本原理。RNN通过时间步处理序列数据,但存在梯度消失和记忆能力有限的问题。LSTM通过引入"门控机制"(遗忘门、输入门、输出门)和细胞状态来改进RNN,能够选择性地保留重要信息。文中详细说明了LSTM各层的计算过程,包括数据维度转换、信息保留比例的计算,以及细胞状态的更新方式。LSTM通过这种机制实现了对长期依赖关系的有效建模,在处理序列数据时表现出更好的性能。

2025-09-27 20:51:04 1202

原创 光流估计(可用于目标跟踪)

本文介绍了一个基于Lucas-Kanade光流法的视频特征点追踪程序。该程序通过导入OpenCV和NumPy库,读取视频文件并初始化随机颜色用于轨迹绘制。核心步骤包括:1)处理第一帧图像并检测特征点;2)设置光流参数;3)在主循环中计算帧间光流,跟踪特征点运动;4)筛选有效轨迹点并绘制彩色运动轨迹;5)实时显示结果并更新特征点。程序能有效展示视频中物体的运动轨迹,通过ESC键可退出循环。该实现展示了光流法在运动分析中的应用。

2025-09-22 21:40:51 683 1

原创 背景建模(基于视频,超炫)项目实战!

背景建模是计算机视觉中从视频提取静态背景的技术,用于分离动态前景对象。文章介绍了帧差法原理,并提供了基于OpenCV的代码实现,包括创建背景减除器、形态学处理、轮廓检测等步骤,最终实现对运动物体的检测和标记。该方法可应用于智能监控等场景,实现移动物体检测功能。

2025-09-22 21:27:28 776

原创 图像拼接(反向拼接巨难,求指教!)

本文介绍了基于SIFT特征检测的图像拼接方法。通过提取两幅图像的SIFT特征点,使用暴力匹配器进行特征匹配,并采用Lowe's比率测试筛选优质匹配点。然后利用RANSAC算法计算单应性矩阵,对图像进行透视变换实现对齐,最终将两幅图像拼接融合。代码实现包括特征检测、匹配筛选、单应性估计和图像变换等关键步骤,最终输出拼接结果图像。该方法利用特征点匹配和几何变换,实现了两幅图像的无缝拼接。

2025-09-22 21:09:55 891

原创 opencv的DNN模块里

本文介绍了一个基于OpenCV的深度学习图像风格迁移实现。代码通过cv2.dnn模块加载预训练的PyTorch模型(candy.t7),对输入图像进行预处理后,构建符合神经网络输入格式的四维blob数据。执行前向传播得到风格迁移结果,经过维度重塑、归一化和转置处理后,最终显示艺术化转换后的图像。整个流程包括图像读取、预处理、模型加载、前向计算和结果后处理等步骤,实现了将特定艺术风格应用到输入图像上的功能。代码简洁高效,展示了OpenCV在深度学习应用中的实用价值。

2025-09-22 20:47:44 558 1

原创 人脸识别(具体版)

本文介绍了OpenCV提供的三种人脸识别算法:LBPH(局部二值模式直方图)、EigenFaces(基于PCA)和FisherFaces(基于LDA)。重点演示了FisherFaces算法的实现,通过读取训练图像(蔡徐坤和良子的照片),调整大小并标记类别后训练模型。测试时计算待识别图像的置信度,低于5000视为可靠结果。代码中解决了OpenCV不支持中文显示的问题,使用PIL库添加中文标注。最终系统能正确识别测试图像所属类别,并显示识别结果和置信度。

2025-09-22 20:37:57 1089

原创 如何进行人脸识别

OpenCV提供了基于Haar特征的级联分类器实现人脸检测。通过cv2.CascadeClassifier加载预训练模型后,使用detectMultiScale方法检测灰度图像中的人脸。关键参数包括scaleFactor(1.05-1.4控制检测速度精度)、minNeighbors(3-6控制误检率)和minSize(过滤小目标)。检测到的人脸以矩形框标注,返回坐标和尺寸信息。该算法通过计算图像局部区域的灰度变化特征值,结合级联分类器判断是否为人脸。该方法可扩展至视频流处理,通过逐帧检测实现实时人脸识别。

2025-09-22 20:05:08 542

原创 SIFT特征匹配实战:KNN算法实现指纹认证

本文介绍了一种基于SIFT特征和KNN匹配的图像认证方法。通过创建SIFT特征提取器检测关键点并计算描述符,利用FLANN匹配器进行K近邻匹配,应用Lowe's比率测试筛选优质匹配点。当匹配点数量超过阈值(如500)时判定为认证通过,否则失败。方法实现了图像的特征提取、匹配和可视化功能,适用于指纹等图像认证场景。核心代码包括SIFT特征提取、KNN匹配和匹配结果判定三个主要步骤。

2025-09-12 19:44:39 1486

原创 图像投影(透视)变换

摘要:本文介绍了使用OpenCV对倾斜票据图像进行自动矫正的方法。通过轮廓检测、多边形近似和坐标变换,实现了将倾斜图像转为正面视角的功能。关键步骤包括:1)图像预处理(灰度化、二值化);2)寻找最大轮廓并近似为四边形;3)通过坐标计算确定四个角点;4)使用透视变换矩阵进行图像矫正。文章详细讲解了核心函数实现,包括坐标点排序(order_points)、四点变换(four_point_transform)等,并提供了形态学处理优化结果的示例。该方法有效解决了票据图像因拍摄角度导致的倾斜问题。

2025-09-11 21:17:47 791

原创 opencv特征检测

本文介绍了两种图像特征检测方法:Harris角点检测和SIFT特征检测。Harris角点检测通过分析窗口滑动时像素灰度变化来识别角点,使用OpenCV实现并标记出角点位置。SIFT特征检测则具有尺度、旋转不变性等特点,通过创建SIFT对象、查找关键点并绘制特征点,可获取关键点的坐标、大小、方向等信息。两种方法分别适用于不同的图像特征检测场景,SIFT尤其适合需要稳定特征的复杂图像匹配任务。

2025-09-11 20:47:18 690

原创 图像直方图

本文介绍了图像直方图的绘制方法,包括灰度图和彩色图的像素值分布统计。通过OpenCV读取图像,使用matplotlib绘制直方图,展示了如何计算各颜色通道的像素分布。同时说明了掩膜的使用方法,通过创建二值掩膜与图像进行位运算,可以提取特定区域的像素信息。最后提及了掩膜可以设置为轮廓形状,用于提取图像轮廓区域的特征。这些技术为图像分析和处理提供了基础工具。

2025-09-10 09:25:40 331

原创 你知道zip()和zip(*)怎么用吗?

本文介绍了Python中zip()函数的用法。zip()可以将两个数组对应位置的元素组合成元组,如将q和w数组zip后得到(1,1)、(2,2)等元组组合。而zip()则是逆操作,能将已zip的组合重新拆分成原始数组。示例中先演示了zip的打包功能,再展示zip()的拆分功能,直观展示了这两个操作互为逆过程的特点。zip在处理并行迭代时非常实用,可以方便地进行数据配对和拆分操作。

2025-09-09 20:37:49 444

原创 关于np.where(a>10),你知道怎么用吗?

从上面我们可以看到这个np.where返回的是位置信息。一维的就返回一维度,也就是那一个所在的位置。在原本的多目标轮廓匹配案例中得到的结果就是就是那个的左上角的坐标信息。二维的就返回那个的位置。这里用一个例子来讲明白。

2025-09-09 20:31:14 342

原创 多目标轮廓匹配

本文介绍了如何通过模板匹配检测图片中多个不同方向的箭头目标。首先通过cv2.matchTemplate()进行匹配,使用阈值筛选匹配度较高的结果。针对不同方向的箭头,采用np.rot90()对模板进行顺时针和逆时针90度旋转后再次匹配,最终在原图上用矩形框标记出所有匹配结果。该方法通过旋转模板实现多角度匹配,解决了单一方向模板无法检测不同方向目标的问题。

2025-09-09 20:17:23 746

原创 图像金字塔---图像上采样下采样

该文章介绍了图像金字塔处理中的下采样和上采样操作。通过OpenCV的cv2.pyrDown()和cv2.pyrUp()函数实现图像尺寸的缩小与放大,并指出上采样会导致图像变模糊。重点讲解了拉普拉斯金字塔的原理:通过原图减去下采样后再上采样的图像得到差值图像,将其与处理后的图像相加即可恢复原图。文章包含完整的Python代码示例,展示了高斯金字塔和拉普拉斯金字塔的具体实现过程。

2025-09-09 19:53:28 607

原创 基于OpenCV的银行卡号识别系统:从原理到实现

本文介绍了一个基于Python和OpenCV的银行卡号识别系统。系统采用计算机视觉技术处理银行卡图像,通过灰度转换、二值化、轮廓提取和排序等预处理步骤,结合自定义工具函数优化处理流程。核心技术包括:1)模板处理,建立数字特征库;2)图像形态学处理增强数字特征;3)三重循环实现数字区域定位和模板匹配。该系统能准确识别卡号并判断卡类型,展现了传统CV技术在金融科技中的实用价值,具有扩展到其他卡证识别场景的潜力。

2025-09-08 23:08:35 1670

原创 迁移学习-ResNet

ResNet迁移学习深度解析:原理与实践 本文系统介绍了ResNet架构的核心思想及其在迁移学习中的应用优势。ResNet通过残差块和跳跃连接解决了深度网络训练难题,结合迁移学习可显著减少数据需求和计算资源。文章详细阐述了三种迁移学习策略的选择指南,并提供了基于PyTorch的实践代码示例,包括模型加载、结构调整、参数冻结等关键步骤。特别以食物分类任务为例,展示了不同ResNet版本的性能对比。最后总结了学习率设置、过拟合处理等进阶技巧,展望了自动化迁移学习等未来发展方向。ResNet迁移学习已成为解决计算

2025-09-05 22:11:31 1329

原创 ResNet(残差网络)-彻底改变深度神经网络的训练方式

ResNet(残差网络)是2015年提出的突破性CNN架构,通过引入残差块和跳跃连接解决了深层网络的梯度消失/爆炸问题。其核心思想是在网络层间添加恒等映射,保留原始特征以防止训练退化。本文分析了梯度问题的三种成因(激活函数、深度、初始权重),并展示了ResNet的PyTorch实现代码,包括残差块设计、网络结构及训练过程。实验在MNIST数据集上验证了模型性能,通过损失曲线和准确率图表证明了残差连接的有效性。该架构不仅提升了图像任务表现,还被成功应用于NLP领域。

2025-09-04 23:05:31 585

原创 深度学习中的图像强化

摘要:针对训练数据不足的问题,可通过图像增强技术扩充数据集。本文采用PyTorch的transforms模块对训练图像进行多种变换处理,包括随机旋转(±45度)、中心裁剪(256x256)、水平/垂直翻转(概率50%)、颜色抖动(亮度20%,对比度/饱和度/色调各10%)和随机灰度化(概率10%)。测试集仅进行基础处理(缩放和标准化)。这种增强策略能有效提高模型泛化能力,使训练准确率持续提升并突破无增强时的上限。实验表明,多样化增强能帮助模型学习更鲁棒的特征表达。

2025-09-03 16:04:08 624

原创 如何保存训练的最优模型和使用最优模型文件

本文介绍了PyTorch中两种模型保存与加载的方法:1)仅保存模型参数(state_dict),使用时需先定义相同网络结构再加载参数;2)保存完整模型,可直接加载但需保证网络定义一致。代码展示了如何在训练过程中通过测试准确率选择最优模型进行保存,并提供了完整的CNN网络实现、数据预处理流程及测试函数。关键点包括:使用eval模式进行测试、两种保存方式的调用区别、以及完整的训练-测试循环实现。文章还包含了数据增强、自定义数据集类和设备选择等实用技巧。

2025-09-03 15:44:51 544

原创 深度学习之卷积神经网络——代码实现

本文介绍了一个基于PyTorch实现的卷积神经网络(CNN)用于MNIST手写数字识别任务。网络结构包含三个卷积块(conv1-3),每个块由卷积层、ReLU激活函数和池化层组成,最后通过全连接层输出分类结果。实验结果表明,该CNN模型仅训练一次就能达到97.56%的准确率,训练15轮后准确率可达99.14%,显著优于全连接神经网络。代码部分完整展示了数据加载、模型定义、训练和测试流程,包括使用DataLoader进行批处理、交叉熵损失函数和Adam优化器等关键组件。该模型充分利用了卷积神经网络在图像处理中

2025-08-30 22:09:56 755

原创 opencv实现轮廓绘制和选择

本文介绍了使用OpenCV进行图像轮廓识别的基本方法。首先通过二值化处理增强图像对比度,然后使用findContours函数获取轮廓信息。主要内容包括:1)轮廓绘制与面积计算;2)基于面积筛选轮廓;3)绘制轮廓的外接圆和矩形;4)轮廓近似处理。其中,重点讲解了如何通过contourArea函数计算轮廓面积,并基于面积筛选特定轮廓;演示了minEnclosingCircle和boundingRect方法获取外接形状;最后介绍了approxPolyDP函数实现轮廓近似。这些方法为后续图像识别和分析奠定了基础。

2025-08-30 21:38:19 1131 3

原创 一文教会你什么是感受野

《卷积神经网络中感受野的全面解析》摘要:感受野是CNN特征图上单个像素对应输入图像的区域大小,其计算受卷积核、步长等参数影响。浅层网络感受野小,捕捉局部特征;深层网络感受野大,识别全局信息。感受野对网络设计至关重要,可通过堆叠小卷积核、空洞卷积等方法扩大。实际应用中,有效感受野往往小于理论值,呈高斯分布。理解感受野有助于平衡特征提取的全局与局部关系,指导模型设计优化。感受野是分析CNN工作原理和特征抽象层次的重要指标,直接影响模型的性能表现。

2025-08-28 22:43:49 1598

原创 卷积核尺寸如何计算?

摘要:使用5×5卷积核、填充2和步长1可保持特征图尺寸不变。小卷积核(3×3)适合浅层网络,计算高效;大卷积核(5×5/7×7)能捕捉全局特征但参数量大;1×1卷积用于通道调整。输入尺寸计算需考虑核大小、填充、步长及向下取整。不同卷积核适用于不同场景:小核用于基础特征提取,大核适合大尺度物体检测。

2025-08-28 22:35:47 522

原创 如何给我们直接创建的类加上索引?和len方法?

NumPy通过定义__getitem__方法实现类对象的直接索引功能。在Python中,自定义类只需实现__getitem__方法即可支持索引操作(如a[1]),实现__len__方法则支持len()函数调用。示例代码展示了如何通过这两个魔术方法使自定义类具备类似NumPy数组的索引功能,并可在__getitem__中自定义返回内容。这种机制正是NumPy能够实现数组索引的核心原理。

2025-08-28 22:27:24 327

原创 一文教会你如何使用本地图片进行卷积神经网络训练

本文介绍了如何将自定义手写数字数据集转换为PyTorch可用的格式。首先需要将图片路径和标签写入文本文件,然后使用torchvision.transforms进行图像预处理(调整尺寸至256x256并转为Tensor)。通过继承Dataset类创建自定义数据集类,实现索引访问和长度查询功能。最后使用DataLoader进行批量加载,设置shuffle=True实现乱序抽取。该方法可将任意图像数据转换为符合PyTorch训练要求的格式,为后续神经网络训练做好准备。

2025-08-28 22:16:02 815

原创 数据归一化:4步精通预处理技巧

本文介绍了数据归一化在机器学习中的核心作用和实践方法。归一化通过消除量纲差异、避免权重不平衡和提高模型收敛速度,显著提升模型性能。重点讲解了两种主要方法:最小-最大归一化(适合固定输出范围)和标准化(Z-score,抗异常值能力强),并对比了它们的适用场景。文章还提供了Python实战示例,强调在房价预测等任务中归一化的重要性。最后给出选择建议:根据数据特性(如是否存在异常值)和模型需求(如是否需要固定输出范围)选择合适的归一化方法,并注意在训练集上计算参数以避免数据泄露。

2025-08-27 20:46:43 933

原创 一篇文章教你搞懂卷积

卷积运算的核心原理包括单通道和多通道的计算方式。单通道卷积通过3×3卷积核对5×5图像滑动计算,输出3×3特征图。多通道卷积时,输入与卷积核通道数必须一致,各通道独立计算后相加,输出通道数由卷积核个数决定。填充(Padding)可控制输出尺寸并保留边缘信息,步幅(Stride)则实现空间降采样。关键设计参数包括卷积核尺寸、填充、步幅和输出通道数,共同影响输出尺寸和特征提取效果。多核卷积能融合空间特征与通道信息,而大步幅是减少计算量的有效手段。

2025-08-26 21:34:12 767 1

城市名称大全的html文件

用于文章中案例使用,内含百度网页的html信息,我们来尝试提取内容。

2025-07-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除