大模型显存估算指南:量化、KV Cache与显卡选型

你是不是也有这种时刻:兴冲冲下载一个开源模型,看到模型页写着推荐16G显存,结果加载到一半直接报错,红色提示占满终端。这种“应该能跑吧”的错觉,几乎每个玩过本地大模型的人都经历过。所以我一直觉得,在动手部署之前,先把显存这笔账算明白,比换显卡、找超参数都更重要。

这篇文章就聚焦一件事:怎么通过模型信息、量化档位、上下文长度估算显存占用,判断你的显卡到底能跑多大的模型。我会从显存构成、量化选型、不同档位的真实上限、实操推演和排障经验几个层面展开。不管你是8G显存的老卡,还是刚入手24G的“新玩具”,都能照着一步步算清楚,少走点弯路。

1. 显存计算第一步:模型是怎么悄悄吃满显存的

1.1 静态开销:权重是显存里的“常驻房客”

模型一旦加载进显存,第一笔开销就是模型权重本身。这块属于“固定支出”,不管你是生成了一个字还是生成长篇大论,权重都要全程占用显存。

权重的估算公式非常简单:

权重显存 = 模型参数量 × 每参数占用字节数

不同的精度对应不同的字节数:

精度每参数字节数常见场景
FP324训练反向传播、极少部署
FP16 / BF162推理标准精度、微调常用
INT81显存不足时降载
INT40.5本地部署、消费级显卡主流方案

举个例子:一个70亿参数的模型,用FP16加载,权重就是 7B × 2B = 14GB左右。这在16G显存的卡上看起来还能凑合,但如果模型输出较长,加上KV Cache和运行时开销,就非常悬了。如果用INT4量化,权重只需要3.5GB左右,8G显存的卡也能跑得动,这就是量化在本地部署中这么重要的原因。

这里要提醒一个容易踩的坑:模型参数里不光是Transformer主体,词嵌入和语言模型头都算在参数量里。开源模型仓库给出的“参数量”通常已经包含了全部,但一些技术博客喜欢只讨论“主干参数”或者“核心层参数”,用来降低显存估算值,误导性很强。

1.2 动态开销:KV Cache这个“临时租客”

权重是长期占地的固定开销,KV Cache则是随着生成过程不断膨胀的临时开销。

先解释一下KV Cache是什么。大模型生成下一个token时,需要“回顾”之前所有历史token的Key和Value信息。为了避免每生成一个token都重新计算一遍全量历史,推理框架会把历史token的Key和Value缓存下来,这就是KV Cache。可以把它理解成一个不断变长的便利贴:生成内容越长,便利贴越多,显存占用越大。

KV Cache的估算不像权重那样一目了然,但也可以算:

KV Cache显存 ≈ 2 × 层数 × KV头数 × 头维度 × 序列长度 × 每元素字节数

这个公式看起来复杂,实际代入一次就明白了。我拿一个典型的7B级模型架构举例:28层Transformer层、每个KV组4个头、每个头的维度是128,用FP16精度,上下文长度设置为4096:

  • 每个token的KV占用:28层 × 2(Key和Value) × 4个头 × 128维 × 2字节 ≈ 57KB
  • 4096个token的KV Cache:57KB × 4096 ≈ 235MB

这个量级看起来不大,但如果上下文长度从4K涨到32K,KV Cache直接翻8倍,从235MB变成1.9GB左右。如果同时把量化档位压低、模型层数再增加,KV Cache对显存的影响会明显超过很多人的直觉。

这也是现代模型普遍引入GQA(分组查询注意力)的根本原因——让多个查询头共享一组KV头,从而把KV Cache的膨胀速度压下来。我经常看到有人选模型时只盯权重大小,完全不看架构里有没有GQA,结果同参数规模下KV Cache差出一大截。这条经验在长上下文场景里特别关键。

1.3 动态开销:激活值、运行时和“看不见”的固定开销

除了权重和KV Cache,还有一笔开销常常被忽略:激活值以及框架运行时本身占用的显存。

