deepseek的CoT优势、两阶段训练的有效性学习笔记
文章目录
- 1 DeepSeek的CoT思维链的优势
- 1.2 open-r1的CoT训练数据
- 1.3 ReAct任务与CoT任务适用场景
- 2 AI推理方向:deepseek与deepmind的两条路线的差异
- 2.1 PRM与ORM的两大学派分支的差异
- 2.2 DeepSeek-R1的两阶段训练概述
1 DeepSeek的CoT思维链的优势
DeepSeek跟之前市面上很多其他的大模型,比如豆包、通义、文心存在一定的差异;
如图,来自清华大学新媒体研究中心的报告《DeepSeek:从入门到精通》举了两种的差异
- 常规的是概率预测(这里其实有点歧义,后者也是…我感觉可以说是,问答单机版);
- 后者是链式推理,这里就要强调思维链的过程。

比如一个思维过程就是:
问题:A有3本书,B比A多2本,C比B少1本,C有几本?
思考过程:
- A有3本书 → B有3+2=5本 → C有5-1=4本 → 答案是4。问题:(用户的新问题)
思考过程:
CoT 的优点:
- CoT 通过将复杂问题分解为多步骤的子问题,相当显著的增强了大模型的推理能力
- CoT 使得大模型通过向我们展示“做题过程”,使得我们可以更好的判断大模型在求解当前问题上究竟是如何工作的
- 让大模型一步一步输出步骤,我们通过这些步骤的呈现可以对大模型问题求解的过程施加更大的影响
1.2 open-r1的CoT训练数据
开源22万条DeepSeek R1的高质量数据!你也能复现DeepSeek了
笔者一直好奇该准备怎么样的数据集,才值得做训练,可以看一下这里面的开源数据集:

