自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(560)
  • 收藏
  • 关注

原创 上位机知识篇---QT界面按钮交互元素

本文介绍了在OpenCV界面程序中添加交互控件的两种方法:1. 使用QTDesigner可视化设计(推荐新手):通过拖放控件、布局设计和信号槽关联,快速构建界面,包含按钮、滑动条、下拉列表等常用元素的操作指南。2. 纯代码创建控件(适合复杂需求):详细介绍通过代码手动创建控件、设置属性和绑定事件的方法。文中还提供了滑动条与数字框联动、按钮禁用等实用技巧,并解释了控件、信号槽和布局三大核心概念的关系,帮助开发者实现图像处理程序的交互功能。

2025-09-16 22:31:45 556

原创 上位机知识篇---QT Creator 中Opencv开发

本文介绍了一个基于QT和OpenCV的图像处理程序框架,主要包含以下功能模块:1. 图像格式转换(OpenCV的Mat格式与QT的QImage格式互转);2. 图像加载显示功能(支持多种格式图片);3. 基础图像处理(灰度化转换);4. 高级处理(Canny边缘检测);5. 图像保存功能;6. 摄像头实时采集功能。程序采用模块化设计,通过QT构建用户界面,利用OpenCV进行图像处理,实现了从图像加载、处理到显示保存的完整流程。

2025-09-16 22:28:41 338

原创 上位机知识篇---opencv路径

配置OpenCV开发环境需关注三个关键环节:1) 环境变量Path添加OpenCV的bin目录,确保系统运行时能找到动态链接库(.dll);2) QT的INCLUDEPATH需包含OpenCV头文件的三个层级目录(include/opencv、opencv2等),保证编译器正确识别新旧版本头文件;3) LIBS配置通过通配符链接静态库(.a文件),将OpenCV功能实现嵌入可执行程序。三者分别解决运行时依赖、编译期头文件定位和代码链接问题,共同确保AI视觉系统正常调用OpenCV功能。

2025-09-16 22:19:32 362

原创 深度学习篇---强化学习

强化学习是一种通过试错反馈让智能体自主学习最优策略的机器学习方法。其核心概念包括智能体、环境、状态、动作和奖励五个要素,类比于训练小狗握手的机制。典型应用场景包括游戏AI(如AlphaGo)、机器人控制、自动驾驶和资源优化调度等。强化学习的优势在于无需标注数据、能适应动态环境并实现长期收益最大化,但也面临试错成本高、训练不稳定和奖励设计困难等挑战。当问题需要自主试错学习、环境动态变化或追求长期最优收益时,强化学习是理想选择。这种模仿人类学习过程的方法,是实现通用人工智能的重要方向。

2025-09-16 21:01:42 485

原创 深度学习篇---K均值聚类

K均值聚类是一种无监督学习算法,通过"找中心点→分堆→更新中心点"的循环过程,将数据自动分成K个相似组。其核心是计算数据点到质心的距离进行分组,并不断更新质心位置直到稳定。该方法简单快速,适用于用户画像、异常检测、图像分割等场景,尤其适合数值型数据的初步分析。但存在K值需预设、对异常值敏感、无法识别语义差异等局限。当需要快速探索数据规律且对精度要求不高时,K均值聚类是最易用的入门工具。

2025-09-16 20:46:37 568

原创 深度学习篇---支持向量机

支持向量机(SVM)是一种找最宽的路的机器学习算法,通过寻找使两类数据间隔最大的超平面进行分类。核心思想是:在数据空间中确定一个最优分隔面,使到两侧最近样本点的距离最大化。SVM可以处理非线性数据(通过核函数升维),适合高维小样本场景(如文本分类、图像识别)。优点是分类精度高、抗过拟合强,但大数据计算慢、核函数选择难。适合数据量不大但对精度要求高的任务,是小而精的经典分类算法。

2025-09-16 20:31:00 797

原创 深度学习篇---朴素贝叶斯