激活值发生在模型的前向计算过程中,是每层计算时的中间张量。推理场景下如果batch size为1,激活值通常还能控制;但如果为了吞吐量把batch开大,或者在做训练、微调,激活值的膨胀速度会非常惊人。训练一张7B模型甚至可能出现激活值显存超过权重的情况,所以训练场景的显存算法和推理完全是两码事。

运行时的固定开销也不小。加载深度学习框架、CUDA上下文、令牌生成逻辑,都会固定吃掉一小块显存,通常在0.5GB到1.5GB左右。显卡型号不同、驱动和框架版本不同,这个数字会有波动。很多时候OOM错误并不是模型权重太大,而是“权重 + KV Cache + 运行时”三者加起来刚好超出显存上限。

给一个简洁明了的推理显存估算公式:

推理显存 ≈ 权重显存 + KV Cache显存 + 固定开销(约0.5GB ~ 1.5GB)

先把这个公式摆在这,后面所有选型和判断都围绕它展开。

2. 量化选型:显存和质量的平衡点在哪里

2.1 四种精度形态,先把底层逻辑捋清楚

量化是大模型部署绕不开的话题。很多人觉得量化是“把模型压缩一下”,听起来简单,但细节里全是坑。

先说最常见的四种形态:

加载精度权重字节相对FP16体积质量损失典型显存建议
FP16 / BF162B100%无损显存充足时首选
INT81B50%极小接近无损,适合追求质量
INT40.5B25%较小消费级显卡主流
更多低比特小于0.5B小于25%明显只在极限显存下用

INT4不是简单地把FP16数值砍到4位,而是通过分组缩放、交叉位编码等技巧保留更多有效信息。现在的INT4量化技术已经很成熟,在语言理解类任务上质量损失比早期版本小很多,这也是它能成为本地部署主流方案的原因。

但这里要区分一个概念:量化后的模型文件大小,和加载进显存后的实际占用,并不严格相等。很多格式会在加载时额外创建一些中间缓冲区,权重占比略大于理论值。我见过不少案例,模型文件明明只有19GB,在24G显存的卡上却因为量化格式的额外开销而OOM。所以在最后判定能不能跑的时候,要给权重部分留出5%到10%的余量。

2.2 不要迷信“越高精度越好”

有一个很常见的误区:显存够就上FP16,不够就退而求其次。其实量化档位的选择不是单纯的质量和体积博弈,还要考虑推理速度、长文本稳定性、框架兼容性。

INT4虽然体积小,但很多推理框架在INT4上生成的token速度并不一定比INT8快多少,反而因为反量化操作增加了额外计算,有时还会变慢。同时,INT4在数学计算类任务上的损失会集中在带小数点的高精度运算上,如果你的业务是代码生成、数学推理,用INT4容易暴露出逻辑错误。

真正务实的做法是“从低到高地测”:先选一个能稳定运行的量化档位,比如INT4,把流程跑通,确认显存余量充足后,再逐步升到质量更好的档位,直到显存占用接近90%,同时速度还能接受为止。这个方法的优先级很清晰:先求能跑,再求跑得好。因为一个根本无法运行的模型,质量再高也没有意义。

如果显存只差一点点,优先压缩KV Cache而不是降低权重精度。很多推理框架都提供了KV缓存量化的选项,能把KV Cache压缩到8位甚至4位,对最终生成质量的影响远小于直接把整个模型降到低比特。这个技巧在长上下文场景里性价比极高。

2.3 模型页的“最低显存”是怎么来的

我见过很多人在模型托管平台上看推荐显存,写着“16GB”,结果自己的16G显卡一跑就OOM。这不是推荐数据造假,而是推荐值通常基于一组非常理想的条件计算出来的。

这些理想条件至少包括几个隐藏项:极短的上下文(比如1024)、关闭KV Cache实际优化或使用极小batch、固定开销被压缩到最低、权重可能已经做了就地量化。你的实际场景如果上下文长、并发请求多、batch size大于1,那么真实显存占用可能是推荐值的1.5到2倍。

