自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 课程笔记汇总(努力更新ing)

个人学习笔记索引

2022-01-30 21:09:44 4295 8

原创 (完结撒花~)【灵神高频面试题合集26-27】单调栈和单调队列

26 单调栈 每日温度 接雨水;27 单调队列 滑动窗口最大值

2026-10-06 15:11:46 187

原创 【灵神高频面试题合集21-25】动态规划(下)

动态规划(下):21 状态机dp 买卖股票的最佳时机系列;22 区间dp 最长回文子序列 最优三角剖分;23 树形dp 树的直径(二叉树、一般树);24 树形dp 打家劫舍III 树上最大独立集;25 树形dp 监控二叉树 树上最小支配集

2026-10-05 20:02:47 228

原创 【灵神高频面试题合集17-20】动态规划(上)

动态规划(上):17 从记忆化搜索到递推;18 0-1背包 完全背包;19 线性dp 最长公共子序列LCS 编辑距离;20 线性dp 最长递增子序列LIS

2026-10-03 20:18:35 205

原创 【灵神高频面试题合集14-16】回溯(子集型、组合型、排列型)

回溯:14 子集型回溯(分割回文串);15 组合型回溯及剪枝;16 排列型回溯(N皇后)

2026-09-26 15:15:59 222

原创 图解 Flash Attention(v1)优化原理

Flash Attention 是目前大模型训练与推理中的关键技术。它通过优化 GPU 底层算子,在不损失模型精度的情况下,既提升计算速度,又减少显存占用。要理解 Flash Attention,需掌握两点:传统分块 Self-Attention 的计算过程;为何以及如何对 Softmax 进行分块计算。

2026-08-14 13:17:25 217

原创 现代化Python工具:uv、Ruff、Pyright、Rich(只讲重点版)

1、基础:ide(代码编辑器);2、底层:uv(快速Python包管理器);3、语法:Ruff(快速Python语法检查器);4、类型:Pyright(静态类型检查器);5、美化:Rich(Python美化堆栈报错)

2026-08-09 02:26:36 301

原创 一个例子说明 Online Softmax 的计算过程(Flash Attention 创新点)

1、传统做法要把整行 N 个分数都算出来(物化 N×N 矩阵),才能做 softmax。2、Flash Attention 的做法是:(1)把 Q 分成若干 Q 块(按行分);(2)把 K 分成若干 K 块(按列分);(3)每次只计算 一个 Q 块 × 一个 K 块 的小矩阵乘积;(4)这就得到了一部分注意力分数(即一行中的一部分);(5)用增量更新公式,边走边更新 m、l、O;(6)等所有 K 块都扫完,这一行的 softmax 就做完了。

2026-08-07 23:00:26 406

原创 【LLM显存优化】NVIDIA Unified Memory & Paged Optimizer(QLoRA核心技术之三)

Paged Optimizer(分页优化器)把优化器状态(如Adam优化器中的动量和方差),通过 cudaMallocManaged 分配到 Unified Memory 中。这样,在正常情况下,优化器状态会待在GPU显存里;一旦有突发的大Batch或长序列计算导致显存紧张,Unified Memory这个智能管家就会自动、无缝地将一部分优化器状态分页 “换出”(Swap Out)到CPU内存。

2026-07-26 12:51:04 341

原创 【LLM量化】人话讲解 NF4量化 & DQ双重量化(QLoRA核心技术)

NF4量化按数据分布(正态)均匀切割,在0点附近密集、两头稀疏,与LLM权重分布高度匹配,信息利用率最高。在相同的4-bit下,模型精度损失最小。而双重量化(DQ)是对每个block的缩放常数再进行一次量化(8-bit)。

2026-07-26 01:44:11 316

原创 HuggingFace Gated Model 如何使用(以 Llama-2-7b-hf 为例)

Gated Model 需要先在 HuggingFace 上申请访问权限并登录。

2026-07-25 01:54:25 194

原创 【RLHF with PPO】reward & KL & Advantage 详解

原始 RM reward(序列末端稀疏奖励) → per-token reward(带KL惩罚) → Advantage(PPO+GAE)

2026-07-22 01:10:52 227

原创 【TRL】SFTTrainer、RewardTrainer、PPOTrainer

HuggingFace TRL框架、PPO工作原理(Rollout、Evaluation、Optimization);SFTTrainer、RewardTrainer、PPOTrainer 及相关参数。

2026-07-19 14:36:39 198

原创 大模型微调LoRA技术解析

1. 什么是LoRA:举例说明;2. 为什么需要LoRA;3. 为什么可以对增量权重低秩分解;4. LoRA如何更新参数;5. LoRA可以用在Transformer的哪些层;6. LoRA有哪些改进版本;7. LoRA训练时需要调整哪些超参数。