朴素贝叶斯是一种基于概率的分类方法,核心思想是利用已知特征计算事件发生的概率。其工作原理分为三步:统计特征出现频率、利用贝叶斯公式计算概率、比较概率大小进行分类。该方法适用于文本分类(如垃圾邮件识别)、医疗初筛和推荐系统等场景,具有计算快、小数据友好等优势,但受限于"特征独立"假设,在复杂场景下精度有限。适合需要快速处理、数据量小且特征相关性不强的任务,是简单高效的分类工具。

2025-09-16 20:20:50 362

原创 深度学习篇---随机森林

随机森林是一种集成学习方法,通过构建多棵决策树并进行投票或取平均来提高预测准确性。它通过数据随机和特征随机保证每棵树的多样性,有效避免过拟合。适用于分类(如医疗诊断、垃圾邮件识别)、回归(如房价预测)和特征重要性分析等场景。优势在于精度高、稳定性好、能处理复杂数据,缺点是解释性差、计算成本高。当需要高精度预测且不要求解释性时,随机森林是理想选择。这种方法结合了多棵树的智慧,比单棵决策树更可靠,是机器学习中的常用工具。

2025-09-16 20:02:54 774

原创 深度学习篇---逻辑回归和决策树

逻辑回归和决策树是两种常见的机器学习方法。逻辑回归通过S型曲线计算概率,适合需要明确解释的二分类问题(如垃圾邮件识别、信贷风控),特点是计算快、结果易解释但仅适用于线性关系。决策树采用层层提问的流程,能处理分类和回归问题(如房价预测、员工离职预测),直观易懂但容易过拟合。选择依据:需概率解释用逻辑回归,要直观流程用决策树。

2025-09-16 19:49:13 381

原创 深度学习篇--- PCA 和 LASSO

PCA和LASSO是两种常用的数据处理方法:PCA是无监督降维工具,通过提取主成分压缩高维数据,适用于图像处理、数据可视化等场景,能简化计算但会损失部分信息;LASSO是监督特征选择方法,通过惩罚机制筛选关键特征,适用于医疗诊断、金融风控等需要解释性的预测任务,能简化模型但可能遗漏相关特征。两者核心区别在于:PCA重在数据压缩,LASSO重在特征筛选。选择时,数据简化用PCA,关键因素识别用LASSO。

2025-09-16 19:45:13 613

原创 深度学习篇---机器学习

要理解机器学习方法,其实可以把它们类比成解决不同生活问题的 “工具”—— 有的擅长分类(比如区分苹果和橘子),有的擅长预测(比如估算下个月的电费),有的擅长找规律(比如从购物记录里发现偏好)。下面用,详细拆解最常见的 7 类方法,包括它们的用途、优缺点和适用情况。

2025-09-16 19:39:33 636

原创 上位机知识篇---Python结合智能体

百度千帆平台的智能体通过Python可实现高级功能,使其从单纯对话升级为能调用工具、处理数据的全能助手。核心功能包括:1)调用外部API(如天气查询);2)流程自动化(多步骤任务串联);3)批量数据处理;4)实时数据库交互。实现方法:获取API密钥后,通过Python SDK编写调用逻辑,包括工具函数定义、流程编排和错误处理。新手建议从单工具调用入手,逐步增加复杂度,参考官方文档示例代码。这种方式突破了聊天框限制,让智能体兼具思考与执行能力。

2025-09-16 00:26:38 711

原创 上位机知识篇---百度千帆智能体

百度千帆平台是一个无需编程基础即可开发智能体的工具平台。用户只需注册账号并实名认证,通过可视化界面选择基础大模型,上传知识库数据训练专属能力,设置系统提示词定义行为规则,最后测试优化并发布API接口。平台支持多种应用场景开发,提供数据安全保障,新手也能快速上手创建个性化智能助手。

2025-09-16 00:08:57 689

原创 深度学习篇---GRU的网络结构

