自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Claude Skills 范式解析:模块化 AI 能力扩展框架

Claude Skills是Anthropic提出的模块化AI能力扩展框架,通过封装专业知识、执行逻辑和资源为可组合单元,使大模型能动态获取特定领域能力。该范式采用渐进式披露架构,分阶段加载技能元数据(约100 tokens)、核心指令(≤5k tokens)和必要资源,避免全局Prompt稀释问题。

2026-01-28 14:40:06 865

原创 [故障复盘] PyCharm 远程开发:中文文件名“隐身”与无法创建文件的排查

在PyCharm远程开发中,遇到中文文件名无法显示和创建的问题。排查发现是由于PyCharm后端进程未加载Linux系统的LANG和LC_ALL环境变量,导致JVM无法处理UTF-8路径。解决方案是修改服务器上的pycharm.sh启动脚本,强制注入LANG=zh_CN.utf8和LC_ALL=zh_CN.utf8环境变量,并重启后端服务。关键点在于确认进程实际环境变量,并注意远程开发中客户端与服务器配置的差异。

2025-12-18 15:38:25 1104

原创 详解 PyCharm 正则替换中的“捕获组”

正则表达式中的捕获组(Capturing Group)与反向引用是批量文本处理的高效工具。通过在查找部分用括号()标记需要保留的内容(如今年(\d+)岁),再在替换时用$1或\1调用(如我今年$1岁),可以动态保留原文本中的变量部分(如年龄数字)。该技巧适用于PyCharm等IDE(使用$1)和Python代码(使用\1),还能实现数据位置交换等复杂操作,大大提升日志、JSON等文本的批量处理效率。

2025-11-19 11:14:00 605

原创 使用Ray RLlib构建自定义强化学习环境

基于Ray RLlib 2.51.1版本,详细介绍了构建自定义强化学习环境与模型的方法。内容包括:1)继承Gymnasium的Env类实现自定义环境,定义观测/动作空间及核心接口;2)通过TorchModelV2实现自定义神经网络模型,包含策略网络和价值函数;3)使用PPOConfig链式配置训练参数,并处理新旧API兼容性问题;4)完整的训练流程及模型保存方法。文中所有代码均通过实际验证,解决了原参考文章因版本更新导致的API不兼容问题。

2025-11-08 09:33:07 1300 2

原创 pip install gptqmodel报错:error: subprocess-exited-with-error

解决安装gptqmodel时出现error: subprocess-exited-with-error的问题。

2025-10-21 15:30:25 1040

转载 AlignBench 数据集介绍以及使用指南

AlignBench 是第一个多维度全面评估中文大模型对齐水平的评测基准。

2025-10-13 14:56:52 224

原创 多轮对话新范式:状态更新策略让AI对话更高效

关于状态更新多轮对话策略:通过智能历史信息管理和XML结构化提示词优化多轮对话的方法。包含累积原则、历史提醒机制和结构化输出解析。

2025-09-26 18:25:12 1246

原创 (PyCharm)从 dev 分支创建自己的开发分支以及分支的合并与推送

在PyCharm中从dev分支创建新分支进行开发后合并的步骤:1. 确认当前在dev分支,通过右下角分支状态查看;2. 按命名规范(如feature/功能名)创建开发分支并推送远程;3. 开发完成后,先切换回dev分支;4. 将开发分支合并到本地dev分支;5. 推送合并后的dev分支到远程仓库。注意事项:保持分支命名规范统一,避免直接在dev分支开发,合并后需确认远程仓库更新。命名建议包含功能类型(feature/bugfix等)、任务编号或开发者标识。

2025-07-13 10:22:19 1295

原创 LoRA 微调 VS 全参数微调:一次情感分类任务中的实战比较与深入理解

本文围绕一个句子情感分类任务,系统对比了 LoRA 微调与全参数微调在理论基础、实现机制、实验效果、适用范围等方面的异同。重点解析了 LoRA 的低秩近似原理、与 Adapter 微调的关系,以及其在复杂 NLP 任务中的潜在局限。通过实践对比与原理拆解,为理解和运用参数高效微调技术提供了全面参考。

2025-07-10 09:53:15 1264

原创 Bert进行LoRA微调详细流程(附代码)

讲解 bert-base-uncased模型进行LoRA微调的详细流程,然后基于此完成英文句子情感分类任务,判断句子是属于哪类情感。

2025-07-08 22:56:59 2005

原创 理解 LLM Function Call、Agent 调度与 MCP 协议

本文探讨了大语言模型(LLM)向具备工具使用能力的智能体(Agent)发展的关键技术。通过引入functioncall功能,LLM不仅能生成语言内容,还能调用外部工具执行任务,如查询天气、处理数据等。Agent负责调度任务、校验和执行functioncall,而MCP(ModelContextProtocol)则提供结构化上下文支持,确保多轮任务的一致性。三者协作形成智能系统:LLM生成调用请求,Agent执行并管理流程,MCP组织上下文,使LLM从对话工具升级为具备执行能力的AI系统。