所以,不要用“模型页写了16G”来指导自己的部署。正确的姿势是把模型仓库给出的文件大小看作权重的近似值,再按前面那个公式手动补上KV Cache和固定开销,才能得出自己的显卡能否承载的结论。

3. 不同显存档位的真实上限:别被“最低配置”骗了

3.1 6G到48G,各档位能跑到什么程度

我接触过不少不同显存档位的用户,从核显用户到48G大卡,几乎每个人都会问我同一个问题:“我这显卡能跑多大的模型?”这个问题没法用一句话回答,但可以给出一个比较实用的参考区间。

先说明:下面的数字按“常见7B/14B/30B级模型 + 主流INT4量化 + 4K上下文 + 单batch”的基准来估算,实际会有浮动,但量级是靠谱的。

显存推荐范围说明
4G只能跑7B级INT4,短文本生成速度慢,适合尝鲜
6G7B级INT4舒适,8B级有点紧长文本需降低上下文
8G7B级INT4稳定,INT8勉强不是所有14B都能跑
12G7B级FP16舒服,14B级INT4可以长文本需控KV Cache
16G14B级INT4很稳,部分14B INT8可试30B级INT4基本没戏
24G30B级INT4可跑,但余量要算好7B/14B可高精度高上下文
48G70B级INT4整卡部署的起点长上下文仍是瓶颈

很多人看到24G能跑30B级INT4,就觉得24G是“性价比之王”,然后买回来把上下文拉满,结果又是OOM。原因很简单:30B级模型即使量化后也有18到22GB的权重,加上KV Cache和固定开销,24G卡只有在短上下文、小batch的场景下才能稳住。想把上下文拉满,还是得降量化档或者把部分层卸载到内存。

3.2 实际场景复盘:为什么数值上够用,跑起来却不行

讲一个非常典型的场景。某开发者刚拿到24G显卡,下载了一个量化后权重约20GB的30B级模型。他算了一下:20GB权重,离24GB还有4GB余量,应该够了。结果一跑,batch设成8,上下文开成16K,加载过程很快,但生成到第200个token时直接OOM。

我们用公式复盘一下:权重20GB + KV Cache(30B级模型在16K上下文里轻松超过2GB) + 激活值(batch=8带来的中间张量) + 固定开销1GB,总占用轻松突破26GB,24GB当然扛不住。

这个案例说明三件事:

  1. 权重大小只是显存占用的起点,不是终点。
  2. KV Cache和激活值会随着上下文和batch迅速膨胀,数量级往往超出预期。
  3. 显存规划必须“按最坏情况算”,不能按启动时的占用算。启动时看着挺稳,生成到某一个长度节点突然OOM,这是长上下文场景里最常见的翻车方式。

4. 实操推演:手把手算你的显卡能不能跑某个模型

4.1 五步规划法,制式作业不会漏

我一直推荐身边的人用同一套流程来评估,省去无谓的下载和试跑。这套流程叫“五步规划法”,每一步都是纯算术题。

  1. 确认模型权重在目标量化精度下的字节大小。
  2. 在权重基础上乘以1.05到1.10的加载系数,得到实际加载权重。
  3. 估算KV Cache:需要知道层数、KV头数、头维度、序列长度、精度。
  4. 加上固定开销(0.5GB到1.5GB)。
  5. 对比显卡显存,并确保剩余10%以上的冗余。

前四步算出的数字如果低于显卡显存的90%,基本可以放心跑;如果剩余空间在5%以内,尽早做好降级预案。

关键在第3步。模型仓库通常会标注量化后的文件大小,但很少直接告诉你KV Cache怎么算。如果模型发布页给了配置文件,直接查层数、KV头数、头维度三个参数。社区里也常有热心人整理这些结构信息,查不到的时候按“同参数规模模型”的常见结构来近似。

4.2 两个手算例,从7B到30B直接照抄

第一个例子:7B级模型,FP16精度,4K上下文,16G显存。

  • 权重:7B × 2B = 14GB
  • KV Cache:按前面那个结构算,约235MB
  • 固定开销:1GB
  • 总计:约15.2GB