本文介绍了如何在PyTorch中实现GRU(门控循环单元)进行文本生成。主要内容包括:1)PyTorch中GRU的基本用法和参数设置;2)完整的文本生成实现流程,包括数据预处理、模型构建(嵌入层+GRU+输出层)、训练和生成;3)GRU与LSTM的关键区别(无细胞状态)、隐藏状态初始化、变长序列处理技巧;4)GRU的优势(参数少、训练快)和避免过拟合的方法。通过根据前几个词续写句子的实例,展示了GRU在序列生成任务中的应用。

2025-09-15 09:28:01 914

原创 深度学习篇---GRU

GRU(门控循环单元)是LSTM的简化版,通过2个门+1个隐藏状态的结构解决RNN长程依赖问题。相比LSTM的3个门和独立细胞状态,GRU合并记忆管理模块,计算效率更高。其核心机制是:重置门决定是否使用旧记忆,更新门控制新旧记忆融合比例。以处理句子我上周去北京玩了为例,GRU能有效保留关键信息(时间、地点),过滤冗余词(了)。

2025-09-15 09:19:41 689 1

原创 深度学习篇---LSTM网络结构

本文介绍了如何在PyTorch中使用LSTM实现文本情感分类任务。主要内容包括:1) LSTM基本用法,解释关键参数和输入输出格式;2) 完整实现流程:数据预处理(文字转数字)、模型搭建(词嵌入+LSTM+分类层)、训练和预测;3) 关键注意事项:输入格式匹配、变长序列处理、过拟合预防等。重点指出LSTM相比RNN多了细胞状态,以及如何正确提取序列特征。通过一个情感分类示例,展示了从数据准备到模型预测的完整过程,并提供了GRU变体的实现思路。

2025-09-15 09:00:34 1315

原创 深度学习篇---LSTM

LSTM通过"记忆管理系统"解决了RNN"记不住长远信息"的问题。它采用三个智能阀门(遗忘门、输入门、输出门)和一个"长期记忆抽屉"(细胞状态),能够主动筛选和保留关键信息。以处理句子为例,LSTM能逐步更新记忆,如从"我"到"我爱"再到"我吃苹果"。相比RNN的信息损耗,LSTM能完整保留上下文关系,使其在机器翻译、语音识别等需要处理长序列的任务中表现优异。

2025-09-15 08:48:35 915

原创 深度学习篇---全连接神经网络

全连接神经网络(FCN)是最基础的神经网络结构,采用"相邻层神经元完全连接"的传递方式,由输入层、隐藏层和输出层组成。输入层接收原始数据,隐藏层通过加权求和和激活函数处理进行特征提取,输出层根据不同任务类型输出结果。FCN适合处理结构化数据,但存在参数爆炸和高维数据处理困难等缺点。虽然简单,FCN仍是复杂网络的基础构件,广泛应用于结构化数据分析和快速验证场景。其核心优势在于结构直观、通用性强,是理解神经网络原理的理想起点。

2025-09-14 16:46:42 584

原创 深度学习篇---RNN网络结构中的层数与隐藏层

RNN网络层数决定了信息处理的深度:层数越多,模式捕捉能力越强,但计算效率下降。1层处理简单序列,2-3层适合复杂任务,过多层数反而影响性能。隐藏层是RNN的记忆中枢,通过逐步整合上下文信息(如从我到苹果完整记录),为预测提供依据。它像动态更新的笔记本,将当前输入与历史记忆融合,使模型能理解序列逻辑。实际应用中2-3层RNN在计算效率与模型复杂度间取得较好平衡。

2025-09-14 16:34:47 611

原创 深度学习篇---RNN的网络结构

