- 博客(253)
- 收藏
- 关注
原创 ROS 服务的请求与相应(基于 C++)
本文介绍了在ROS中创建和使用服务(Service)的基本流程。首先通过roscd和rossrv命令查看并验证了AddTwoInts服务定义,该服务接收两个int64参数并返回它们的和。然后详细讲解了服务端(add_two_ints_server.cpp)和客户端(add_two_ints_client.cpp)的实现代码,包括头文件引入、回调函数定义、服务发布与调用等关键环节。最后通过roscore启动ROS主节点,分别运行服务端和客户端进行测试,验证了服务调用的正确性。整个过程展示了ROS中服务创建、实
2025-07-29 08:30:00
222
原创 ROS 消息的发送与接收(基于 python)
本文介绍了ROS中发布-订阅模式的Python实现方法。首先详细讲解了发布器节点talker.py的代码结构,包括初始化节点、创建发布者、设置发布频率及消息发布逻辑。接着说明了订阅器节点listener.py的实现,重点介绍了消息回调函数和节点初始化设置。最后给出了测试步骤:先启动roscore,再分别运行发布器和订阅器节点,验证了节点间通过"chatter"主题成功进行消息通信。代码中使用了std_msgs/String消息类型,并实现了每秒10次的发布频率控制。文章还解释了匿名节点、
2025-07-29 08:15:00
447
原创 安装Apache Tomcat服务器
本文介绍了Apache Tomcat服务器的安装配置过程。Tomcat是Apache基金会开发的免费开源轻量级Web应用服务器,适合中小型系统。安装步骤包括解压安装包、配置环境变量、设置manager-gui管理用户(用户名/密码均为tomcat)、修改context.xml文件以及创建测试页面。通过访问http://master1:8080可进入管理界面,测试页面http://master1/test可验证安装结果。配置完成后,Tomcat即可用于开发和调试JSP程序。
2025-07-29 08:00:00
102
原创 搭建水稻疾病知识图谱
本文介绍了使用Python和Neo4j构建水稻疾病知识图谱的过程。主要内容包括:1)开发准备工作,包括创建Python文件和启动Neo4j服务;2)通过neo4j-driver库将水稻疾病名称和症状实体词写入Neo4j数据库;3)使用MERGE语句创建"Disease"和"Symptom"节点,并建立它们之间的"dis_to_sym"关系;4)定义neo4j_load_data()方法加载疾病数据,neo4j_input()方法写入数据并建立关系。
2025-07-29 00:15:00
129
原创 ROS 消息的发送与接收(基于 C++)
本文介绍了ROS中发布器和订阅器的实现方法。发布器节点(talker.cpp)通过ros::Publisher以10Hz频率在"chatter"话题上发布包含计数器的字符串消息;订阅器节点(listener.cpp)通过ros::Subscriber订阅该话题,并在收到消息时调用回调函数打印内容。代码详细说明了ROS节点的初始化、消息发布/订阅机制、循环频率控制等核心功能。测试时需先启动roscore,然后分别运行发布器和订阅器,可观察到消息的正常发送和接收。该示例展示了ROS节点间基于
2025-07-28 23:50:43
758
原创 安装MySQL数据库
MySQL是一个流行的关系型数据库管理系统,常用于存储应用元数据信息。本文介绍了在Linux系统上安装MySQL 5.7的过程:首先卸载旧版本(包括mariadb依赖),然后通过rpm命令离线安装MySQL软件包,并详细说明了配置步骤(启动服务、修改字符集为UTF-8、首次登录修改密码等)。针对系统重启后可能出现的pid文件创建失败问题,提供了解决方案——修改/etc/init.d/mysqld启动脚本,自动创建/var/run/mysqld目录。整个过程涵盖了从软件安装到常见问题处理的完整指导。
2025-07-28 23:40:50
160
原创 安装并配置Hadoop HA集群环境
本文详细介绍了Hadoop 2.9.2高可用(HA)集群的搭建过程。首先说明了Hadoop作为分布式系统基础架构的特点,然后分步骤指导了HA集群的配置与部署,包括环境变量设置、六个核心配置文件的修改(core-site.xml、hdfs-site.xml等)、节点间配置文件同步等关键技术环节。重点描述了HDFS HA和YARN HA的配置细节,详细记录了集群启动流程,包括ZKFC格式化、JournalNode启动、NameNode主备同步等关键操作。最后通过实际测试验证了HA功能,展示了主节点故障时自动切换
2025-07-28 23:39:39
781
原创 Zookeeper集群安装
本文介绍了Zookeeper分布式协调服务的安装配置过程。主要内容包括:在slave1、slave2、slave3三个节点上安装Zookeeper-3.4.5版本,配置环境变量、修改配置文件zoo.cfg(设置集群节点、端口等参数)、创建数据/日志目录、配置myid文件(确保各节点id唯一)等步骤。通过scp命令将配置同步到其他节点后,启动Zookeeper集群,并使用zkServer.sh status命令验证各节点状态(Leader/Follower),确保集群正常运行。该配置为Hadoop高可用(HA
2025-07-28 23:38:52
757
原创 配置SSH免密码连接
Hadoop集群配置SSH免密登录指南 本文介绍了在Hadoop分布式集群中配置SSH免密登录的方法。主要包括以下步骤:1)检查并确保各节点SSH服务已安装;2)在所有节点生成RSA密钥对;3)在master节点合并所有公钥到authorized_keys文件;4)将合并后的密钥文件分发到所有节点;5)测试各节点间的SSH连接。通过此配置可实现集群节点间的无密码访问,方便Hadoop集群操作。注意首次连接仍需输入密码,后续即可实现免密登录。
2025-07-28 23:38:18
430
原创 IDEA与VSCode代码托管操作
本文介绍了使用IDEA和VSCode进行代码托管的基本操作。在IDEA中,通过设置Git路径、提交修改文件并推送至远程仓库实现代码上传;通过Pull操作从远程仓库获取更新。VSCode的操作类似,通过源代码管理工具暂存修改、提交至本地仓库后推送,并使用拉取功能同步远程变更。两种工具均展示了完整的代码推送和拉取流程,帮助开发者实现本地与远程仓库的同步。
2025-07-28 23:37:21
143
原创 CodeArts项目工程创建
本文介绍了DevOps概念及其核心理念,重点阐述了华为云CodeArts一站式DevOps平台的特点和功能。DevOps强调开发、运维和质量保障部门的协作,通过持续改进提高软件交付效率。CodeArts作为云端DevOps工具链,提供项目管理、配置管理、测试部署等服务,实现研发过程可视化、可控化和可度量化。文章还简要说明了CodeArts的项目创建流程和成员管理功能,展示了该平台如何解决研发痛点、提升团队协作效率。
2025-07-28 23:36:18
110
原创 labelImg介绍、安装及使用
LabelImg是一款用于图像标注的开源工具,主要用于构建深度学习训练数据集。文章详细介绍了LabelImg的安装步骤(通过git或离线包),以及软件界面功能和使用方法(包括标注框绘制、标签输入和文件保存)。同时阐述了目标检测标注的六大规范:贴边规则、重叠规则、独立规则、不框规则、边界检查和小目标规则。最后以车辆品牌标注为例,演示了具体标注流程,包括图片加载、车辆框选、品牌标签输入等操作,并列出50种待标注的车辆子品牌列表。
2025-07-28 23:34:45
625
原创 Django框架学习
Django是一个基于Python的开源Web框架,采用MVC/MTV架构模式,支持快速开发和高效部署。文章介绍了Django的特点和优势,包括低耦合、高重用性等,并对比了MVC(模型-视图-控制器)和MTV(模型-模板-视图)两种设计模式的工作原理。随后通过实践演示如何在Django中创建HelloWorld项目,包括项目结构解析、服务器启动以及视图和URL配置的具体实现步骤,最终成功在浏览器中输出"Hello World!"。整个流程展示了Django简洁高效的开发特性。
2025-07-28 00:00:00
469
原创 了解UIE模型
UIE(Universal Information Extraction):Yaojie Lu等人在ACL-2022中提出了通用信息抽取统一框架UIE。该框架实现了实体抽取、关系抽取、事件抽取、情感分析等任务的统一建模,并使得不同任务间具备良好的迁移和泛化能力。为了方便大家使用UIE的强大能力,PaddleNLP借鉴该论文的方法,基于ERNIE 3.0知识增强预训练模型,训练并开源了首个中文通用信息抽取模型UIE。
2025-07-27 08:00:00
695
原创 安装Neo4j图数据库
本文介绍了Neo4j图数据库的安装和使用方法。主要内容包括:1)安装Java环境并配置Neo4j;2)使用Cypher语言进行图数据库操作,包括创建节点(Person、Location)、建立关系(FRIENDS、BORN_IN)及查询、修改和删除操作;3)通过Python代码操作Neo4j数据库,实现节点创建和关系建立。文章还简要介绍了Neo4j的基本概念(节点、关系、标签、属性)和特性,展示了如何通过可视化界面和编程两种方式管理图数据。最后提供了关闭Neo4j服务的命令。
2025-07-26 23:24:40
795
原创 基于GLM-4的对话增强
本文介绍了大语言模型(LLM)的基本概念及其应用,重点讲解了智谱AI的GLM-4大模型。文章详细说明了如何注册智谱AI平台并获取API Key,通过Python代码演示了GLM-4-Flash API的同步和流式调用方法,包括参数设置和响应处理。此外,还介绍了Prompt工程技巧,如角色扮演、思维链提示等优化方法,帮助开发者获取更精准的模型响应。最后,文章指导如何将API调用封装为函数以便集成到对话系统中。这些内容为开发者使用GLM-4大模型提供了实用指南。
2025-07-26 23:23:40
949
原创 使用MapReduce处理NCDC气象数据
实验摘要 本实验演示了如何下载和处理NCDC气象数据,并使用Hadoop进行分布式计算。主要步骤包括: 从指定URL下载气象数据集(2005-2014年),解压至本地目录 将原始数据上传至HDFS文件系统,创建/GSOD和/GSOD_ALL目录 编写MapReduce程序处理数据: 使用generate_input_list.sh生成待处理文件列表 通过load_ncdc_map.sh脚本解压、合并年度数据 采用Streaming接口运行map-only作业 分析处理后的数据,提取每月最低气温: 编写Map
2025-07-26 23:22:15
438
原创 基于MapReduce实现好友推荐
摘要:本文介绍了一个基于MapReduce的社交好友推荐算法实现。通过分析用户好友关系数据,计算潜在好友之间的共同好友数,为每个用户推荐非好友但共同好友较多的用户。算法分为两个阶段:第一阶段生成潜在好友对及其共同好友数,第二阶段按共同好友数排序生成推荐列表。详细说明了MapReduce程序的实现过程,包括自定义数据类型、Mapper、Combiner和Reducer的设计,以及如何通过二次排序优化推荐结果。实验数据采用双向好友关系记录,最终输出包含用户ID、推荐好友ID及共同好友数的三字段结果表。
2025-07-26 23:21:12
325
原创 搭建基于YARN的Spark实验开发环境
摘要:本文详细介绍了在CentOS7.3环境下搭建Hadoop-Spark集群的实验步骤。首先配置3节点集群环境(1个master和2个slave节点),包括设置免密SSH访问、关闭防火墙等基础环境。然后依次安装配置JDK、Scala、Python(Anaconda)等依赖环境。重点讲解了Hadoop全分布式模式的安装部署过程,包括核心配置文件修改、环境变量设置及集群启动方式。最后详细说明了Spark的安装配置步骤,包括环境变量设置、日志级别调整及Python支持配置。实验采用root用户操作,所有软件均安
2025-07-26 23:19:39
527
原创 uC/OS多任务实现
本文介绍了uC/OS-III操作系统中任务创建函数OSTaskCreate()的使用方法及其在多任务实现中的应用。OSTaskCreate()通过TCB任务控制块管理任务属性,包括堆栈指针、优先级等关键参数。文章详细解析了函数参数的功能,如任务优先级(0-255数值越小优先级越高)、堆栈配置及错误处理机制,并给出了函数调用示例。同时,通过一个三任务工程实例(初始化任务+3个应用任务)演示了多任务系统的搭建流程:从OSInit()内核初始化、OSTaskCreate()任务创建到OSStart()启动任务调度
2025-07-15 09:45:00
783
原创 使用HMC5883L传感器获取方向
HMC5883L是一款三轴磁阻传感器,用于测量磁感应强度,具有12位ADC和±8高斯测量范围。它集成了放大器、自动消磁等电路,精度达1°-2°,采用I2C接口和3x3mm封装,适合可穿戴设备。本文介绍了其驱动实现,包括初始化寄存器、读取三轴数据以及通过atan2函数计算方位角的软件方法。关键代码展示了I2C通信、数据合成和角度转换(0-360°)的实现过程,适用于简易指南针设计。
2025-07-14 21:58:04
512
原创 使用MPU6050传感器获取加速度
本文介绍了基于MPU6050传感器的智能手环姿态检测系统设计。MPU6050是一款六轴传感器,可同时检测三轴加速度、三轴角速度和温度数据,其内置DMP模块可实现200Hz的姿态解算频率。文章详细说明了MPU6050的引脚功能、特性参数及与STM32的硬件连接方式,包括电源、I2C通信等接口配置。软件部分重点阐述了驱动移植、硬件初始化流程,以及加速度、角速度和温度数据的获取方法,并通过LCD实时显示原始数据。该系统为智能手环提供了高效可靠的运动姿态检测方案,后续可通过数据换算获得更精确的姿态信息。
2025-07-14 21:56:59
1420
原创 µC/OS-III系统
μC/OS-III是一款可裁剪、可固化的抢占式实时操作系统内核,具有任务数目无限制、优先级数量不受限等特性,支持信号量、消息队列、软件定时器等内核对象。该系统采用模块化设计,包含配置文件、应用任务、内核服务等分层结构,通过任务控制块(TCB)管理任务属性。μC/OS-III相比前代产品新增了时间片轮转调度、任务级时间节拍处理等功能,并优化了中断响应时间。其任务分为休眠态、就绪态等五种状态,支持用户任务和系统任务(如空闲任务、时基任务)。该系统广泛应用于工业控制、汽车电子等领域,具有运行时配置、堆栈监测、死锁
2025-07-13 08:00:00
874
原创 文本向量化
本文介绍了Embedding模型的配置与使用流程。首先说明如何配置模型参数,包括选择bge系列中文Embedding模型、设置运行设备和模型路径。然后详细描述了模型的初始化过程,包括线程安全的加载机制、缓存池管理以及异步处理实现。在文本向量化部分,介绍了同步/异步接口设计、API端点实现以及文档处理流程,重点讲解了归一化处理和适配器类的功能。整个系统设计考虑了多线程安全、缓存优化和异步处理需求,为文本检索、分类等任务提供了高效的向量化解决方案。
2025-07-13 01:00:00
464
原创 文本的分割
本文介绍了文本分割器的设计与实现。首先定义分割器参数,包括ZH_TITLE_ENHANCE变量和tokenizer配置。核心模块实现了递归文本分割功能,通过正则表达式从末尾分割文本,并处理分割符保留问题。中文递归分割器ChineseRecursiveTextSplitter继承基类,采用默认分隔符列表,支持递归分割和合并过小文本块。中文标题增强功能通过非字母比例、标点结尾等规则识别标题,标记为"cn_Title",并在非标题文档前添加标题关联信息。整个系统实现了中文文本的高效分割和标题增
2025-07-13 00:45:00
740
原创 文件的加载
本文介绍了四种基于RapidOCR的文档加载器实现:1. Word文件加载器(RapidOCRDocLoader)通过解析文档块(段落/表格)并识别图片文字;2. 图片加载器(RapidOCRLoader)直接识别图片文字;3. PDF加载器(RapidOCRPDFLoader)提取文本并处理旋转图片的OCR识别;4. PPT加载器(RapidOCRPPTLoader)递归提取文本框、图片和表格内容。所有加载器均继承UnstructuredFileLoader,在提取文本后调用partition_text进
2025-07-13 00:30:00
561
原创 Langchain入门
LangChain框架是一个用于构建语言大模型应用程序的开发框架,提供六大核心模块:1. Model I/O(模型输入输出):管理与LLM的交互,包括提示词模板和响应处理。2. Chains(链式调用):将多个LLM或组件串联,实现复杂任务流程。3. Callbacks(回调系统):用于日志记录、监控等功能的回调机制。4. Memory(记忆模块):存储和调用历史对话信息,支持多种记忆方式。5. Retrieval(检索模块):实现知识库检索,支持RAG(检索增强生成)流程。6. Agents(代理系统):
2025-07-13 00:15:00
655
原创 模型部署框架FastChat
提供SOTA模型的训练和评估代码;提供分布式多模型部署框架,具有Web界面和与OpenAI 兼容的RESTful API。FastChat服务的架构如下图所示:FastChat项目的地址如下:https://github.com/lm-sys/FastChat/tree/main提供SOTA模型的训练和评估代码;提供分布式多模型部署框架,具有Web界面和与OpenAI 兼容的RESTful API。
2025-07-13 00:00:00
747
原创 基于LoRA微调ChatGLM3
摘要:本文详细介绍了使用LoRA方法微调ChatGLM3-6B模型的过程。主要内容包括:1) 配置LoRA参数(如秩r=8、alpha=32、dropout=0.1);2) 2小时的微调训练及模型推理测试;3) 将LoRA适配器与基座模型合并;4) 构建Web交互界面;5) 对比P-Tuning-V2和LoRA微调效果,证明LoRA在中医问答场景表现更优。实验表明,LoRA微调后的模型能生成更专业的中医诊疗建议,参数效率更高(仅调整少量参数),适合资源受限的垂直领域应用。
2025-07-12 19:45:04
956
原创 基于P-tuning-V2微调ChatGLM3
本文介绍了基于P-tuning_V2方法微调ChatGLM3-6B模型的全流程。首先详细说明了配置文件参数,包括数据集路径、训练参数和生成参数设置。然后阐述了模型微调的实现步骤:加载配置、处理数据、创建训练器并保存模型。接着展示了如何使用微调后的模型进行推理,并通过对比测试证明了微调效果。最后介绍了基于Streamlit构建的WebUI界面,以直观方式展示模型性能。整个流程涵盖了从参数配置、模型训练到应用部署的关键环节,为类似任务提供了完整参考方案。
2025-07-12 19:44:10
361
原创 了解参数高效微调方法
大模型微调(Fine-tuning)是指基于预训练模型,通过特定领域的高质量数据或人类反馈进行训练,以增强或赋予模型专业能力的技术。其必要性在于:全量训练成本高昂(如GPT-3单次训练需140万美元),且通用模型难以满足专业领域需求。微调后的模型在问答、文本生成、金融分析、医疗咨询等场景表现更优。 微调流程包括模型选取、任务定义、数据准备、策略选择等步骤,形成系统化工程。主要技术包括: 指令微调:使用自然语言数据增强指令遵循能力; 参数高效微调:如适配器微调(插入小型神经网络)、前缀微调(添加可训练前缀参数
2025-07-12 19:43:08
390
原创 什么是RAG?
大语言模型(LLM)存在幻觉、记忆有限、时效性差等局限性,而检索增强生成(RAG)技术通过结合检索与生成方法有效解决了这些问题。RAG工作流程包括数据提取、文本分块、向量化、检索和生成五个步骤。当前RAG技术已发展出三种范式:基础RAG实现基本检索生成功能,高级RAG优化检索质量,模块化RAG则通过灵活配置模块实现更复杂功能。该技术显著提升了语言模型的准确性和时效性,成为大模型落地应用的关键解决方案。
2025-07-12 19:35:12
333
原创 提示词工程
本文介绍了Prompt的定义、使用场景及优化方法。Prompt是驱动大模型生成内容的文本指令,应用于语言对话和文生图场景。撰写优质Prompt的核心原则是清晰明确表达需求,具体方法包括:1)给出清晰指令和上下文;2)提供示例(零样本/单样本/少样本提示);3)使用分隔符和规范语法;4)要求模型分步骤思考(思维链提示)。此外,还可通过设定角色、强调重点、追问细节等方式优化Prompt。最终总结出6项原则:清晰指令、提供上下文、善用符号、分步思考、激励反思、容错处理。通过系统化Prompt设计,可显著提升大模型
2025-07-12 19:34:10
325
原创 大语言模型的架构
Transformer模型及其在大语言模型中的应用 本文详细介绍了Transformer模型的基础架构及其在大语言模型中的三种主要应用方式。Transformer模型由谷歌于2017年提出,采用编码器-解码器结构,核心是自注意力机制,具有并行计算优势。其关键组件包括:嵌入表示层(词嵌入+位置编码)、注意力模块(多头自注意力)、全连接前馈层、残差连接和层归一化技术。 大语言模型主要采用三种基于Transformer的架构: Encoder-only架构(如BERT):通过掩码语言建模进行双向训练 Decode
2025-07-12 19:33:26
324
原创 认识语言大模型
大语言模型(LLM)是基于海量文本数据训练的大型预训练语言模型,具有强大的自然语言处理能力、通用任务解决能力和复杂推理能力。其发展经历了统计语言模型、神经语言模型、预训练语言模型和大语言模型四个阶段,代表性模型包括GPT-3、ChatGPT等。构建流程包含预训练、指令微调和人类对齐三个阶段,其中人类对齐通过奖励建模和强化学习确保模型行为符合人类价值观。尽管LLM表现出色,但其训练需消耗大量计算资源,且存在输出多样性降低等挑战。
2025-07-12 19:32:16
482
原创 Java并发编程挑战
Java并发编程面临线程安全、死锁、数据一致性等核心挑战,需掌握synchronized、ReentrantLock等同步机制,以及原子类、线程池等工具。关键解决方案包括:1)合理使用wait/notify机制实现线程通信;2)采用无锁编程优化性能;3)利用ConcurrentHashMap等并发容器。现代实践推荐CompletableFuture异步编程和Fork/Join框架,同时需注意避免内存泄漏。调试时可借助jstack、VisualVM等工具。未来趋势包括协程、响应式编程与分布式并发控制。
2025-05-26 10:40:32
153
原创 C++跨平台开发挑战
《C++跨平台开发实践与挑战》摘要:本文系统探讨了C++跨平台开发的核心问题与解决方案。分析编译器差异(CMake配置示例)、OS接口抽象(std::filesystem应用)及依赖管理(vcpkg工具)三大技术难点,对比Qt/wxWidgets等UI框架优劣,提出基于现代C++标准的代码隔离与平台抽象设计策略。文章指出,通过合理运用CMake、POSIX抽象层和跨平台调试工具,结合C++17/20新特性,可有效平衡性能与兼容性。未来WASI等新兴技术将进一步扩展C++的跨平台能力,为开发者提供更高效的解决
2025-05-26 10:39:20
293
原创 JavaScript性能优化实战
本文系统分析了JavaScript性能优化策略:代码层面建议减少重绘/回流、使用事件委托与防抖节流;内存管理推荐对象池模式与弱引用;执行效率需优化循环结构。现代浏览器方案包括异步加载、WebWorker应用。性能监控应关注FCP、TTI等核心指标,结合工具链实施。典型案例显示虚拟滚动技术可提升300%渲染性能。未来趋势涉及WASM混合执行、机器学习代码压缩等。
2025-05-26 10:37:46
166
原创 数据结构之栈的特性
栈(Stack)是一种抽象数据类型,通常简称为堆栈,它遵循后进先出(LIFO, Last In First Out)的原则。2. 栈顶与栈底:栈有一个固定的“栈底”和一个活动的“栈顶”。所有的插入(压栈)和删除(出栈)操作都在栈顶进行。1. 后进先出(LIFO):这是栈最基本的特点,意味着最后一个进入的数据项是第一个被移除的。- Peek(查看栈顶元素):查看当前栈顶元素的值而不将其从栈中移除。- Size(获取栈中元素个数):返回栈中当前存储的元素数量。- 函数调用中的局部变量管理(函数调用栈)
2025-04-08 12:08:01
153
基于Hadoop的MapReduce分布式气象数据分析处理技术及应用
2025-02-07
Hadoop集群构建详解:全分布式模式环境搭建、配置与管理
2025-02-07
搭建基于YARN的Spark大数据集群与开发环境实践指南
2025-02-07
Linux操作系统基础操作与文本处理实验:从入门到实践
2025-02-07
1.试选用CD4532、74HC4511、七段共阴极显示器等器件,设计8线-3线译码器和译码显示电路,要求将开关(十进制0-7)
2024-10-23
设计一个简易CPU 功能的数字电路,实验至少要求采用4个74HC/HCT194作为 4 个存储单元
2023-12-10
关于#网络安全#的问题:网络安全方向怎么样
2023-12-11
怎样学习好C语言呢?
2022-10-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人