16G显存看起来刚好,但加载完权重只剩1.8GB余量,再考虑CUDA上下文和各种临时缓冲,实际情况会非常紧张。如果上下文拉到8K,KV Cache翻倍到470MB,原本的余量进一步缩小。所以我的判断是16G卡跑7B FP16短文本可以,但稍微加长上下文就悬。换成INT8,权重变成7GB,同样16G显存就能舒服很多。

第二个例子:30B级模型,INT4量化,4K上下文,24G显存。

  • 权重:30B × 0.5B = 15GB,但INT4格式通常有额外开销,按常规范式文件多在18GB正
  • KV Cache:按30B级常见架构估算,4K约0.5GB到1GB
  • 固定开销:1GB
  • 总计:约19.5GB到20GB

24G显存理论上够,但余量只剩4GB左右。如果把上下文谈到8K或16K,KV Cache会涨到2GB甚至更多,同时量化权重加载时的中间缓冲也可能增加,余量会被快速吃干。24G卡跑30B级INT4,更现实的思路是把上下文控制在4K以内,确保batch为1。

4.3 参数查不到时,用这套兜底估算规则

模型结构信息不一定总能顺利找到,尤其是那些发布仓促的模型。这几年我总结了一套兜底规则,虽然粗糙,但应对绝大多数场景够用:

  • 每个10亿参数的模型,FP16权重约2GB,INT4约0.5GB到0.7GB。
  • 上下文长度设4096时,KV Cache按模型参数量的1%到2%估算,再按实际长度线性缩放。
  • 固定开销统一按1GB算,宁多勿少。
  • 如果模型结构备注里带了“GQA”,KV Cache按上述估算再乘0.5左右;如果没提,默认按多头注意力算,偏保守。

这套规则不可能精确到每一层,但能让你在下载一个几十GB的模型前,快速判断结论是“可以试”还是“直接放弃”。我宁愿估算偏悲观,也不想半夜跑下载结果第二天早上发现OOM。

5. 跑起来之后:实时确认和压显存的实战技巧

5.1 显存实时监测:别等报错才看

很多人跑模型时习惯性地不看显存,直到OOM才打开监测工具,结果只能看到已经被清空的缓存。我建议的做法是:在模型开始加载之前就打开一个终端,用类似nvidia-smi的工具开启定时刷新,一边观察不同阶段(加载权重、预热、生成首token、持续生成)的显存峰值。

有个关键细节:看显存不是看一瞬间的数值,而是看生成过程中缓慢爬升的趋势。KV Cache是随序列逐步增加的,如果你发现显存占用曲线一直在涨,而你的上下文上限又设得很高,那就必须提前估算峰值会不会撞到天花板。

每次测完,我会把“权重加载后显存”“生成100个token后显存”“生成到接近上限时显存”三个数值记录在一个小表格里。这个数据比任何理论估算都更可信,也方便下次换模型时做横向对比。

5.2 四个压显存的手段,按性价比排序

如果试跑后显存告警,降载手段有很多,但优先级很重要。

第一优先压缩上下文长度。这是最直接、最便宜的方法。把max length从16K降到8K,KV Cache直接减半,质量影响通常只体现在长文处理能力上,不会让单轮对话变笨。前提是你的业务不需要那么长上下文。

第二开启KV Cache量化。很多推理框架都提供了这个选项,能以很小的质量代价把KV Cache压到INT8甚至INT4,长上下文场景里效果显著。我遇到过8G显存跑7B模型开不了长文本的情况,开启KV Cache量化后从4K拉到8K,速度没差多少,显存却稳住了。

第三减小batch size。推理场景很多人默认batch开得很大,但单用户聊天根本不需要。调到1或2,激活值显存差异极其明显。微调场景下如果batch必须大,用梯度累积来伪装,显存不会爆炸。

第四降低权重精度。这是最后手段,因为一旦降精度,模型质量就变了,你要重新评估输出效果。通常从FP16降到INT8还在“可接受”范围,INT8到INT4的跨度需要你自己做质量对比测试。

5.3 一套调试顺序,能用最少次数搞定部署