本文介绍了如何使用PyTorch实现RNN进行文本分类。主要内容包括:1)利用PyTorch的nn.RNN模块构建模型,解释关键参数如input_size、hidden_size等;2)完整实现流程:数据预处理(文本转ID序列)、模型构建(嵌入层+RNN层+分类层)、训练过程;3)关键设计细节,如词嵌入层的作用、使用最后时间步输出的原因等。文章通过情感分析案例,展示了如何将RNN应用于实际任务,并指出LSTM/GRU的替换方法。PyTorch封装了RNN的核心逻辑,开发者只需关注数据准备和模型结构即可。

2025-09-14 16:24:15 565

原创 深度学习篇---RNN

本文用生活化类比解析了RNN(循环神经网络)的工作原理。RNN通过"记忆单元"让机器像人类一样处理序列信息(如文字、语音),其核心在于将上一步的隐藏状态与当前输入结合,形成新的记忆。但基础RNN存在"长程依赖"问题,难以记住远距离信息。为此发展出LSTM(带三个控制门)和GRU(简化版)来解决。这些技术广泛应用于机器翻译、语音识别、股价预测等序列数据处理场景。RNN及其变体通过"记忆传递"机制,成为处理时序数据的核心工具。

2025-09-14 16:17:02 1010

原创 深度学习篇---非线性回归任务

机器学习中,针对非线性回归问题可选用不同神经网络:1)全连接神经网络(MLP)适合基础非线性关系,如二手手机价格预测;2)循环神经网络(RNN/LSTM)处理时序数据,如气温预测;3)卷积神经网络(CNN)擅长分析网格数据,如卫星云图降雨预测;4)Transformer适用于复杂关联数据,如文本情感分析。选择依据是数据特征:无序列用MLP,时序用RNN,网格用CNN,复杂关联用Transformer。核心原则是网络结构需匹配数据特性。

2025-09-13 23:54:11 654

原创 深度学习篇---嵌入编码(Embedding)

嵌入编码(Embedding)是一种将分类数据转换为紧凑数字向量的方法,解决了独热编码在高维稀疏场景下的缺陷。其核心优势包括:1)压缩维度(如万级分类转为50维密集向量);2)保留语义关联(相似分类的向量距离更近);3)动态学习(通过数据训练自动优化向量)。典型应用场景包括文本处理(如Word2Vec)、推荐系统(商品/用户编码)及深度学习模型输入。与独热编码相比,嵌入编码更适合多分类、需关联分析的场景,能显著提升计算效率和模型性能。

2025-09-13 08:55:37 861

原创 深度学习篇--- one-hot 独热编码

One-hot独热编码是一种将分类数据转换为数字格式的方法,通过为每个分类分配一个专属二进制向量(仅对应位置为1,其余为0),避免数值大小误导模型。适用于无顺序的名义变量(如性别、颜色),不适用于有序变量或类别过多的情况(易导致数据稀疏)。Python中可用pandas.get_dummies()快速实现。核心逻辑是用位置代替大小,确保分类平等性。

2025-09-13 08:46:17 972

原创 深度学习篇---小规模数据回归任务

本文针对小样本回归任务(几十到几百个样本)提出实用建议。核心思路是避免过拟合,推荐优先使用简单模型(线性/非线性回归、浅层决策树),慎用复杂模型。提出6个关键技巧:1)严格清洗异常值;2)精选强相关特征;3)采用交叉验证;4)添加正则化约束;5)合理数据增强;6)接受合理误差范围。强调训练与测试误差应接近,避免过度追求完美拟合。按此流程可提升30%准确率,有效规避过拟合风险。

2025-09-12 14:37:54 809

原创 深度学习篇---回归任务模型选择

本文介绍了常见回归模型的特点及适用场景。基础线性回归适合简单线性关系,多项式回归处理曲线趋势,岭回归和Lasso防止过拟合(前者保留所有特征,后者自动筛选)。决策树回归直观易解释,随机森林通过多棵树投票提高精度,梯度提升树(如XGBoost)通过逐步修正误差达到最优预测效果。选择模型需考虑数据复杂度、特征数量、解释性需求和预测精度,建议根据具体场景测试多个模型比较效果。工业场景中,梯度提升树因其高精度成为首选。

