- 博客(27)
- 收藏
- 关注
原创 LoRA微调解析
LoRA(低秩适配)是一种高效微调预训练语言模型的方法。它通过冻结预训练权重,仅训练低秩矩阵BA来调整模型,显著降低了计算成本(仅需训练0.1%-1%参数)和内存占用(减少60-70%)。相比传统微调,LoRA在保持相近准确率(如IMDb任务92.8% vs 93.5%)的同时,存储需求降低99%,训练速度提升3倍。该方法特别适合资源有限、多任务部署和小数据场景,通过HuggingFace PEFT库可快速实现,使大模型微调从"买新车"变为"换配件"。
2025-12-13 14:08:40
600
原创 力扣144.二叉树前序遍历-递归和迭代
本文全面解析二叉树前序遍历的多种实现方法,包括递归辅助函数、简洁递归、迭代法、统一迭代法和Morris遍历,分析各方法的时间/空间复杂度及适用场景。重点推荐递归辅助函数作为面试首选方案,并详细讲解迭代法的栈实现过程。文章还提供面试实战技巧,包括边界条件处理、常见错误规避和进阶问题应对策略,强调理解"根左右"遍历顺序的核心思想。通过对比不同解法优劣,帮助读者掌握基础算法并应对不同面试场景要求。
2025-12-12 16:17:11
519
原创 力扣104.求二叉树最大深度:递归和迭代
本文介绍了二叉树最大深度的三种解法:1)递归法(DFS),通过比较左右子树深度取最大值加1,代码简洁高效;2)BFS层序遍历,统计层数得到深度;3)DFS迭代法用栈模拟递归。递归法是首选方案,时间复杂度O(n),空间O(h)。BFS适合宽树,空间O(w)。文章还对比了各方法优缺点,给出面试技巧和变体问题(最小深度、平衡树判断),强调树问题优先考虑递归分治策略,并注意处理边界情况。
2025-12-12 15:56:57
682
原创 系统盘重装系统:重装完出现两个可选的操作系统怎么办
摘要:重装系统后出现双启动选项,原因是旧系统(Legacy+MBR)与新系统(UEFI+GPT)分别存储在两块硬盘上。彻底解决方案:1)备份数据;2)制作官方安装U盘;3)UEFI模式启动;4)删除所有分区;5)手动创建ESP和主分区;6)选择固态硬盘安装系统。关键经验:多硬盘需明确安装目标,UEFI+GPT是首选,系统必须装在固态硬盘。最终实现12秒极速开机,彻底解决系统混杂问题。(149字)
2025-12-11 20:43:33
434
原创 基于 BERT+LoRA 的句子相似度计算系统:从算法到部署的完整实现
本文介绍了一个基于BERT模型的STS-B文本相似度计算项目。项目采用模块化设计,包含数据处理、模型构建、训练优化和预测功能。使用bert-base-uncased模型在5轮训练后,测试集皮尔逊相关系数达0.8523,达到主流水平。文章详细讲解了项目结构、核心模块实现方法,并提供了解决Tokenizer加载失败、数据集处理等常见问题的方案。项目支持单条句子对的相似度预测,分数限制在0-5范围内。最后提出了模型升级、数据增强等优化方向,并提供了完整的GitHub代码仓库。该方案可直接应用于工业场景,也可迁移到
2025-12-09 22:50:47
740
原创 力扣101.判断对称二叉树-推荐掌握递归
判断二叉树是否对称是一个经典的二叉树问题,考察了对二叉树遍历和递归的理解。递归法:最直观,代码简洁,适合面试快速实现。迭代法(队列):广度优先,适合树深度较大的情况。迭代法(栈):深度优先,模拟递归过程。在实际应用中,可以根据具体情况选择合适的方法:对于一般情况,递归法足够使用。对于深度可能很大的树,建议使用迭代法避免栈溢出。掌握这个问题的解法,不仅有助于解决类似二叉树问题,还能加深对递归、树遍历等核心算法思想的理解。
2025-12-09 16:39:11
549
原创 力扣140.快慢指针法求解链表倒数第K个节点
摘要:本文介绍了使用快慢指针法高效查找链表倒数第cnt个节点的方法。通过初始化两个指针,先让快指针移动cnt步,再同步移动双指针直至快指针到达末尾,此时慢指针即指向目标节点。该算法时间复杂度O(n),空间复杂度O(1),相比两次遍历法和栈方法更优。文章详细解析了算法原理、代码实现和边界情况处理,并对比了不同解法,指出快慢指针法在实际开发和算法面试中的重要价值。
2025-12-05 15:54:53
526
原创 高效更新与部分文件上传:GitHub项目维护
本文详细介绍了GitHub项目更新的核心技能。主要内容包括:1.标准更新流程的三步法(添加、提交、推送)及SSH密钥配置;2.精准上传文件的技巧,如选择性添加、通配符匹配和临时保存更改;3.不同场景的更新策略,包括配置更新、文档修改和紧急修复;4.团队协作中的分支管理和冲突解决方案;5.自动化脚本示例和提交信息规范等最佳实践。文章还提供了常见问题解决方法,推荐了可视化工具,强调通过频繁的小提交和清晰描述来维护项目。适合开发者系统掌握GitHub高效工作流。
2025-12-05 09:16:33
745
原创 简单实用:手把手教你将代码上传到GitHub
GitHub是全球最受欢迎的代码托管平台,拥有7300万开发者社区。本文详细介绍了如何从零开始使用GitHub:首先注册账号并安装Git工具,然后通过两种方式上传代码(新建仓库或现有项目)。文章还分享了最佳实践,如编写README.md、使用.gitignore、规范提交信息等,并解答了常见问题。此外,还介绍了GitHub Desktop、Actions自动化等进阶功能。GitHub不仅是代码仓库,更是展示技术能力、参与协作开发的平台。文章鼓励开发者立即行动,通过频繁提交来提升开发效率。
2025-12-04 23:01:02
997
原创 力扣69.x的平方根:二分查找 和牛顿迭代法
摘要:本文讨论了计算非负整数x的算术平方根整数部分的两种解法。闭区间二分查找法通过不断缩小区间找到最大的mid满足mid²≤x,时间复杂度O(logx)。牛顿迭代法利用数值逼近公式y=(y+x/y)/2快速收敛,时间复杂度O(log(logx))。两种方法均需特殊处理x<2的情况。二分查找逻辑直观适合面试,牛顿法收敛更快常用于工程实现。文章分析了两种方法的实现细节、优缺点及适用场景,建议先掌握二分查找再学习牛顿法。
2025-12-04 16:29:20
896
原创 基于 BiLSTM 的中文文本相似度计算项目实现
本文介绍了一个基于BiLSTM的中文文本相似度计算系统。该系统采用模块化设计,包含数据加载、预处理、模型训练和预测等模块。核心实现包括:1)使用jieba进行中文分词和文本清洗;2)构建BiLSTM模型,结合LSTM隐藏状态、序列均值和最大值作为特征;3)采用MSE损失函数和AdamW优化器进行训练。项目使用STS-B中文数据集,能输出0-5分的相似度评分。实验结果表明,该系统能有效评估中文句子的语义相似度,为问答系统、信息检索等应用提供支持。未来可考虑引入预训练模型和注意力机制进一步提升性能。
2025-12-03 23:14:38
852
原创 力扣155.最小栈:辅助栈法-同步存最小值
本文介绍了一种实现"最小栈"的高效方法,采用双栈结构在O(1)时间内获取栈中最小元素。主栈存储数据,辅助栈同步记录各状态下的最小值。通过分析操作示例,展示了辅助栈如何实时维护最小值信息。该方案所有操作均为常数时间复杂度,适用于需要快速获取极值的场景。文章还提出了空间优化版本,仅在最小值变化时更新辅助栈,并强调这种设计体现了空间换时间、关注点分离等编程原则,是培养算法思维的良好范例。
2025-11-26 16:44:08
433
原创 力扣70.爬楼梯:从递归、动态规划、最优DP
本文介绍了爬楼梯问题的三种解法:1)递归法(O(2^n)时间,O(n)空间),直观但效率低;2)标准动态规划(O(n)时间,O(n)空间),通过存储中间结果优化;3)优化DP(O(n)时间,O(1)空间),仅维护前两个状态。三种方法展示了从暴力解到最优解的演进过程,体现了动态规划的核心思想。推荐面试时直接使用空间优化解法,同时理解各方法的优劣和适用场景。
2025-11-26 11:34:11
735
原创 力扣94.二叉树中序遍历:递归与迭代
本文介绍了二叉树中序遍历的两种实现方法:递归解法和迭代解法。递归解法采用分治策略,按"左-根-右"顺序遍历,代码简洁但存在栈溢出风险;迭代解法使用显式栈模拟递归过程,性能更稳定。两种方法时间复杂度均为O(n),空间复杂度为O(h)。递归适合学习和小规模数据,迭代适合生产环境。文章还提及Morris遍历和统一迭代法等扩展内容,建议根据实际需求选择合适方法,平衡代码可读性与算法性能。
2025-11-24 15:41:26
935
原创 力扣704.升序数组二分查找
本文探讨了二分查找算法的实现细节与常见错误。二分查找通过在有序数组中不断折半搜索区间来高效定位目标元素,时间复杂度为O(logn)。文章详细分析了5个典型错误:数组长度获取错误、语法错误、循环条件不完整、中间值计算错误和边界初始化错误,并给出了正确实现方式。关键点包括:使用len()获取长度、循环条件应为left<=right、使用//计算中间索引、正确初始化边界值。掌握这些细节能帮助开发者写出正确高效的二分查找算法。
2025-11-23 17:16:46
262
原创 力扣232.用两个栈实现队列
本文探讨如何用两个栈实现队列功能。通过将元素在输入栈和输出栈之间转移,利用栈的顺序反转特性实现队列的先进先出原则。关键点包括:分离输入/输出操作职责,采用懒转移策略优化性能。分析表明,虽然单个pop/peek操作最坏复杂度为O(n),但m次操作的摊还时间复杂度为O(m)。这种实现方式展现了基础数据结构的灵活组合应用,对理解栈和队列的本质特性具有启发意义。
2025-11-22 15:23:41
353
原创 力扣160.相交链表:双指针法与哈希集合法
摘要:本文介绍了查找两个单链表相交节点的两种方法。哈希集合法通过存储节点引用实现,时间复杂度O(m+n),空间复杂度O(min(m,n)),思路直观但需要额外空间。双指针法通过让指针遍历两个链表实现,时空复杂度分别为O(m+n)和O(1),算法巧妙但理解难度较大。文中详细对比了两种方法的特性,并强调比较节点引用而非节点值的重要性。同时解释了哈希集合与哈希表的区别,指出在链表相交问题中哈希集合更适用。建议面试优先使用双指针法,实际开发可根据需求选择。
2025-11-21 20:24:35
905
原创 力扣415两数相加:字符串形式的数字加法详解e
摘要:本文介绍了处理超大数字字符串相加的算法。由于编程语言的整数类型限制,需要将数字转为字符串处理。算法模拟竖式加法:从末位开始逐位相加,处理进位并拼接结果。示例演示了"123"+"456"="579"的计算过程。时间复杂度O(max(m,n)),需注意处理最后进位和整数除法等常见错误。该算法适用于金融、科学计算等需要高精度运算的场景,核心是正确处理进位和边界情况。
2025-11-19 15:39:37
358
原创 Java面向对象综合案例:电影管理系统
本文介绍了一个基于Java面向对象编程的电影管理系统。系统采用三层架构设计:Movie类封装电影数据,包含属性(name,id,price等)和构造方法;MovieOperator类处理业务逻辑,实现电影信息展示和编号查询功能;Test类作为入口测试系统。项目体现了面向对象三大特性:封装(私有属性+公共方法)、单一职责原则(各司其职)和组合关系(MovieOperator包含Movie数组)。该系统可扩展为包含增删改查、动态扩容等功能的完整应用,是学习Java面向对象编程的典型案例。
2025-11-16 16:16:17
413
原创 力扣141检测环形链表:基于哈希集合的解法
摘要 给定链表头节点,判断是否存在环。一种直观解法是使用哈希集合记录已访问节点:遍历链表时若节点已在集合中则存在环,否则加入集合并继续。若无环最终返回False。该方法时间复杂度O(n),空间复杂度O(n)。另有快慢指针法(空间O(1)):快指针每次两步,慢指针一步,若相遇则有环。哈希集合法虽非最优空间,但易于理解,适合掌握链表环检测基本原理。示例演示有环和无环链表的判断过程。
2025-11-03 21:57:47
411
原创 力扣 121. 买卖股票的最佳时机(easy)
摘要: 本文解决股票买卖问题:给定每日股价数组,计算单次买卖的最大利润。使用动态规划思想,通过一次遍历记录历史最低价并实时计算利润差,时间复杂度O(n),空间复杂度O(1)。例如数组[7,1,5,3,6,4]的最大利润为5(1买6卖)。算法高效处理边界情况(如价格持续下跌或空数组),是同类问题的通用模板,核心在于维护历史最低价和当前最大利润。
2025-10-31 20:05:58
255
原创 基于GaitSet的步态识别:从理论到实践全流程(手把手带你跑起来)
本文深入解析了基于深度学习的步态识别模型GaitSet及其全流程实践方法。GaitSet突破了传统时序建模方法,创新性地将步态序列视为无序集合,通过双路径网络架构、水平金字塔映射等核心技术,实现了非接触式、远距离的生物特征识别。文章详细介绍了从环境搭建、数据预处理到模型训练和测试的全过程,针对可能遇到的问题提供了解决方案,并展示了在CASIA-B数据集上的优异表现。该项目验证了GaitSet的实用价值,为步态识别技术在安防、医疗等领域的应用奠定了基础。
2025-10-29 11:46:45
737
原创 论文精读:Semi-Supervised 3D Medical Segmentation from 2D Natural Images Pretrained Model
【摘要】本研究提出M&N框架,实现从2D自然图像预训练模型到3D医学图像分割的知识迁移。该模型无关框架通过双向迭代协同训练,使2D和3D模型相互生成伪标签进行半监督学习,并结合学习率引导采样策略动态调整标注/未标注数据比例。在左心房和胰腺CT数据集上的实验表明,仅需4-8个标注样本即可达到91.56%的Dice系数,显著优于现有方法。消融研究验证了框架核心组件的有效性,为跨领域医学图像分析提供了新思路。
2025-10-24 22:59:12
765
原创 Java练习:实现简易计算器
本文介绍了一个Java实现的简易控制台计算器程序。该程序通过Scanner类接收用户输入,支持加、减、乘、除四种基本运算,采用模块化设计将运算逻辑封装在独立的calculate方法中。核心代码展示了主方法流程和运算逻辑实现,程序具有用户友好、健壮性强、可扩展等特点。文章还提出了改进方向,如异常处理、输入验证等,并总结了该程序作为Java基础语法练习的价值,包括Scanner使用、方法调用等核心概念的应用。这个项目适合初学者掌握基本的编程思想和语法结构。
2025-10-24 21:57:36
381
原创 Java练习: BMI与BMR健康计算器实现
这是一个基于Java的健康计算器程序,能够计算用户的身体质量指数(BMI)和基础代谢率(BMR),帮助用户了解自身的身体状况和能量消耗需求。
2025-10-22 17:14:48
298
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1