2025-07-01 16:40:26 1427

原创 Git 多人协作开发完整流程详解

掌握良好的 Git 协作流程,是成为合格工程师的基本功。本文将从实践角度,结合可视化流程图和命令操作,详尽讲解多人协作下的 Git 工作流。

2025-06-28 10:41:01 2064

原创 BERT架构详解

BERT架构详解。

2025-06-27 16:49:00 2680

原创 深入理解 PyTorch 中的自动微分机制与 `.detach()` 用法全解析

本文将从零开始,系统性地讲解 PyTorch 中的计算图、反向传播、`with torch.no_grad()`、`.detach()` 等核心机制,结合实践场景如可视化中间层特征图、GAN 模型中对生成器的冻结操作等内容,帮助你在实际开发中灵活、正确地使用自动微分特性。

2025-06-26 10:46:15 1731

原创 Transformer 中 QKV 流向全解析(含注意力机制箭头图示)

通过字符图示和逻辑整理,我们可以清楚地看到 Transformer 架构中 Q、K、V 的具体生成流向和注意力交互模式。理解这些机制,不仅有助于掌握 Transformer 的核心思想,还能为进一步研究多头注意力、位置编码、以及结构优化打下坚实基础。

2025-06-23 14:38:48 1581

原创 从Seq2Seq到QKV:深度解析注意力机制的核心逻辑

本文以Seq2Seq架构为切入点,深入解析注意力机制核心逻辑。针对传统Seq2Seq模型存在的“编码瓶颈”问题,引入注意力机制,详细阐述其在Seq2Seq中修改后的运作流程与计算细节。进一步揭示注意力机制的本质思想,即模拟人类选择性聚焦,通过动态权重分配实现信息筛选与上下文感知。在此基础上,从Seq2Seq的计算过程自然引出Query、Key、Value框架,说明其对注意力机制的抽象升级作用,并介绍QKV在不同场景的应用及核心计算逻辑。

2025-06-13 16:47:52 1768

原创 一文搞懂分类问题中的交叉熵损失

本文围绕分类问题中的交叉熵损失展开,先对比其与回归损失(MAE、MSE)的适用场景,从信息论角度解析熵、KL散度与交叉熵的概念及数学关系,推导分类任务中交叉熵与KL散度的等价性。接着详解二分类与多分类的损失公式,通过数值案例展示预测准确性与损失值的关联,对比交叉熵与MSE的梯度特性差异,最后给出PyTorch代码实现,为学习损失函数的同学提供从理论到实践的全面参考。

2025-06-13 14:39:48 1172

原创 RNN与LSTM架构解析:破除输出机制的理解误区

本文针对RNN与LSTM学习中的常见误区展开解析,指出RNN隐藏状态无法直接作为预测输出,需全连接层完成维度映射、LogSoftmax生成概率分布。以LSTM情感分析模型为例,说明其输出门的sigmoid函数仅用于控制信息流动,而非生成概率,强调下游仍需Softmax层实现分类。通过具体架构拆解与代码示例,帮助初学者理解循环神经网络的输出机制设计逻辑。

2025-06-12 09:23:58 1115

原创 Embedding词嵌入层的文本向量化原理【NLP入门详解】

本文深入讲解了 NLP 中词嵌入(Embedding)层的原理与应用,适合初学者理解文本向量化的全过程。文章从分词与词ID映射讲起,阐述词嵌入层如何通过词向量矩阵将离散的词ID转化为连续的语义向量。接着分析了词向量的两种来源:随机初始化与加载预训练词向量(如 Word2Vec、GloVe),并说明了它们各自的适用场景与优势。通过示例代码与图示,帮助读者掌握词嵌入的实际使用方式,并指出其局限与进阶方法,如动态词向量(BERT)与子词建模(FastText)。

2025-06-10 18:15:45 1958

原创 彻底搞懂梯度消失问题:一个详细的数值推导示例

本文通过三层前馈神经网络示例解析深度学习中的梯度消失问题,网络采用sigmoid激活函数与均方误差损失函数,经正向传播得到输出与损失后,通过链式法则反向推导损失对首层权重的梯度,发现因sigmoid导数最大值不超过1且多数情况远小于1,多层导数连乘导致梯度显著衰减,即使仅3层网络,靠近输入层的权重梯度已极小,体现了链式法则下梯度指数级衰减的本质。进一步指出增加网络层数会加剧梯度趋近于0,tanh激活函数缓解效果有限,而ReLU激活函数和LSTM/GRU的门控结构可有效对抗梯度消失问题。

2025-06-07 21:05:54 1181

原创 用TF-IDF权重打造更有信息量的词云

传统词云仅展示高频词,可能包含大量无意义词。TF-IDF(词频-逆文档频率)能识别文档特有且重要的词汇,提升词云信息价值。文章通过中文评论案例,演示如何用jieba分词和TF-IDF生成高质量词云。