2025-09-12 14:15:43 910

原创 上位机知识篇---后门事件

本文简单介绍了后门的含义以及常见的后门事件,帮助我们理解相关知识,以便于之后防范。

2025-09-11 10:07:05 809

原创 上位机知识篇---常见的病毒攻击形式

本文简单介绍了常见的病毒攻击形式,在了解上述常见的病毒攻击形式之后,我们能更好的进行方法与防治。

2025-09-11 09:49:31 863

原创 上位机学习篇---Python第三方包常见的安装方式

摘要:本文介绍Python包安装的5种常用方法:1)pip安装,最简便但国内下载慢;2)pip换源,推荐清华/阿里等国内镜像加速;3)wheel文件安装,适合离线环境;4)源码安装,可获取开发版但复杂;5)conda安装,适合数据科学项目。日常开发推荐使用pip+国内源组合,特殊情况选择其他方式。不同方法各有优劣,需根据网络条件、包特性和项目需求灵活选用。

2025-09-10 23:04:56 780

原创 上位机学习篇---cmake简介

CMake是一个跨平台的编译工具,通过编写CMakeLists.txt文件来管理C/C++项目的编译过程。主要步骤包括:创建CMakeLists.txt文件指定项目信息;在build目录运行cmake生成编译脚本;执行make命令完成编译。CMake优势在于跨平台支持、简化复杂项目管理、自动处理外部库依赖,特别适合多人协作、跨平台开发或依赖大量外部库的项目。相比直接使用gcc编译,CMake能显著提升大型项目的编译管理效率。

2025-09-10 22:47:42 428

原创 上位机学习篇---Linux运行C/C++程序

本文介绍了在龙芯2K1000处理器上运行C/C++程序的基本流程。主要步骤包括:准备MIPS架构开发环境(龙芯设备、Linux系统、专用编译器)、编写代码、使用mips64el-linux-gnu-gcc编译器进行编译、传输程序到目标设备(交叉编译时)、运行和调试程序。特别强调了必须使用针对MIPS架构的编译工具链,不能直接运行x86程序。此外还提供了设置编译器别名简化命令的方法。整个过程与x86平台类似,但需注意架构差异和专用工具链的使用。

2025-09-10 22:38:04 859

原创 上位机学习篇---Anaconda 与 Miniconda 选择

Anaconda与Miniconda对比摘要:两者都是基于conda的Python环境管理工具,核心功能相同但定位不同。Anaconda(约5GB)预装150+科学计算包,适合新手开箱即用;Miniconda(约100MB)仅含基础组件,需手动安装依赖但更轻量灵活。通用命令包括环境创建(conda create)、包管理(conda install)等。Anaconda适合数据科学初学者快速启动项目,Miniconda则适合有经验用户定制环境或空间受限场景。

2025-09-10 22:24:24 286

原创 上位机学习篇---Python虚拟环境

Python虚拟环境是为不同项目创建独立运行环境的工具,能有效解决依赖冲突问题。主要适用于多项目开发、版本兼容、团队协作等场景。优势包括环境隔离、依赖一致、便于移植,但也存在额外操作和磁盘占用等不足。常用命令包括创建/激活/退出环境、依赖安装与导出等核心操作。建议将环境文件夹加入.gitignore,仅提交requirements.txt文件。使用虚拟环境是Python开发的最佳实践,能显著提升项目管理效率。

2025-09-10 22:14:46 550

原创 上位机学习篇---Linux终端运行python

本文介绍了在Linux终端中运行Python程序的两种方式:python hello.py和python3 hello.py。主要解释了命令的含义、Python2和Python3版本差异的原因,以及命令执行的工作流程。文章还解答了常见问题,如command not found错误的解决方法、.py后缀的作用,以及如何直接运行.py文件。最后用比喻形象地说明了Python解释器执行代码的过程。

