- 博客(184)
- 收藏
- 关注
原创 【优化器】Adagrad 、RMSPorp、Adam详解
总结:Adagrad 的核心想法就是,如果一个参数的梯度一直都非常大,那么其对应的学习率就变小一点,防止震荡;而一个参数的梯度一直都非常小,那么这个参数的学习率就变大一点,使得其能够更快地更新,这就是 Adagrad 算法加快深层神经网络训练速度的核心。之前我们讲的随机梯度下降算法,对所有参数都是使用相同的、固定的学习率进行优化的,但是不同参数的梯度差异可能很大,使用相同的学习率,效果不会很好。大小也就不同,所以学习率就不同,这也就实现了自适应的学习率。这样,不同的参数由于梯度不同,它们对应的。
2026-04-13 14:53:42
379
原创 【优化器】带动量 Momentum 的SGD算法
我们使用带动量的梯度下降法,将历史的梯度考虑在内:动量参数设置为 0.5, 学习率设置为0.4。依然使用不带动量的梯度下降算法,将学习率设置为 0.6。让参数更新具有惯性,每一步更新都是由前面梯度累积。的梯度相差一个量级, 如果使用相同的学习率,的系数分别为 0.1 和 2。结果分析:与预想一致,使用相同的学习率,即使我们将学习率设置为 0.6 ,的更大些,变化快得多,而。
2026-04-13 09:10:57
381
原创 【优化器】 随机梯度下降 SGD 详解
我们以二次多项式回归模型为例,推导其均方误差(MSE)损失函数的梯度与参数更新公式。fxw1xw2x2fxw1xw2x2w1w2w_1, w_2w1w2为模型待学习的参数(权重)xxx为输入特征fxf(x)fx为模型的预测输出采用均方误差(MSE)作为损失函数,用于衡量模型预测值与真实值的误差。
2026-04-11 11:21:10
333
原创 【经纬度度分秒(°′″)与十进制度(°)换算】
本文以坐标为例,详细讲解经纬度度分秒 ↔ 十进制度的换算方法,并提供通用公式与代码实现,方便GIS、测绘、地图开发等场景直接使用。
2026-04-10 10:59:01
204
原创 【箱线图详解】
箱线图,顾名思义,就是由“箱子”和“须线”组成的图表,核心作用是用最简单的图形,展示数据的关键统计特征,尤其适合呈现未分组的原始数据分布情况。
2026-04-09 23:35:21
362
原创 【Pytorch】nn.Embedding函数详解
当 max_norm 不为 None 时,Embedding 的forward 方法会就地修改weight张量。请记住,只有有限数量的优化器支持稀疏梯度:目前是optim.SGD(CUDA和CPU)、optim.SparseAdam(CUDA和CPU)以及optim.Adagrad(CPU)该模块通常用于存储词嵌入,并通过索引检索它们。该模块的输入是索引列表,输出是相应的词嵌入。一个简单的查找表,用于存储固定词典和大小的嵌入向量。从给定的二维 FloatTensor 创建嵌入实例。
2026-04-07 15:43:14
396
原创 【论文阅读】SWE-CI: Evaluating Agent Capabilities in Maintaining Codebases via Continuous Integration
基于大语言模型(LLM)的智能体已在自动化软件工程任务(如静态缺陷修复)中展现出强大能力,SWE‑bench 等基准测试已充分证明这一点。但在实际场景中,成熟软件的开发通常建立在复杂的需求变更与长期功能迭代之上 —— 这一过程是静态、一次性的修复范式所无法刻画的。为弥补这一差距,我们提出 SWE‑CI,这是首个基于持续集成(CI)流程构建的代码库级基准测试,旨在将代码生成的评估范式从静态、短期的功能正确性转向动态、长期的可维护性。
2026-03-18 13:13:39
741
1
原创 Claude Skills 构建完全指南
skill 是一组指令,被打包一个简单的文件夹,用于教会 Claude 如何处理特定任务或工作流程。Skills 是根据你的具体需求定制 Claude 最强大的方式之一。你无需在每次对话中重复说明你的偏好、流程和领域专业知识,只需通过 skills 一次性教会 Claude,之后每次使用都能受益。当你拥有可复用的工作流时,skills 会发挥强大作用:例如根据需求文档生成前端设计、以统一的研究方法开展调研、创建符合团队风格规范的文档,或是编排多步骤流程。
2026-03-06 16:49:43
511
原创 【论文阅读】Attention Is All You Need
主流的序列转换模型均基于复杂的循环神经网络或卷积神经网络,这类网络都包含编码器和解码器结构。表现最优的模型还会通过注意力机制将编码器与解码器连接起来。我们提出一种新颖且简洁的网络架构 ——Transformer,它完全基于注意力机制,彻底摒弃了循环结构与卷积操作。在两项机器翻译任务上的实验表明,该模型在翻译质量上表现更优,同时具备更强的并行性,且训练耗时大幅缩短。在 WMT 2014 英语→德语翻译任务中,我们的模型达到 28.4 BLEU,相比包括集成模型在内的现有最佳结果,提升超过 2 BLEU。
2026-02-11 14:16:51
700
原创 【GIT】删除远程文件
这是日常开发中最常用的场景,比如不小心把日志文件、缓存文件推送到了远程仓库,需要删除远程的文件但本地保留。如果不想修改本地代码,只想快速删除远程仓库的文件,可以直接用。如果本地也不需要该文件了,可以直接删除本地文件后推送到远程。
2026-02-02 18:05:18
419
原创 【SSH连接错误】WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
在cmd执行远程连接命令:时出现错误:解决方案:执行以下命令:再次执行:完成!
2026-01-22 15:33:35
82
原创 【功率预测】理论功率、可用功率、实际功率、额定风速、额定功率
核心定义:在理想工况下,发电设备能达到的最大输出功率,完全由设备设计参数和理想环境参数计算得出,不考虑任何现实限制。计算依据风电:基于额定风速、标准空气密度,通过风机的理论功率曲线计算。光伏:基于标准测试条件(STC) —— 辐照度 1000W/㎡、电池温度 25℃、AM1.5 光谱,计算得出的功率值。特点:是一个固定的理论参考值,仅用于设备设计、选型和性能对标,和实际发电场景无关。例子:一台额定功率 2MW 的风机,在额定风速、标准空气密度下的理论功率就是 2MW。
2026-01-16 09:31:33
853
原创 【LeetCode】274.H指数
根据 H 指数的定义,如果当前 H 指数为 h 并且在遍历过程中找到当前值 citations[i]>h,则说明我们找到了一篇被引用了至少 h+1 次的论文,所以将现有的 h 值加 1。链接:https://leetcode.cn/problems/h-index/solutions/869042/h-zhi-shu-by-leetcode-solution-fnhl/首先我们可以将初始的 H 指数 h 设为 0,然后将引用次数排序,并且对排序后的数组从大到小遍历。来源:力扣(LeetCode)
2025-11-16 17:38:44
383
原创 【LeetCode】392.判断子序列
本题采用 双指针法 是最优解,核心思路是通过两个指针分别遍历 s 和 t,逐步匹配 s 中的字符,利用 “子序列只需保持相对顺序” 的特性,高效判断匹配结果。
2025-09-11 23:16:49
560
原创 【LeetCode】14. 最长公共前缀
纵向扫描,从前往后遍历所有字符串的每一列,比较相同列上的字符是否相同,如果相同则继续对下一列进行比较,如果不相同则当前列不再属于公共前缀,当前列之前的部分为最长公共前缀。总时间复杂度:O(nm),因为在最坏情况下(所有字符串都相同),需要将每个字符串的每个字符都比较一次,总比较次数为 n×m。O(mn),其中 m 是字符串数组中的字符串的平均长度,n 是字符串的数量。O(mn),其中 m 是字符串数组中的字符串的平均长度,n 是字符串的数量。最坏情况下,字符串数组中的每个字符串的每个字符都会被比较一次。
2025-09-09 21:50:56
1223
原创 【Git学习笔记】
如何查看 git 本地仓库内容。如何查看 git 远程仓库内容。所有的配置文件都保存在本地。git 基本理论(核心)什么是分布式和集中式?
2025-09-08 00:18:21
10
原创 【LeetCode】58. 最后一个单词的长度
本文介绍了力扣58题"最后一个单词的长度"的解题思路和代码实现。题目要求计算字符串中最后一个单词的长度。解题采用反向遍历字符串的方法:先跳过末尾的空格,找到最后一个单词的结束位置,然后继续反向遍历直到遇到空格或字符串开头,统计字母数量即为单词长度。文章提供了Python和C++两种实现代码,时间复杂度为O(n),空间复杂度为O(1)。该方法高效简洁,直接解决了问题。
2025-09-06 00:24:29
354
原创 【已解决】error: externally-managed-environment
【代码】【已解决】error: externally-managed-environment。
2025-07-22 16:36:17
446
原创 【深度学习】自定义实现DataSet和DataLoader
的整数倍,不会返回最后一个不足的batch。当最后一个batch的样本数量不足。时,比如总样本数不是。
2025-04-14 09:35:45
347
原创 【已解决】If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.
在使用GPU训练YOLOV9的时候,出现报错:问题诊断:max_split_size_mb:限制 PyTorch 内存块分割最大值,推荐值:
2025-03-27 14:38:46
779
原创 【C++11】智能指针:std::weak_ptr
weak_ptr解决shared_ptr的循环依赖问题,不增加引用计数weak_ptr不能直接访问对象,必须使用lock()获取shared_ptrweak_ptr不能单独存在,必须依赖shared_ptr适用于对象间的非拥有关系,如双向引用、缓存等场景。
2025-03-26 14:55:34
1368
原创 【C++11】智能指针 std::shared_ptr 使用场景示例
shared_ptr 是一种非常强大的工具,适用于多个地方需要共享相同资源的场景。常见的应用场景包括:多线程环境中的资源共享:多个线程共享资源,shared_ptr 自动管理资源的生命周期。复杂数据结构:树、图等数据结构中,多个节点需要共享父节点或子节点。动态生成的资源:如文件句柄、数据库连接等,可以通过 shared_ptr 管理。避免循环引用:通过合理使用 shared_ptr 和 weak_ptr 可以避免循环引用。共享访问:多个部分的代码需要共享同一对象时使用 shared_ptr。
2025-03-26 11:31:03
1152
原创 【C++11】智能指针:std::shared_ptr
当 shared_ptr 作为函数参数传递时,默认是值传递(复制传递)。这会增加引用计数,确保指针在函数内部被正确管理。被销毁时,引用计数会减小。当引用计数为0时,内存会被自动释放。计数指针又称共享指针,是C++11引入的智能指针之一。允许多个指针共享同一块内存。内部维护着一个引用计数器,可以通过。被赋值时,引用计数就会增加。
2025-03-25 23:47:57
1340
原创 【深度学习】训练集、测试集、验证集、过拟合、欠拟合详解
在机器学习和深度学习中,数据集的划分是模型训练过程中至关重要的一步。常见的数据划分方式包括:训练集(Training Set)、验证集(Validation Set)和测试集(Test Set),本文将详细介绍他们的作用。
2025-03-24 10:07:21
3150
原创 【C++11】智能指针:深入解析std::unqiue_ptr
C++11中,通过引入智能指针的概念,使得C++程序员不需要手动释放内存注意:std::auto_ptr 在C++11被弃用。
2025-03-22 18:57:56
473
原创 【Python】调试模块logging详解及python代码示例
其构造方法为:ft = logging.Formatter.__init__(fmt=None, datefmt=None, style=’ %')他们将日志分发到不同的目的地。可以是文件、标准输出、邮件、或者socket、http等协议发送到任何地方。style 参数默认为百分符 %, 这表示 %(<dictionary key>)s 格式的字符串。datefmt 默认是 %Y-%m-%d %H:%M:%S样式的。Formatters对象用来最终设置日志信息的顺序、结构和内容。提供应用程序的调用接口。
2025-03-18 15:09:58
1477
1
原创 【已解决】UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xaf in position 43: illegal multibyte
在Python项目中,我们通常使用logging模块记录日志。通过配置文件(如logging.conf)管理日志格式、处理器等,可以让代码更简洁。但在实际使用中,常会遇到编码或配置项错误。本文通过一个典型错误案例,讲解如何排查并解决问题。编码问题:Windows系统默认使用gbk编码读取文件,但logging.conf可能包含UTF-8字符(如注释或特殊符号),导致解码失败。Python日志配置实战:解决编码与配置项错误。运行以下代码时,抛出。
2025-03-13 11:25:07
1827
原创 【机器学习】K折交叉验证(K-Fold Cross-Validation)
K折交叉验证是一种非常强大的评估技术,可以帮助我们在模型训练过程中避免过拟合和偏差,特别是在数据量较少时。通过合理选择K值和变体,您可以灵活地应对不同类型的数据和问题,提高模型的泛化能力和鲁棒性。
2025-02-19 16:56:19
5751
原创 【python】中 __repr__ 与 __str__ 方法详解
_str__是用户友好的输出,返回一个易于理解的字符串__repr__是开发者友好的输出,返回一个更详细的、能够重建对象的字符串如果__str__没有定义,Python 会回退到使用__repr__
2025-02-17 08:58:52
813
原创 【深度学习】不同领域中对于token的理解
虽然一个Token通常对应一个单词,但在一些情况下,它也可能是一个词组,甚至是单词的子部分。比如,它可以通过记住“de”和“bug”这两个Token,来扩展理解更多由相同子词构成的词汇,例如“debug”,“devalue”,甚至是“decrease”(减少)在Tokenization过程中,一个Token不仅仅可以是一个完整的单词,它还可以是一个词组,甚至是单词的部分,具体取决于上下文和算法。在自然语言处理(NLP)中,Token通常是文本处理的最小单元,可能是一个单词、词组,或者一个符号。
2025-02-07 11:02:40
1221
原创 【深度学习】L1损失、L2损失、L1正则化、L2正则化
稀疏性:很多参数值为0LLWλ∑i1p∣wi∣∂L∂wi∂LW∂wiλ⋅signwiwiwi−lr∗∂L∂wj−lr∗λsignwiLLWλi1∑p∣wi∣∂wi∂L∂wi∂LWλ⋅signwiwiwi−lr∗∂wj∂L−lr∗λsignwi∂LW∂w。
2025-01-18 16:21:42
3092
原创 【深度学习】Huber Loss详解
平滑是指损失函数在参数空间内变化的平稳程度。在损失函数的图像中,如果它是光滑的,表示它的值不会出现剧烈的波动。平滑的损失函数对于优化过程有利,因为它减少了优化过程中由于损失函数剧烈波动而导致的难以收敛的情况。在优化中,平滑的损失函数能够帮助优化算法(如梯度下降)稳定地找到全局或局部最小值,而不会被局部的“尖峰”或“坑”困住。Huber损失就是一个平滑的损失函数,它在小误差时使用平方损失,避免了大误差的过大惩罚;而在大误差时切换到线性损失,使得对于异常值的影响不至于过大。
2025-01-18 14:30:55
5216
原创 【Python】Numpy中ravel函数详解
返回一个连续的展平的数组,返回一个 1 维数组,包含输入的元素。只有在必要时才会进行复制。从 NumPy 1.10 开始,返回的数组将具有与输入数组相同的类型(例如,对于掩码数组输入,将返回掩码数组)aaa: 输入数组。数组 a 中的元素将按照 order 参数指定的顺序读取,并打包成一个一维数组order′C′′F′′A′′K′optionalorder′C′′F′′A′′K′optional。
2025-01-17 16:39:25
1576
原创 【CUDA】nvcc编译流程与GPU计算能力
指的是 GPU 的硬件本身支持的计算架构能力(Compute Capability),它由硬件制造商(如 NVIDIA)设计和实现。NVIDIA 的 GPU 按照架构分为不同的计算能力(如 6.1、7.5、8.0 等),这些计算能力定义了硬件支持的特性、性能以及可以运行的指令集。指的是软件(例如 CUDA 或驱动程序)在 GPU 上暴露的计算架构能力。这种能力可能与硬件实际能力不同,通常是驱动或软件框架为了兼容性或性能优化对外显示的虚拟能力。
2025-01-14 18:35:24
1413
原创 【深度学习】神经网络灾难性遗忘(Catastrophic Forgetting,CF)问题
灾难性遗忘(Catastrophic Forgetting)是指在神经网络,尤其是深度学习模型中,当模型在学习新的任务时,往往会遗忘之前学过的任务或知识。这种现象通常发生在连续学习过程中,即模型必须依次学习多个任务时。随着新任务的学习,模型会在不加保护的情况下丧失对旧任务的记忆或表现,导致旧任务的性能显著下降。
2025-01-14 16:18:44
2419
1
原创 【论文阅读】基于空间相关性与Stacking集成学习的风电功率预测方法
针对目标气象预报数据缺失导致风电预测精度不足的问题, 提出一种基于空间相关性和Stacking集成学习的风电功率预测方法首先, 分析目标风电场与相邻气象站点之间的空间相关性,根据相关系数极值点确定延迟时间,构建风速时移数据集其次, 利用Stacking集成方法融合多元算法,从多个数据观测角度预测目标风电场的风电功率,实现不同算法的优势互补,提升整体泛化能力,并采用粒子群优化算法搜索模型超参数,较好地平衡搜索时间与模型效果。
2025-01-14 15:28:23
1847
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