2026-07-17 16:28:55 285

原创 【课程笔记 - 下】LangGraph从入门到实战 - 进阶(AI智能体Agent)

五个Agent:多轮对话、记忆Memory、ReAct、在tools中传递state、检索增强生成RAG

2026-07-06 01:18:22 278

原创 LangGraph 中如何实现状态注入:InjectedState

注入状态指的是让工具函数能够直接访问 LangGraph 图的当前状态(如定义的 AgentState),同时这个状态参数对 LLM 是不可见的。也就是说,LLM 在决定调用工具时,不会、也不需要去生成这个参数,它由 LangGraph 框架自动填充。

2026-07-05 19:58:14 235

原创 LangGraph 中的 TypedDict, Annotated, Sequence

1、TypedDict 用于定义一个字典应该包含哪些键,以及每个键对应的值是什么类型。2、Annotated 允许在类型提示的基础上附加额外信息,它在 LangGraph 中最重要的用途是为状态字段指定 reducer 函数,即告诉 LangGraph 当多个节点返回相同状态字段时,应该如何合并这些值。3、Sequence 用于表示一个元素有序的、可遍历的、只读的集合。它在 LangGraph 中的作用是让函数或状态能接受任何类型的序列(如 list、tuple、range 等),增强了代码的灵活性。

2026-06-30 02:13:13 231

原创 LangGraph 中的 add_messages

常用写法:from langgraph.graph.message import add_messagesclass State(TypedDict): messages: Annotated[Sequence[BaseMessage], add_messages]

2026-06-29 00:53:57 238

原创 【课程笔记 - 上】LangGraph从入门到实战 - 基础(理论+图Graph)

LangGraph 是一个用于构建高级对话式 AI 工作流(WorkFlow)的 Python 库,基于 LangChain。

2026-06-29 00:32:02 236

原创 【灵神高频面试题合集09-13】二叉树、二叉搜索树

二叉树:09 递归 数学归纳法 栈;10 相同 对称 平衡 右视图。二叉搜索树:11 验证二叉搜索树 前序 中序 后序。12 最近公共祖先。13 层序遍历 BFS 队列。

2026-06-08 01:37:41 232

原创 【灵神高频面试题合集06-08】反转链表、快慢指针(环形链表/重排链表)、前后指针(删除链表/链表去重)

链表:06 反转链表 K个一组翻转;07 环形链表 重排链表(快慢指针);08 链表删除 链表去重(前后指针)。

2026-05-08 00:51:48 377

原创 【灵神高频面试题合集04-05】二分查找

二分查找:04 二分查找 红蓝染色法;05 数组峰值 搜索旋转排序数组。

2026-05-03 22:13:40 462

原创 【灵神高频面试题合集01-03】相向双指针、滑动窗口

相向双指针:01 两数之和 三数之和;02 接雨水 前后缀分解。​滑动窗口(同向双指针):03 最短 最长 方案数。

2026-05-01 20:19:02 466

原创 【chap1&chap2-面试&程序性能分析】用Python3刷《代码随想录》

1、编程语言、代码规范(变量命名、代码留白);2、时间复杂度分析(插入排序、快速排序、冒泡排序;递归算法如求x^n)、程序的运行时间(超时是怎么回事、不同时间复杂度的算法能支持输入n的量级为多少);3、编程语言的内存管理(C++的内存管理、如何计算程序占用多少内存、内存对齐)、空间复杂度分析(递归算法如求斐波那契数、递归求二分)、以空间换时间的优化思路(哈希)。

2026-04-20 01:33:30 412

原创 【chap12-图论(P1-6深搜&广搜、P21拓扑排序)】用Python3刷《代码随想录》

1、深度优先搜索(所有可达路径)、广度优先搜索;2、岛屿系列:岛屿数量;3、拓扑排序:课程表

2026-04-12 01:10:53 417

原创 【chap11-动态规划(下 - 打家劫舍&股票问题&子序列问题)】用Python3刷《代码随想录》

3、打家劫舍:I-III;4、股票问题:I-IV、含冷冻期、含手续费;5、子序列问题:不连续、连续、编辑距离、回文。

2026-04-06 16:40:41 396

原创 【chap11-动态规划(上 - 基础题目&背包问题)】用Python3刷《代码随想录》

1、基础题目:斐波那契数、爬楼梯系列、不同路径系列、整数拆分、不同的二叉搜索树;2、背包问题:01背包(分割等和子集、最后一块石头的重量II、目标和、一和零)、完全背包(求组合数/求排列数/求最小数)、多重背包等。