2025-06-07 09:18:30 1033

原创 深入理解 jieba.cut 与 jieba.lcut:不仅仅是生成器和列表的区别

本文对比分析了jieba分词工具中cut与lcut两个接口的区别。cut返回生成器,采用惰性计算,适合处理大文本和流式数据,内存消耗更低;而lcut直接返回列表,使用更简便但资源消耗更高。通过源码解析和实验验证发现,两者不只是返回值类型不同,在运行机制、性能表现和适用场景上都有显著差异:cut适用于内存敏感的大规模文本处理,lcut更适合中小文本的即时分析。理解这些差异有助于在实际项目中合理选择分词方式,优化中文自然语言处理的效率和性能。

2025-06-03 21:49:21 1641

原创 PyTorch 张量索引规则全解析:从冒号数量看维度操作的本质

摘要:本文深入解析PyTorch张量索引的核心机制,通过三维张量示例揭示索引操作对维度的影响规律。关键发现包括:整数索引会压缩对应维度,切片(冒号)则保留维度;冒号数量决定控制的维度数;混合使用时整数降维而切片维持维度;越界索引导致报错。文章总结出维度变化的四条黄金法则,并强调通过.shape验证的重要性,最后提供可运行的完整代码示例。

2025-06-03 20:31:05 847

原创 PyTorch 中 损失函数参数reduction=‘none‘ 的使用场景与示例

本文介绍了PyTorch中损失函数的reduction='none'参数的应用场景。当设置为'none'时,可以获取每个样本的单独损失值,适用于样本加权损失、样本难度分析和复杂任务设计等场景。通过示例代码,展示了如何对样本损失加权、分析难样本以及处理类别不平衡。需要注意的是,最终仍需将损失聚合成标量才能进行反向传播。合理使用reduction='none'可以更灵活地控制训练过程,实现样本级别的精细调控。

2025-05-25 11:23:47 897

原创 数据治理基础

本文介绍了数据治理的重要性、核心概念、技术架构。面对数据质量低下、标准不统一、权限混乱等问题,数据治理通过制度、流程和技术手段提升数据的质量、可用性与合规性。核心内容涵盖数据质量、元数据、主数据管理及权限、安全等七大要素,并提出“六层治理架构”,实现全流程标准化管理。

2025-05-24 23:59:11 2606 3

原创 PyTorch 张量运算进阶:维度变换与广播机制详解

本文深入介绍了PyTorch中张量维度变换和广播机制的核心概念。重点讲解了view()、reshape()等形状变换方法,以及unsqueeze()、permute()等维度操作函数。同时详细解析广播机制的规则和应用场景,如自动扩展维度实现高效运算。通过实际案例展示了这些操作在深度学习中的典型应用,如卷积网络构建和数据标准化处理。掌握这些技巧能显著提升模型开发效率,是PyTorch使用的基本功。

2025-05-23 22:24:22 1357

原创 PyTorch 张量常用运算函数详解(基础篇)

本文介绍了在PyTorch中处理张量的基本操作,强调了张量在深度学习中的核心作用。通过一个2x3的张量示例,详细讲解了张量的初始化、有dim参数的统计函数(如sum、max、min、mean)、以及无dim参数的逐元素函数(如pow、sqrt、exp、log)。这些函数在数据处理、特征工程、模型训练和损失计算中非常关键。文章还扩展了这些函数的应用场景,如softmax中的exp函数和交叉熵损失中的log函数。最后,文章总结了常用张量运算函数。

2025-05-23 21:39:02 1157

原创 Numpy与张量的类型转换

本文介绍了NumPy数组的基本操作及其与张量(tensor)之间的转换。首先,通过示例展示了如何创建一维和二维NumPy数组,并解释了数组的维度查看方法。接着,详细说明了如何将NumPy数组转换为PyTorch张量,强调了torch.from_numpy()方法的高效性,因为它共享底层内存而不复制数据。此外,还介绍了torch.tensor()方法,该方法会创建新张量并复制数据。文章还讨论了张量与NumPy数组之间的转换,包括内存共享和复制的不同情况,并指出在GPU上的张量需要先移回CPU才能转换为NumP

2025-05-23 21:03:43 910

原创 torch.stack函数的理解

torch.stack([a,b], dim=k) 操作在第 k 个维度插入新轴,并将张量 a 和 b 在该维度上拼接,形成更高维的张量。以形状为 (3,4) 的张量 a 和 b 为例: dim=0:在第0维插入轴,形状变为 (2,3,4),表示两个张量的批次。 dim=1:在第1维插入轴,形状变为 (3,2,4),逐行堆叠。 dim=2:在第2维插入轴,形状变为 (3,4,2),元素级位置堆叠。 测试题中,对形状为 (2,3) 的张量 x 和 y 进行 torch.stack 操作,结果形状分别为 (2,

2025-05-23 19:45:13 1242 1

空空如也

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

TA关注的人

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