我自己的调试顺序比较固定:先用一个很小的模型和很短的上下文把链路通起来,确认推理框架本身没问题。然后把小模型换成目标模型,但上下文先保持短,确认权重能加载进去。确认没问题后,逐步增加上下文长度,每加一档就跑一小段生成,观察显存曲线。

这套顺序的好处是,每一步都能定位问题在哪一层。如果短上下文也OOM,问题在权重和固定开销;如果短上下文没问题但长上下文就崩,问题在KV Cache管理。很多人直接拉满配置,出了问题根本无法判断是“模型太大”还是“上下文过长”,排查成本翻倍。

6. 显存不够时的排查与翻车实录

6.1 高频报错和快速定位思路

把这几类出现频率最高的异常列在下面,对应的处理思路是我实际踩坑后总结出来的。

现象最可能原因第一步动作
加载模型瞬间OOM权重本身太大或加载余量不足换更低量化,或降低缓存预加载
生成过程中途OOMKV Cache随生成长度增长压缩上下文,开启KV缓存量化
提示无法分配显存驱动或CUDA context冲突重启进程,清掉残留占用
速度极慢,像卡死可能已发生显存与内存交换停掉多余进程,检查是否整卡加载
刚启动就崩溃退出系统内存不足或格式不兼容查系统内存,更新推理框架版本

这里说一个很隐形的坑:显存占用不仅来自当前进程,还来自上一个没杀干净的进程。我在多张卡上跑不同模型时,经常遇到“明明刚启动,显存却用了4GB”的情况,其实是上一个模型进程没结束,显存没完全释放。直接用系统工具检查进程,杀掉残留进程是最高效的修复。

6.2 一次从“应该能跑吧”到OOM的完整复盘

前阵子帮一个朋友排查他的16G显卡,他想跑一个量化后权重约19GB的30B级模型。他的理由非常典型:“19G比16G还大3G,但模型页说可以用低量化加卸载方式运行,我看别人跑过。”

实际跑起来后,加载阶段勉强通过,因为推理框架把一部分层卸载到了内存。但生成速度慢到无法接受,几分钟才出一个字,而且随着生成长度增加,KV Cache在显存里越积越多,最终在某个位置还是OOM了。整个过程就是“CPU和GPU交换数据 + 显存极限占用”的双重折磨。

这个案例给我们的教训是:显存不够时可以卸载到内存,但卸载会带来重度性能损耗,而且KV Cache依然留在显存里,长文本迟早撞墙。不要因为“能加载”就认为“能跑”,能跑的意思是“在可接受的延迟下稳定生成”。

6.3 踩坑多了,我总结的几条显存规划规律

这么多年下来,我也算是在显存这条路上摔过不少跟头。有几句实在话想分享给你。

第一,账面显存先打九折。标称16G的卡,按14.5G可用来规划,剩下空间交给CUDA context和临时涨落。不要以为厂商标的16G就能用完16G。

第二,只信实测,不信推荐。所有模型页的推荐显存都只是一个粗略参考,最优解是下载后先跑一遍短文本实测,记录三个阶段的显存数值,再反推你的场景能不能跑。

第三,OOM往往是多个变量叠加的结果。权重、上下文、batch、KV缓存、框架开销,任何一个单独看都不致命,合在一起就爆炸。排查时按显存占比从高到低逐个调,而不是一上来就换模型。

第四,也是最想强调的一点:显存焦虑的解药是明确场景,不是盲目换卡。如果你只是做日常问答,8G显卡跑个7B级INT4完全够用;如果你要做超长文档分析,那不是显存够不够的问题,而是需要换一种支持长上下文压缩的策略。知道自己的真实需求,比追着最新显卡跑更有意义。

相关新闻

AI投资主线切换:从算力硬件到应用接棒,如何捕捉下一个AI故事?

AI投资主线切换:从算力硬件到应用接棒,如何捕捉下一个AI故事?

如果你这段时间也在关注机构策略会的风吹草动,大概率会捕捉到一个出现频率越来越高的判断:AI交易的主线,正从算力硬件这端,缓缓移向应用那端。市场在急切等着一个能把资金稳稳接住的“下一个AI故事”。某国际投行最近一场AI主题讨…