2026-03-28 13:48:23 450

原创 【力扣-Python-74】搜索二维矩阵(middle)

有序二维矩阵整体二分的技巧:定义一个映射关系,对于一维索引,用整除列数得到行号,用取余列数得到列号。即:一维索引 index  —>  二维行号 = index // n,二维列号 = index % n。有了这个映射,就可以直接对整个矩阵进行一次二分查找

2026-03-16 15:28:21 317

原创 【力扣-Python-33】搜索旋转排序数组(middle)

二分查找变体题 + 掌握判断有序区间的技巧

2026-03-16 14:42:53 336

原创 torch.nn.Dropout vs torch.nn.functional.dropout 以及 model.eval() 下两者的差异(paddle同样适用)

结论:model.eval() 并不能使 nn.functional.dropout 失效,但能让 nn.Dropout 失效。

2026-03-09 11:57:13 411

原创 【力扣-Python-287】寻找重复数(middle)

给你一个长度为 n+1 的数组,数字范围在 1~n 内,其中恰好有一个数字重复出现(两次或多次)。找出这个重复数字要求:不能修改数组,只用 O(1) 的额外空间如:[1,6,3,4,5,2,2],其中2出现了两次,所以答案为2。

2026-03-06 11:48:13 259

原创 【力扣-Python-4】寻找两个正序数组的中位数(hard)

给你两个从小到大排好序的数组,找出两个数组合并后的中位数要求时间复杂度为 O(log(m+n)),m和n为两数组的长度如 nums1 = [1,3,5,14],nums2 = [2,4,8,9,11],合并后为 [1,2,3,4,5,8,9,11,14],总共9个数,正中间的为5。

2026-03-05 17:53:48 231

原创 【chap10-贪心算法】用Python3刷《代码随想录》

序列问题、贪心解决股票问题、区间问题、两个维度权衡问题等等

2026-03-02 01:37:07 1149

原创 【chap9-回溯算法】用Python3刷《代码随想录》

1、组合问题:77、216、17、39、40;2、切割问题:131、93;3、子集问题:78、90、491;4、排列问题:46、47;5、棋盘问题:51、37(二维递归)

2026-02-23 01:28:24 797

原创 Python关键字 nonlocal / global 对比

global为全局作用域,nonlocal为闭包作用域

2026-02-11 20:55:35 367

原创 【chap8-二叉树(下 - 修改与构造&二叉搜索树&公共祖先问题)】用Python3刷《代码随想录》

3、二叉树的修改与构造。4、二叉搜索树:(1)求二叉搜索树的属性;(2)二叉搜索树的修改与构造。5、二叉树公共祖先问题。

2026-02-03 12:15:39 845

原创 【chap8-二叉树(上 - 遍历方式&属性)】用Python3刷《代码随想录》

1、二叉树的遍历方式:(1)深度优先/前中后序遍历:递归法、迭代法 (借助栈实现递归);(2)广度优先/层序遍历:迭代法 (借助队列,先进先出)。2、二叉树的属性:对称二叉树;二叉树的最大/最小深度;完全二叉树的节点个数;平衡二叉树。3、涉及回溯(递归+回溯):二叉树的所有路径;左叶子之和;找树左下角的值;路径总和。。

2026-01-26 00:53:00 729

原创 【力扣-Python-滑动窗口经典题】567.字符串的排列 | 424.替换后的最长重复字符 | 76.最小覆盖子串

滑动窗口经典题汇总567.字符串的排列424.替换后的最长重复字符76.最小覆盖子串

2026-01-16 14:45:51 473

原创 【chap7-栈与队列 (含单调栈)】用Python3刷《代码随想录》

232、225:栈与队列的基本操作;20、1047、150:栈在匹配问题中的应用;239:获取滑动窗口的最大值,主要思想是队列没有必要维护窗口中的所有元素,只需要维护有可能成为窗口中最大值的元素即可,同时保证队列中的元素数值是由大到小排序的(双端队列 from collections import deque);347:求前k个高频元素,优先级队列(小顶堆 import heapq)单调栈:739、496、503、42、84

2025-12-29 01:53:38 635

原创 【力扣-Python-75】颜色分类(middle)

给定只包含 0、1、2 的数组(红、白、蓝),要求原地排序,使0在前、1在中、2在后。要求不能使用库排序,最好只遍历一次。又称为荷兰国旗问题

2025-12-21 17:04:13 285

SVM应用:兵王问题数据集

对应博客:https://zhuanlan.zhihu.com/p/537715035

2024-05-01

空空如也

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

TA关注的人

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