2025-09-10 22:05:14 344

原创 上位机学习篇---Linux常用命令

本文介绍了Linux系统中最常用的命令及其参数,涵盖文件操作、目录管理、权限控制、系统监控、搜索查找和软件包管理等核心功能。主要内容包括:文件操作命令(ls、cd、cp、mv、rm等)、目录操作命令(mkdir、rmdir、pwd)、权限管理命令(chmod、chown)、系统监控命令(df、top、ps)、搜索命令(grep、find)以及网络相关命令(ping、ifconfig)。文章特别强调了命令的常用参数和实际应用场景,并提供了基础开发必备的命令清单,同时建议通过命令--help。

2025-09-10 21:58:31 663

原创 上位机学习篇---Linux操作系统的文件结构

Linux采用单根目录树结构(/),所有文件与设备都挂载在根目录下,形成层级分明的功能分区。核心目录包括:/etc(系统配置)、/home(用户文件)、/var(动态数据)、/usr(软件安装)、/dev(硬件映射)等。与Windows不同,Linux通过明确的功能划分实现了统一管理——硬件设备需挂载使用,系统配置以文件形式存储,进程和资源均可通过文件操作。日常最常用的是/home(个人文件)、/tmp(临时文件)和/media(外设挂载),其他目录则按需调用。这种设计体现了Linux一切皆文件。

2025-09-10 21:50:08 598

原创 上位机学习篇---电源供电

如何为电路板选择合适的供电器?关键在于匹配三个核心参数:一是电压必须完全一致(DC/AC类型也要相同),否则会烧毁电路板或无法启动;二是供电器电流需≥电路板最大工作电流,确保动力充足;三是功率要满足(电压×电流)。此外还需注意接口匹配和正负极正确连接。只要满足电压匹配、电流达标、接口极性正确这三个条件,就能保证电路板稳定工作。

2025-09-10 21:35:07 447

原创 深度学习篇---深度学习可复用网络结构代码示例

本文介绍了一个模块化的PyTorch神经网络实现方案,采用配置管理和组件化设计,便于维护和扩展。主要包含四个模块:1)配置管理模块(NetworkConfig)集中管理网络参数并验证有效性;2)基础组件模块(ConvBlock/FcBlock)封装卷积和全连接层;3)主网络模块(ImageClassifier)通过组合组件构建完整网络;4)网络工厂(NetworkFactory)提供预定义和自定义模型创建功能。该实现支持灵活配置网络结构,自动计算各层尺寸,提供中间层输出访问和权重初始化功能,适用于图像分类等

2025-09-10 16:47:54 434

原创 深度学习篇---常用的模型网络优化模块

模型网络优化模块主要分为注意力模块、轻量化模块和计算加速模块三大类。注意力模块(如SE、CBAM)通过增强重要特征提升识别精度;轻量化模块(如深度可分离卷积、瓶颈层)通过参数压缩实现移动端部署;计算加速模块(如计算图优化、模型量化)优化计算流程提升推理速度。不同模块各具优势:注意力模块精度高但计算量大,轻量化模块体积小但精度略降,计算加速模块速度快但需适配硬件。实际应用中需根据精度、速度和资源需求进行权衡选择,典型场景包括移动端部署选用轻量化模块,实时系统选用计算加速模块,高精度任务选用注意力模块。

2025-09-10 16:37:31 716

原创 深度学习篇---SE模块和CBAM模块的差异

SE模块和CBAM模块的核心差异在于注意力维度:SE仅关注通道注意力(特征类型),而CBAM同时结合通道和空间注意力(特征类型+位置)。SE模块更轻量高效,适合速度敏感任务;CBAM能精准定位,适用于复杂背景或细节敏感场景。两者都是即插即用的高效注意力机制,选择取决于任务需求——简单任务选SE,高精度需求选CBAM。

2025-09-09 22:56:21 474

空空如也

空空如也

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

TA关注的人

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