挑一个例子出来看看:
<问题>
## Task B-1.3. A ship traveling along a river has covered $24 \mathrm{~km}$ upstream and $28 \mathrm{~km}$ downstream. For this journey, it took half an hour less than for traveling $30 \mathrm{~km}$ upstream and $21 \mathrm{~km}$ downstream, or half an hour more than for traveling $15 \mathrm{~km}$ upstream and $42 \mathrm{~km}$ downstream, assuming that both the ship and the river move uniformly. Determine the speed of the ship in still water and the speed of the river.<解题过程>
## Solution. Let $t$ be the time required for the boat to travel $24 \mathrm{~km}$ upstream and $28 \mathrm{~km}$ downstream, $v_{R}$ the speed of the river, and $v_{B}$ the speed of the boat. When the boat is traveling upstream, its speed is $v_{B}-v_{R}$, and when it is traveling downstream, its speed is $v_{B}+v_{R}$. Since $t=\frac{s}{v}$, from the given data, we obtain the following system of equations: $\left\{\begin{array}{l}t=\frac{24}{v_{B}-v_{R}}+\frac{28}{v_{B}+v_{R}} \\ t+0.5=\frac{30}{v_{B}-v_{R}}+\frac{21}{v_{B}+v_{R}} \\ t-0.5=\frac{15}{v_{B}-v_{R}}+\frac{42}{v_{B}+v_{R}}\end{array}\right.$ By introducing new variables $x=\frac{3}{v_{B}-v_{R}}, y=\frac{7}{v_{B}+v_{R}}$, the system transforms into: $\left\{\begin{array}{l}t=8 x+4 y \\ t+0.5=10 x+3 y \\ t-0.5=5 x+6 y\end{array}\right.$ Substituting $t$ from the first equation into the remaining two, we get: $\left\{\begin{array}{l}8 x+4 y+0.5=10 x+3 y \\ 8 x+4 y-0.5=5 x+6 y\end{array}\right.$ $\left\{\begin{array}{l}2 x-y=0.5 \\ 3 x-2 y=0.5\end{array}\right.$ The solution to the last system is (0.5, 0.5). Then we have: $\frac{3}{v_{B}-v_{R}}=0.5$, hence, $v_{B}-v_{R}=6 \mathrm{~and}$ $\frac{7}{v_{B}+v_{R}}=0.5$, hence, $v_{B}+v_{R}=14$. The speed of the river is $v_{R}=4 \mathrm{~km} / \mathrm{h}$, and the speed of the boat is $v_{B}=10 \mathrm{~km} / \mathrm{h}$. ## Note: By substituting $x=\frac{1}{v_{B}-v_{R}}, y=\frac{1}{v_{B}+v_{R}} \mathrm{~and}$ following the same procedure, the initial system transforms into the system $\left\{\begin{array}{l}6 x-7 y=0.5 \\ 9 x-14 y=0.5\end{array}\right.$ The solution to this system is $\left(\frac{1}{6}, \frac{1}{14}\right)$.<答案>
v_{R}=4\mathrm{~}/\mathrm{},v_{B}=10\mathrm{~}/\mathrm{}
解题过程再贴一下:
##Solution.
Let t t t be the time required for the boat to travel 24 k m 24 \mathrm{~km} 24 km upstream and 28 k m 28 \mathrm{~km} 28 km downstream, v R v_{R} vR the speed of the river, and v B v_{B} vB the speed of the boat. When the boat is traveling upstream, its speed is v B − v R v_{B}-v_{R} vB−vR, and when it is traveling downstream, its speed is v B + v R v_{B}+v_{R} vB+vR.
Since t = s v t=\frac{s}{v} t=vs, from the given data, we obtain the following system of equations:
{ t = 24 v B − v R + 28 v B + v R t + 0.5 = 30 v B − v R + 21 v B + v R t − 0.5 = 15 v B − v R + 42 v B + v R \left\{\begin{array}{l}t=\frac{24}{v_{B}-v_{R}}+\frac{28}{v_{B}+v_{R}} \\ t+0.5=\frac{30}{v_{B}-v_{R}}+\frac{21}{v_{B}+v_{R}} \\ t-0.5=\frac{15}{v_{B}-v_{R}}+\frac{42}{v_{B}+v_{R}}\end{array}\right. ⎩ ⎨ ⎧t=vB−vR24+vB+vR28t+0.5=vB−vR30+vB+vR21t−0.5=vB−vR15+vB+vR42
By introducing new variables x = 3 v B − v R , y = 7 v B + v R x=\frac{3}{v_{B}-v_{R}}, y=\frac{7}{v_{B}+v_{R}} x=vB−vR3,y=vB+vR7,
the system transforms into:
{ t = 8 x + 4 y t + 0.5 = 10 x + 3 y t − 0.5 = 5 x + 6 y \left\{\begin{array}{l}t=8 x+4 y \\ t+0.5=10 x+3 y \\ t-0.5=5 x+6 y\end{array}\right. ⎩ ⎨ ⎧t=8x+4yt+0.5=10x+3yt−0.5=5x+6y
Substituting t t t from the first equation into the remaining two, we get:
{ 8 x + 4 y + 0.5 = 10 x + 3 y 8 x + 4 y − 0.5 = 5 x + 6 y \left\{\begin{array}{l}8 x+4 y+0.5=10 x+3 y \\ 8 x+4 y-0.5=5 x+6 y\end{array}\right. {8x+4y+0.5=10x+3y8x+4y−0.5=5x+6y
{ 2 x − y = 0.5 3 x − 2 y = 0.5 \left\{\begin{array}{l}2 x-y=0.5 \\ 3 x-2 y=0.5\end{array}\right. {2x−y=0.53x−2y=0.5
The solution to the last system is (0.5, 0.5).
Then we have: 3 v B − v R = 0.5 \frac{3}{v_{B}-v_{R}}=0.5 vB−vR3=0.5,
hence, v B − v R = 6 a n d v_{B}-v_{R}=6 \mathrm{~and} vB−vR=6 and 7 v B + v R = 0.5 \frac{7}{v_{B}+v_{R}}=0.5 vB+vR7=0.5,
hence, v B + v R = 14 v_{B}+v_{R}=14 vB+vR=14.
The speed of the river is v R = 4 k m / h v_{R}=4 \mathrm{~km} / \mathrm{h} vR=4 km/h,
and the speed of the boat is v B = 10 k m / h v_{B}=10 \mathrm{~km} / \mathrm{h} vB=10 km/h.
##Note:
By substituting x = 1 v B − v R , y = 1 v B + v R a n d x=\frac{1}{v_{B}-v_{R}}, y=\frac{1}{v_{B}+v_{R}} \mathrm{~and} x=vB−vR1,y=vB+vR1 and following the same procedure, the initial system transforms into the system { 6 x − 7 y = 0.5 9 x − 14 y = 0.5 \left\{\begin{array}{l}6 x-7 y=0.5 \\ 9 x-14 y=0.5\end{array}\right. {6x−7y=0.59x−14y=0.5
The solution to this system is ( 1 6 , 1 14 ) \left(\frac{1}{6}, \frac{1}{14}\right) (61,141).
1.3 ReAct任务与CoT任务适用场景
两个任务有相似,有不同,应用场景区分:
CoT(Chain-of-Thought)任务
- 静态推理链:模型在单次生成中输出完整的中间步骤,无需与外部系统交互。
- 外部依赖:无需调用外部工具或数据源,完全依赖模型内部知识生成推理链。
- 模型调用方式:单次调用生成完整推理链。
- 线性结构:仅包含“推理”环节,例如:
问题:小明有5个苹果,吃掉2个后买了3个,现在有多少?
推理:5-2=3 → 3+3=6 → 答案是6。
ReAct(Reasoning + Action)任务
- 动态交互循环:模型交替执行“推理(Reasoning)”和“行动(Action)”,并与外部环境(如API、数据库、工具)交互。
- 外部依赖:依赖外部工具(如计算器、搜索引擎、API)执行行动,并基于返回结果调整后续推理
- 模型调用方式:可能需要多次调用模型(如每次行动后生成新的推理步骤),或通过单次调用生成包含交互指令的文本(由外部系统解析执行)
- 循环结构:包含“思考→行动→观察”的迭代过程,例如:
问题:上海今日天气如何?适合户外跑步吗?
思考:需要先获取上海当前天气数据。
行动:调用天气API查询上海实时温度、湿度、降水概率。
观察:上海今日晴,温度25℃,湿度60%,降水概率0%。
推理:天气条件适宜跑步 → 答案是适合。
选择建议与适用范围
| 维度 | CoT | ReAct |
|---|---|---|
| 是否需要工具 | 否 | 是(依赖API、数据库等) |
| 问题开放性 | 封闭式(答案确定) | 开放式(需动态数据) |
| 延迟要求 | 低(单次生成) | 较高(需多次交互) |
| 典型任务 | 数学题、逻辑推理 | 实时咨询、工具调用、复杂决策 |
2 AI推理方向:deepseek与deepmind的两条路线的差异
2.1 PRM与ORM的两大学派分支的差异
PRM(过程奖励模型)与ORM(结果奖励模型)的核心差异在于奖励信号的密度与反馈时机,这导致了两者在训练效率、适用场景和实现成本上的显著区别。以下是具体对比:
| 维度 | PRM(DeepMind路线) | ORM(DeepSeek路线) |
|---|---|---|
| 奖励粒度 | 对推理过程的每一步骤进行细粒度打分(如数学题的每一步计算、代码生成的每一行逻辑)。 | 仅对最终结果整体打分(如答案是否正确、代码是否通过测试)。 |
| 信号密度 | 密集反馈,每一步均有奖励信号,帮助模型及时修正错误。 | 稀疏反馈,仅在最终结果处提供信号,模型需自行回溯错误来源。 |
| 适用场景 | 复杂推理任务(数学解题、代码生成、逻辑规划),需多步推理且中间步骤对结果影响大。 | 结果明确且可快速验证的任务(文本分类、简单生成任务),或中间步骤难以量化评估的场景。 |
| 数据成本 | 需标注中间步骤的正确性(人工或LLM-as-judge),标注成本高且易引入噪音。 | 仅需标注最终结果对错,数据获取成本低。 |
| 训练效率 | 初期收敛慢(需协调多步奖励),但长期上限高;适合需高精度推理的场景。 | 初期收敛快,但易陷入局部最优(如“蒙对答案”却过程错误);适合简单任务或资源有限的情况。 |
| 技术挑战 | 需设计可靠的中间步骤评估机制(如MATH-SHEPHERD的自动标注),易受后续推理质量干扰(错误传播)。 | 依赖最终结果的明确性,难以处理模糊或多解问题(如开放式创作)。 |
| 典型应用 | OpenAI O1的“长思考”模式、数学解题(每一步验算)、代码生成(逐行逻辑检查)。 | 文本偏好对齐(如安全过滤)、拒绝采样(选择最高分结果)、简单分类任务。 |
PRM优势
- 错误定位:能精准识别推理链中的错误步骤,避免“结果正确但过程错误”的隐患(如数学题蒙对答案)。
- 泛化性:通过密集反馈提升模型对复杂任务的分解能力,增强多步推理的鲁棒性。
- 上限提升:在Let’s Verify Step by Step等研究中,PRM相比ORM可将准确率提升10-20%。
PRM劣势
- 标注成本高:人工标注中间步骤昂贵,自动标注(如MC补全)依赖高质量生成模型,易引入噪音。
- 训练复杂度:需协调多步奖励信号,易出现“局部最优陷阱”(如模型为追求单步高分而偏离整体目标)。
- 推理延迟:结合搜索算法(如MCTS)时,计算开销大幅增加。
ORM优势
- 低成本:仅需结果标注,适合数据匮乏场景(如小规模人工标注或用户隐式反馈)。
- 易扩展:可直接复用传统RL的稀疏奖励框架(如AlphaGo的胜负奖励)。
- 稳定性:对中间过程不敏感,适合结果驱动型任务(如文本生成的整体流畅度评估)。
ORM劣势
- 过拟合风险:模型可能学会“作弊”以优化最终指标(如代码生成通过测试但逻辑混乱)。
- 反馈延迟:错误需到最终步骤才能被惩罚,导致训练效率低下(尤其对长推理任务)。
- 可解释性差:无法诊断错误来源,难以迭代优化模型能力。
2.2 DeepSeek-R1的两阶段训练概述
DeepSeek采用多阶段强化学习策略,通过奖励机制激励模型生成更严谨的推理路径
- 第一阶段RL训练侧重逻辑准确性,Rule-based reward,模型会因跳过关键步骤而受到惩罚
- 第二阶段RL引入人类偏好反馈,引入一些SFT数据,做监督学习,促使模型主动检查潜在错误并修正
Rule-based reward指基于预设规则自动计算的奖励,无需人工标注,常见类型包括:
- 答案正确性:数学题数值匹配、代码执行结果正确(如LeetCode单元测试通过)。
- 格式规范性:输出是否遵循指定模板(如与分段、Markdown语法)。
- 语言一致性:是否混用中英文、逻辑连接词使用合理性(参考R1-Zero阶段的语言混杂惩罚)。
- 过程完整性:推理步骤长度、是否包含验证环节(如“Double-check: 重新计算后答案应为0.5”)。
DeepSeek的step1和step2并非简单的时间分割,而是能力解耦与渐进增强的过程:
| 阶段 | Step1(推理优先) | Step2(综合优化) |
|---|---|---|
| 核心目标 | 专注提升推理能力,通过强化学习最大化rule-based reward(如数学正确率)。 | 在保持推理能力基础上,优化可读性、格式、多任务泛化,融合多种reward信号。 |
| 数据使用 | 完全依赖程序合成或规则生成的数据(如自动构造数学题),无需人工标注。 | 引入数千条人工筛选的冷启动数据(含长思维链),结合拒绝采样产生的优质样本。 |
| 奖励组合 | 单一rule-based reward(如答案正确性+步骤长度)。 | 混合rule-based reward(格式检查) + 模型打分(语言流畅度) + 人工偏好对齐。 |
| 关键技术 | 纯强化学习(GRPO),允许输出格式混乱以探索更优推理路径。 | 监督微调(SFT)修正格式,拒绝采样筛选高质量答案,局部再强化学习微调。 |
Step1训练后的模型(如R1-Zero)作为Step2的初始化参数,通过以下方式实现能力迁移:
- 参数继承:保留已习得的推理能力(神经网络权重),仅新增可读性相关的embedding层微调。
- 课程学习:在Step2初期使用高温度采样(鼓励探索),逐步降低温度以稳定格式。
- 奖励重塑:在原有正确性奖励基础上,逐步增加格式奖励的权重(参考技术报告中语言一致性奖励从0.1到0.3的渐变)。
相关文章:
deepseek的CoT优势、两阶段训练的有效性学习笔记
文章目录 1 DeepSeek的CoT思维链的优势1.2 open-r1的CoT训练数据1.3 ReAct任务与CoT任务适用场景 2 AI推理方向:deepseek与deepmind的两条路线的差异2.1 PRM与ORM的两大学派分支的差异2.2 DeepSeek-R1的两阶段训练概述 1 DeepSeek的CoT思维链的优势 DeepSeek跟之前…...
MobaXterm的图形化界面支持:原理与分辨率问题解决
1. 概述 MobaXterm 是一款功能强大的远程访问工具,支持SSH、RDP、X11、VNC等多种协议,并内置了强大的图形界面支持,让用户能够在远程操作Linux/Unix系统时,享受到类似本地桌面的流畅体验。 与传统的SSH客户端不同,Mo…...
算法很美笔记(Java)——树
性质 树 上面的性质因为两个结点由一条边连成 结点数目越多,算法复杂度越高 二叉树 结构 层次遍历 利用队列,弹一个,加N个(队列里弹出一个元素,就把这个元素的所有孩子加进去) 具体来说:指…...
百度 API 教程 001:显示地图并添加控件
目录 01、基本使用 前期准备 显示地图 开启鼠标滚轮缩放地图 02、添加地图控件 添加标准地图控件 添加多个控件 网址:地图 JS API | 百度地图API SDK 01、基本使用 前期准备 注册百度账号 申请成为开发者 获取密钥:控制台 | 百度地图开放平台…...
OSCP - Other Machines - Loly
主要知识点 路径枚举内核漏洞提权 具体步骤 继续nmap一下先 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-01 07:12 CST Nmap scan report for loly.lc (172.16.33.25) Host is up (0.022s latency). Not shown: 65534 closed tcp ports (conn-refused) PORT …...
使用瑞芯微RK3588的NPU进行模型转换和推理
使用边缘设备进行算法落地时,通常要考虑模型推理速度,NVIDA系列平台可以使用TensorRT和CUDA加速,瑞芯微RK3588的板子上都是Arm的手机GPU,虽然没有类似CUDA的加速计算方式,但是提供了NPU进行加速推理,本文说…...
我用AI做数据分析之四种堆叠聚合模型的比较
我用AI做数据分析之四种堆叠聚合模型的比较 这里AI数据分析不仅仅是指AI生成代码的能力,我想是测试AI数据分析方面的四个能力,理解人类指令的能力、撰写代码的能力、执行代码的能力和解释结果的能力。如果这四个能力都达到了相当的水准,才可…...
AcWing 5166:对称山脉 ← 动态规划
【题目来源】 https://www.luogu.com.cn/problem/P9325 https://www.acwing.com/problem/content/5169/ 【题目描述】 有 N 座山排成一排,从左到右依次编号为 1∼N。 其中,第 i 座山的高度为 hi。 对于一段连续的山脉,我们使用如下方法定义该…...
DeepSeek 从入门到精通学习指南,2025清华大学《DeepSeek从入门到精通》正式发布104页pdf版超全解析
DeepSeek 是一款强大的 AI 搜索引擎,广泛应用于企业级数据检索和分析。无论您是初学者还是有经验的用户,掌握 DeepSeek 的使用都能为您的工作带来极大的便利。本文将从入门到精通,详细介绍如何学习和使用 DeepSeek。 链接: https://pan.baid…...
KEPServerEX 的接口类型与连接方式的详细说明
目录 一、KEPServerEX 核心架构 二、KEPServerEX 支持的接口类型 三、KEPServerEX 支持的连接类型 1. 通用工业协议 2. 品牌专属协议 3. 行业专用协议 4. 数据库与文件接口 四、配置示例 1. 接口配置(以OPC UA为例) 2. 连接配置(以…...
HTML之JavaScript使用JSON
HTML之JavaScript使用JSON JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JSON是JavaScript对象的字符串表示法,它使用文本表示一个js对象的信息,可以将json字符串转换…...
云原生AI Agent应用安全防护方案最佳实践(上)
当下,AI Agent代理是一种全新的构建动态和复杂业务场景工作流的方式,利用大语言模型(LLM)作为推理引擎。这些Agent代理应用能够将复杂的自然语言查询任务分解为多个可执行步骤,并结合迭代反馈循环和自省机制࿰…...
物联网软件开发与应用方向应该怎样学习,学习哪些内容,就业方向是怎样?(文末领取整套学习视频,课件)物联网硬件开发与嵌入式系统
随着物联网技术的飞速发展,物联网软件开发与应用方向成为了众多开发者关注的焦点。那么,如何在这个领域中脱颖而出呢?本文将为你提供一份详细的学习指南,帮助你从零开始,逐步掌握物联网软件开发与应用的核心技能。 一…...
计算机网络-八股-学习摘要
一:HTTP的基本概念 全称: 超文本传输协议 从三个方面介绍HTTP协议 1,超文本:我们先来理解「文本」,在互联网早期的时候只是简单的字符文字,但现在「文本」的涵义已经可以扩展为图片、视频、压缩包等&am…...
【天梯赛】L2-001紧急救援(用迪杰斯特拉找出权重和最小的最短路径)
解题反思 尝试DFS:开始使用DFS来遍历求解,但 DFS 存在大量重复计算,像同一节点会被多次访问并重复计算路径信息,导致时间复杂度高,部分测试点未通过 改用迪杰斯特拉:为了求解,设置了很多的辅助…...
PortSwigger——WebSockets vulnerabilities
文章目录 一、WebSockets二、Lab: Manipulating WebSocket messages to exploit vulnerabilities三、Lab: Manipulating the WebSocket handshake to exploit vulnerabilities四、Using cross-site WebSockets to exploit vulnerabilities4.1 跨站WebSocket劫持(cro…...
八、OSG学习笔记-
前一章节: 七、OSG学习笔记-碰撞检测-CSDN博客https://blog.csdn.net/weixin_36323170/article/details/145558132?spm1001.2014.3001.5501 一、了解OSG图元加载显示流程 本章节代码: OsgStudy/wids CuiQingCheng/OsgStudy - 码云 - 开源中国https:…...
自己动手实现一个简单的Linux AI Agent
大模型带我们来到了自然语言人机交互的时代 1、安装本地大模型进行推理 下载地址: https://ollama.com/download 部署本地deepseek和嵌入模型 ollama run deepseek-r1:7b2、制定Linux操作接口指令规范 3、编写大模型对话工具 #!/usr/bin/python3 #coding: utf-8…...
常见的数据仓库有哪些?
数据仓库(Data Warehouse,简称数仓)是企业用于存储、管理和分析大量数据的重要工具,其核心目标是通过整合和处理数据,为决策提供高质量、一致性和可信度的数据支持。在构建和使用数仓时,选择合适的工具和技术至关重要。以下是常见的数仓工具及其特点的详细介绍: 1. Hiv…...
LSTM 学习笔记 之pytorch调包每个参数的解释
0、 LSTM 原理 整理优秀的文章 LSTM入门例子:根据前9年的数据预测后3年的客流(PyTorch实现) [干货]深入浅出LSTM及其Python代码实现 整理视频 李毅宏手撕LSTM [双语字幕]吴恩达深度学习deeplearning.ai 1 Pytorch 代码 这里直接调用了nn.l…...
计算机网络,大白话
好嘞,咱就从头到尾,给你好好说道说道计算机网络里这些“门门道道”的概念: 1. 网络(Network) 啥是网络? 你可以把网络想象成一个“大Party”,大家(设备)聚在一起&#…...
自定义sort排序
数组中,根据出现次数以大到小排序,当频率相同时按元素值降序排序 #include <iostream> #include <vector> #include <algorithm> #include <unordered_map>// 全局的 unordered_map 用于存储元素频率 std::unordered_map<in…...
【EXCEL】【VBA】处理GI Log获得Surf格式的CONTOUR DATA
【EXCEL】【VBA】处理GI Log获得Surf格式的CONTOUR DATA data source1: BH coordination tabledata source2:BH layer tableprocess 1:Collect BH List To Layer Tableprocess 2:match Reduced Level from "Layer"+"BH"data source1: BH coordination…...
kafka动态监听主题
简单版本 import org.springframework.beans.factory.annotation.Autowired; import org.springframework.kafka.core.ConsumerFactory; import org.springframework.kafka.listener.ConcurrentMessageListenerContainer; import org.springframework.kafka.listener.Containe…...
【PHP的static】
关于静态属性 最简单直接:静态方法也是一样 看了很多关于静态和动态的说法,无非是从 调用方式, 类访问实例变量, 访问静态变量, 需不要实例化这几个方向,太空了。问使用场景,好一点的 能说个…...
国产编辑器EverEdit - 光标位置跳转
1 光标位置跳转 1.1 应用场景 某些场景下,用户从当前编辑位置跳转到别的位置查阅信息,如果要快速跳转回之前编辑位置,则可以使用光标跳转相关功能。 1.2 使用方法 1.2.1 上一个编辑位置 跳转到上一个编辑位置,即文本修改过的位…...
cv2.Sobel
1. Sobel 算子简介 Sobel 算子是一种 边缘检测算子,通过对图像做梯度计算,可以突出边缘。 Sobel X 方向卷积核: 用于计算 水平方向(x 方向) 的梯度。 2. 输入图像示例 假设我们有一个 55 的灰度图像,像素…...
51单片机俄罗斯方块整行消除函数
/************************************************************************************************************** * 名称:flash * 功能:行清除动画 * 参数:NULL * 返回:NULL * 备注: * 采用非阻塞延时࿰…...
鸿蒙HarmonyOS NEXT开发:优化用户界面性能——组件复用(@Reusable装饰器)
文章目录 一、概述二、原理介绍三、使用规则四、复用类型详解1、标准型2、有限变化型2.1、类型1和类型2布局不同,业务逻辑不同2.2、类型1和类型2布局不同,但是很多业务逻辑公用 3、组合型4、全局型5、嵌套型 一、概述 组件复用是优化用户界面性能&#…...
langchain系列(二)- 提示词以及模板
导读 环境:OpenEuler、Windows 11、WSL 2、Python 3.12.3 langchain 0.3 背景:前期忙碌的开发阶段结束,需要沉淀自己的应用知识,过一遍LangChain 时间:20250212 说明:技术梳理 提示词模板理论说明 提…...