2026/10/20 22:46:19 阅读更多 →
Web应用防护盾部署避坑指南:原理、配置与运维实践

Web应用防护盾部署避坑指南:原理、配置与运维实践

近期在安全圈子里,有个标题挺抓眼球——“伪造的防护盾逆向分析”。乍一看,很多人会以为又是某个攻防演练的漏洞挖掘案例。但以我在网络安全领域摸爬滚打多年的经验来看,这类话题背后真正值得深挖的,往往不是“如何绕过”&#xf…

2026/10/20 22:46:19 阅读更多 →
OpenClaw浏览器自动化实战指南:从脚本到定时巡检

OpenClaw浏览器自动化实战指南:从脚本到定时巡检

“小学子讲技术”这个标签,之前我写了不少本地开发工具和脚本的内容,后台问得最多的就是浏览器自动化。 OpenClaw 这套工具,我断断续续用了差不多小半年,从最初的简单点击脚本,到后来跑数据巡检、自动填表、定时下载报…

2026/10/20 22:46:19 阅读更多 →

最新新闻

diagram-design:系统可视化设计的方法论与工程实践

diagram-design:系统可视化设计的方法论与工程实践

1. “diagram-design”不是一张图,而是一套系统性视觉表达方法论很多人第一次看到“diagram-design”这个词,下意识会把它当成“画流程图”“做PPT示意图”或者“用draw.io拖几个框连几条线”的简单操作。我最初也这么想——直到在某高校的跨学科课程设计…

2026/10/20 23:24:57 阅读更多 →
CTF实战套路:从信息收集到Shell提权的骚操作全解析

CTF实战套路:从信息收集到Shell提权的骚操作全解析

CTF里总有那么一类题,你说它难吧,考点可能一点都不深;你说它简单吧,比赛现场就是想不到。这篇文章想聊的,就是这些被老手们称作“骚操作”的常见套路——它们不一定在每场比赛里都会出现,可一旦出现&#x…

2026/10/20 23:24:57 阅读更多 →
《SHIT》期刊收稿全解析:投稿前必须明白的四个选题方向

《SHIT》期刊收稿全解析:投稿前必须明白的四个选题方向

最近收到好几个朋友的私信,都在问同一个事:《SHIT》这本期刊到底收什么稿子,是不是真的什么“垃圾”都收,投了快两个月也没回音,是编辑没看到还是稿子本身出了问题。我干脆把知道的情况和个人投稿经验整理成一篇&#…

2026/10/20 23:24:57 阅读更多 →
从零构建活期储蓄账目管理系统:Flask+SQLite实战指南

从零构建活期储蓄账目管理系统:Flask+SQLite实战指南

1. 从需求出发:为什么我会做这个活期储蓄账目管理系统先说个背景。我一直有记账的习惯,但记账软件换了好几款,总感觉差点意思——要么太重,理财、基金、股票全塞在一个App里,天天给你推送算法推荐;要么太轻…

2026/10/20 23:24:57 阅读更多 →
Flink多流合并算子详解:UNION、CONNECT、CoGroup与JOIN的选型与实战

Flink多流合并算子详解:UNION、CONNECT、CoGroup与JOIN的选型与实战

写了几年Flink作业,发现好多人在多流处理这块还是凭感觉选API。订单流来了,支付流来了,库存流来了,想都没想就union()一把梭,跑出来的数据对不上账,只能半夜爬起来看日志。其实Flink的多流合并算子不是简单…

2026/10/20 23:24:57 阅读更多 →
人机协同学术写作:从白屏恐惧到全流程提效的完整指南

人机协同学术写作:从白屏恐惧到全流程提效的完整指南

最近总有人问我:“你写论文是不是也用AI?”我的回答很统一:用,但不是你们想的那种用法。我不是把题目扔给AI让它替我写,而是把它当成一个特别能加班、特别能抬杠、特别擅长把一句废话扩成三页纸的写作搭子。真正的学术…

2026/10/20 23:23:57 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/20 20:43:59 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →