从60到150 t/s:Strata推理栈与INT4量化在48G显存上的实战调优
1. 先说说那三秒149.7 t/s 砸到眼前那天晚上我蹲在测试机前面盯着终端里不断滚动的数字一时没回过神来。屏幕上清清楚楚写着“149.7 t/s”。按标题里的说法就是那套组合——内部代号 Strata 的推理栈加上一个叫 qwen3.8-next-flash 的开源对话模型再配上一张第三方改出来的 48G 显存版旗舰卡。为了方便打字下文我都简称模型为 Q38F推理引擎就叫 Strata。这个速度是什么概念一秒种吐 150 个 token中文内容大概对应每分钟 4500 到 6000 字。普通人阅读速度每分钟也就 300 到 600 字也就是说模型生成文字的速度比我读文字的速度还快十几倍。你还在读上一句它已经写了七八句。我第一次看到这个数字时“眩晕瘫坐在地”不算夸张因为前几分钟它还在 60 t/s 左右晃荡我以为是显存或供电出问题正准备去抓日志。后来复盘核心原因很清晰Strata 把权重量化压到了 INT4Flash 版模型本身又做过剪枝和注意力层改造再配合分页 KV Cache整体吞吐自然就上去了。整个调优链条并不复杂真正有价值的反而是一些容易忽略的硬件细节和参数选择。这篇记录我就按当时的操作顺序写出来里面有我的第一次踩坑也有最后稳定的复现步骤希望能帮到正在折腾 48G 大显存推理的朋友。1.1 一个让人往前翻记录的数字先别急着羡慕“150 t/s”背后有个容易被忽略的事实这个速度是“生成阶段”的稳定解码速度不是“首字延迟”。所谓解码速度就是模型已经看到完整输入开始一个个往外蹦 token 时的速度。首字延迟取决于输入提示词的处理时间而解码速度主要看显存带宽和计算单元利用率。我用 Strata 启动时打印的日志很清楚地标明了这两项Prompt Processing 是 4200 tokens/s 左右Decode 稳定在 149.7 tokens/s。如果你的目标是聊天机器人式的对话体验真正影响你“爽不爽”的反而是首字延迟一两百毫秒的停顿人几乎无感。如果目标是把一个大文档从头到尾总结出来那么解码速度决定你要等多久。所以这篇博客说的 150 t/s准确一点叫“持续生成 150 t/s”。这个数字对 3.8B 级别模型来说确实高但不是魔幻那种高而是通过量化、批处理、注意力优化后能稳定压出来的水平。后面我会一步步演示到底改了什么才拿到这个结果。1.2 三秒背后其实是三个独立变量很多人会把“快”归结于某个单一原因其实这是三件事同时叠出来的第一模型本身适合跑。Q38F 这版 Flash 权重不是简单把原始模型换一种格式保存它经过了知识蒸馏和结构剪枝参数量比同系列基础版小了不少注意力头的计算也做了简化。小模型本来就走得快这是基础。第二显卡显存够大。48G 是我这台改装后的旗舰卡的规格原版通常是 24G。显存大不是说“大就一定快”但大显存能装下全量权重、大 batch、长上下文 KV Cache不需要频繁换入换出。模型和缓存都在显存里一动不动计算单元才能全速跑。第三推理框架的优化到位。Strata 启用了 FlashAttention、分页 KV Cache、CUDA Graph还加了一个小型草稿模型做投机解码。这些优化单独拎出来每一项都只提升 20% 到 40%合在一起就有机会翻倍。三件事少任何一件最后都到不了 150 t/s。如果只把 Q38F 扔进一个普通推理框架用 FP16 跑大概就是 55 到 70 t/s 的水平。所以别把功劳全记在一张卡上框架和模型也是功臣。2. 为什么是 48G 而不是原版 24G显存视角下的推理选择说实话一开始我并不太信“48G 魔改版旗舰卡”这种产物。又不是官方规格第三方把显存颗粒从 24G 翻到 48G听上去就像什么灰色产业链。但这次实测下来我对这种改卡的看法改变了如果能解决散热和供电问题48G 版本对本地推理玩家来说确实好用尤其当你不想把 batch 开得特别小的时候。2.1 “24G 不够用”反而是正常情况Q38F 的 INT4 量化权重大约只有 2 到 3GB单看模型本身24G 显存绰绰有余。但推理不是只有权重还有 KV Cache。上下文越长KV Cache 越大。我测试时直接上了 16K 上下文并用连续批处理同时跑 32 路请求KV Cache 峰值就到了 10GB 左右再加上 CUDA Context、中间激活值、临时缓冲区显存占用能摸到 22G 以上。说白了24G 是“能跑”48G 是“跑得从容”。我一个同事 A 同学同样跑 Q38F用原版 24G 卡单路对话没问题一旦并发几路且上下文拉长系统就开始把旧的 KV Cache 扔掉或者降低 batch。速度掉到 80 t/s 不说偶尔还会报显存不足。我这台 48G 版本从 8K 上下文加到 16K速度只掉了 5% 左右差距就这么来的。2.2 显存带宽才是解码速度的天花板大显存解决的是“装得下”真正决定“吐得快”的是显存带宽。推理生成一个 token 时计算单元必须把权重从显存搬运到寄存器再做矩阵乘法每生成一个 token理论上就要完整读取一遍全部相关权重。这个过程极依赖带宽。我拿 Q38F 的 INT4 权重估算了一下假设权重大约 2GB显存带宽约 1TB/s那么每生成一个 token 的理论读取时间约 2 毫秒换算下来理论上限能到 450 到 500 t/s。150 t/s 离这个上限还有距离说明瓶颈从“权重搬运”转移到了注意力计算、调度开销和线程同步上。这也解释了为什么 FlashAttention 对最终吞吐影响这么大它没减少权重读取但大幅减少了中间矩阵的读写和显存占用。配置项影响方向对最终速度的作用显存容量能否装下模型和长上下文决定能不能跑不直接决定跑多快显存带宽权重搬运速度决定解码速度上限计算单元利用率矩阵乘法和注意力计算效率决定实际速度离上限多远量化精度权重体积间接减少带宽消耗这张表是我排查问题时的指导思想。一旦某个指标上不去先看是哪个维度卡住了而不是盲目加参数。2.3 魔改卡到手后要做的三件事如果你也想搞一张 48G 版本来跑推理我建议到手后先做三件事别急着跑模型。第一用手写工具跑一遍长时间显存压力测试至少连续跑半小时观察显存温度和热点温度。魔改卡容易在供电和显存散热上出问题我这张卡跑 10 分钟温度就稳定在 82 度表面看正常但如果超过 90 度速度会明显触发降频。温度墙一到150 t/s 马上就变 110 t/s。第二确认 PCIe 通道没有降速。改卡之后插槽接触可能不稳用命令查看当前链路速度和实际使用速度确保不是 x1 模式。我见过有人折腾半天最后发现卡只是插在了一个被占用的 X4 插槽上带宽砍掉一大截。第三用小模型先验证整条推理链路。我建议先跑一个几百 MB 的小模型确认输出正常再上 Q38F。这样能把驱动问题、框架问题和模型问题分开不然一出错根本不知道是谁的锅。3. Strata 部署与一次跑通实测这套推理栈我内部叫 Strata实际就是从开源推理社区拉下来改过一层调度逻辑的玩意儿。部署并不复杂难的是参数选择。我全程用 Docker 容器跑避免把宿主机的 CUDA 环境弄乱也方便反复回滚。3.1 环境清单和启动前检查我用的基础环境大概是这样容器里是 CUDA 12.x搭配 PyTorch 稳定版额外装了 FlashAttention 的编译版本。另外预留了 16GB 系统内存给 CPU 端的 tokenizer 和调度线程避免内存交换拖慢速度。启动前我会用nvidia-smi确认当前显存和驱动再看一眼功耗上限。48G 版通常改过供电功耗墙可能比原版高也可能被限制得更死。如果发现功耗墙锁在 300W 附近建议先把功耗上限解开否则解码速度会被压得很惨。改卡带来的一个坑是显存颗粒容量变了但显卡 BIOS 里的显存配置可能没更新干净。偶尔会出现系统识别 48G但实际访问后半段显存直接报错或者计算时随机崩溃。遇到这种情况先更新显存对应的固件或者联系改卡方确认颗粒型号再刷对应版本的 BIOS。3.2 我自己用下来的启动参数为了让你能直接参考我贴一份去掉业务细节的启动命令。Strata 是我这边改过的框架参数名可能和其他框架不完全一样但思路通用strata serve Q38F/Q38F.gguf \ --device cuda:0 \ --quantization int4 \ --context 16384 \ --kv-cache paged \ --flash-attention on \ --cuda-graph on \ --draft-model Q38F/Q38F-Tiny-Draft.gguf \ --draft-limit 6 \ --prefix-caching on \ --batch-size 64 \ --continuous-batching on \ --tensor-parallel 1这里比较关键的是--kv-cache paged不管框架叫什么这一项都必须开。Paged KV Cache 说白了就是把缓存像内存分页一样管理不用一次性申请一整块连续显存而是按页分配这样长上下文场景下显存碎片会少很多。--flash-attention on也是必须的它能把注意力计算里的中间矩阵省掉既省显存又省带宽。--cuda-graph on则把解码的重复计算步骤固化减少 CPU 和 GPU 之间的调度开销。这几项合起来比我第一次只开量化的时候快了接近一倍。3.3 第一次跑通时的真实数据我按上面的命令启动后第一次完整跑长文本生成结果非常有意思。首字延迟只有 220 毫秒解码速度从起步的 105 t/s 慢慢爬升到第 10 个 token 之后就稳定在 150 t/s 附近。最高出现过 151.6 t/s但那是短促的瞬时值不太稳定。同时我观察显存占用权重占 2.4GKV Cache 分页后实际用了 7.8G加上 CUDA 自己占的缓冲整体大约 11G。对比 FP16 跑法显存占用要小一半以上这就是量化和 FlashAttention 共同省出来的空间。不过第一次跑也不是没有问题。我遇到的第一个坑是磁盘读取权重模型时的速度很慢加载过程花了 40 多秒。后来发现是因为我图省事把模型放在机械硬盘上。如果你要经常切换模型建议丢到 NVMe SSD 里加载时间能压到 8 秒以内。这一步虽然不影响解码速度但影响使用体验。另一个坑是 16K 上下文下第一次生成长文本到 8000 token 左右时速度会掉到 130 出头。排查下来不是显存不够而是我的调度线程只配了 4 个前面提前做分录时 CPU 跟不上。把线程数调到 8 之后长文本生成速度就稳在 148 到 150。这个教训后来我总结成一句话生成瓶颈可能在 GPU但调度瓶颈有时候在 CPU。4. 把速度从 60 压到 150 的五步调优链条第一次跑 Q38F 时我用的是最普通的 FP16 精度加默认注意力速度只有 58 t/s。从 58 到 150 不是一步到位的而是五步操作叠出来的。每一步单独看都简单顺序很重要先压权重体积再优化注意力再上投机解码然后处理吞吐调度最后把功耗和散热稳住。4.1 第一步量化把权重压到 INT4量化是最直观的一步。同样的模型FP16 权重约 7.5GBINT8 是 3.8GBINT4 是 1.9GB 左右。权重体积小单次 token 生成需要读取的字节就少解码速度自然提升。我在 INT4 下实测速度直接翻了一倍。但量化不是无损的某些对数值敏感的任务比如代码生成和数学推理输出质量会略有下降。我的处理办法是日常聊天和文案生成用 INT4写代码或跑专业题目时切回 INT8。Strata 支持运行时切换量化权重而不必重启这个功能非常舒服。4.2 第二步FlashAttention 与分页 KV Cache量化解除了带宽压力但注意力计算又开始吃显存。普通注意力会把 Q、K、V 之间的中间矩阵全部算出来存在显存里长上下文中这部分开销不小。FlashAttention 改变了计算顺序把中间结果按分块处理不保留全局大矩阵省下了显存也省下了读写等待。分页 KV Cache 负责的是解决显存碎片问题。长上下文下 KV Cache 不断增长如果不分页显存里要预留一整块连续空间实际利用率不高分页之后缓存按小块分配需要多少用多少长期跑不会有越跑越慢的毛病。这一步做完我的 16K 上下文测试就不再掉速。4.3 第三步投机解码投机解码是这次提速里最“投机取巧”的一步。思路是先用一个很小的草稿模型快速猜接下来 6 个 token再用完整的 Q38F 一次验证这 6 个 token对的直接接受错的从头修正。大多数情况下草稿模型猜得很准等于一次前向计算产出了多个 token单位时间吞吐自然上去了。我用的草稿模型是单独蒸馏出来的一个 0.6B 小模型和 Q38F 同源所以猜测准确率不错。加了--draft-limit 6之后解码速度从 118 提到了 139。这不是所有场景都适用如果草稿模型和主模型差距太大反而浪费时间所以建议先测一版不对劲就把值调小甚至关掉。4.4 第四步动态批处理与 CUDA Graph单一路请求时显卡计算单元往往喂不饱大量时间在等待。连续批处理的思想是让多个独立请求同时在同一个模型上排队把计算单元填满。比如我用 batch-size 64服务 32 条会话请求平均下来每条请求可能只慢了一点点但总吞吐大幅上涨。CUDA Graph 则是把解码的计算步骤提前录制成一张静态图后续反复执行省掉了每一步都重新发起内核启动的开销。这一步对短文本生成的提升尤其明显因为短文本里调度开销占的比重大。实际操作中这两项都是在服务端场景才能完全发挥单机单请求用到的收益有限。4.5 第五步供电、散热与功耗墙最后一步最容易被忽视把显卡供电限制和散热稳住。我在默认状态下测过温度一超过 85 度速度就开始波动90 度以上直接掉 20%。后来我把功耗上限调到原卡支持的较高档位同时把风扇曲线调成转速 70% 以下随温度线性上升温度稳定在 78 度左右速度波动就非常小了。还有一个经验不要一边测生成速度一边给卡跑其他任务。有一次我开着浏览器视频渲染测试解码速度直接掉了 15 t/s。显卡这东西计算单元和显存带宽都是共享的你想测出稳定跑分就得给它一个干净环境。5. 复现 150 t/s 之前先想清楚“瞬时速度”和“有效速度”如果说前三部分是“怎么跑得快”那这一部分是我最想提醒你的测试出来的瞬时速度和实际可用速度是两码事。150 t/s 是我调优之后在短时测试里反复能看到的数字但落到真实应用里有效速度还会受到很多因素影响。5.1 再漂亮的跑分也扛不住输入输出上下文频繁切换如果你的使用方式是“一次问一句答完就结束”那 150 t/s 体验确实流畅。但如果你像我一样经常开着一大段代码上下文来回追问那就必须考虑到前缀缓存。我开了--prefix-caching之后重复提问同一段代码时系统不用重新解析前面的公共部分首字延迟能降低 30% 以上。如果不开启前缀缓存长上下文来回追问的成本会明显增加。因为它每次都要重新计算前面所有 token 的注意力哪怕你的解码速度还是 150整体体验也会被拉慢。所以我会建议你在复现提速之后立刻测试一个长上下文多轮对话看是不是稳定。5.2 小心那些“跑分专用”参数组合我现在看到一部分新手容易陷入一种误区为了刷跑分把 batch-size 拉得特别大上下文设到 32K然后把单请求场景的延迟扔掉不管。这样总吞吐是高了但每一个独立用户都在排队等输出体验并不好。我自己实际使用会分两套配置一套是服务端高并发配置追求总吞吐batch 开到 64适合同时服务几十个用户另一套是个人交互配置batch 压低到 8解码速度 120 t/s 左右但每次请求的首字延迟很低来回对话体感更好。两套配置我都实测过前一套跑分很好看后一套用起来更舒服。使用场景batch-size上下文长度有效速度首字延迟运行跑分证明性能648192149.7 t/s低多人共享服务3216384138 t/s中个人日常对话88192121 t/s很低5.3 我最终保留的日常配置折腾完这一圈我日常用的配置其实不是极限值。我把跑分时那套参数留下了毕竟作为一个技术记录150 t/s 这个数据确实能证明 Strata 和 Q38F 的潜力。但真正放在工作流里的配置是INT8 量化、16K 上下文、paged KV cache、flash-attention、draft-limit 4、batch-size 16解码速度稳定在 125 t/s 左右。选择这个组合原因很简单它比我用 INT4 时更稳即使在代码生成场景也几乎没有乱码首字延迟保持在 250 毫秒以内对话没有“卡一下才回复”的感觉显存占用长期在 13G 左右就算同时开两个模型切着用也绰绰有余。另外还有一个小技巧是我踩了很多次坑之后总结出来的测完速度不要急着下发新配置先让它跑一段 30 分钟的长任务。速度漂亮的配置可能十分钟后就因为显存碎片或温度墙掉到 90 t/s真正可用的配置是那种跑了半小时仍然纹丝不变的。150 t/s 是让人“眩晕”的峰值但只有稳定在 120 以上并持续不掉的配置才能让你在办公桌前舒舒服服坐一下午。我对这套组合的期待就很朴素它每次打开都能用温度可控输出不崩就够了。

相关新闻

Java毕设实战:基于爬虫的题库自动生成系统完整解析

Java毕设实战:基于爬虫的题库自动生成系统完整解析

简介:毕设项目-利用爬虫的题库自动生成系统 是面向计算机相关专业本科生毕业设计场景的完整工程,适用于需要快速搭建可运行题管理平台的Java开发者。针对题库建设中题目来源单一、手工录入效率低等问题,整体以Java为后端核心、Vue为管理端页面…

2026/10/14 4:24:51 阅读更多 →
机械原理课程设计洗瓶机:凸轮机构实现推头匀速回程三倍速

机械原理课程设计洗瓶机:凸轮机构实现推头匀速回程三倍速

简介:基于机械原理的洗瓶机课程设计资料面向机械专业本科生,完整呈现从功能分解、运动方案设计到执行机构选型的全过程,适合完成课程设计或复习机构学知识时参考。内容围绕瓶子推进、旋转与刷洗三大动作展开,明确了推进距离600mm、…

2026/10/14 4:24:51 阅读更多 →
旅游线路查询接口分页漂移导致数据抓取错位的排查与规避

旅游线路查询接口分页漂移导致数据抓取错位的排查与规避

1. 一个看似普通的查询需求,怎么就翻车了事情是这样的,前阵子帮一个做旅游内容聚合的朋友看他们后台的数据对账问题。他们有一个模块是抓取某旅游线路平台(就是那种典型的“黑马旅游网”风格的线路查询站点)的线路数据&#xff0c…

2026/10/14 4:24:51 阅读更多 →

最新新闻

EPLAN电气项目图纸高效读图与安全复用指南

EPLAN电气项目图纸高效读图与安全复用指南

做电气设计这些年,我经手过不少EPLAN项目文件,有自己从头画的,也有从同行手里拿到后二次改造的。一个很直观的体会是:同样是"分享图纸",文件与文件之间的价值差距可以非常大。有的图纸打开就能当标准模板用&…

2026/10/14 5:12:02 阅读更多 →
多相流数值模拟实战:从水管到沙滩的建模选型与参数调试

多相流数值模拟实战:从水管到沙滩的建模选型与参数调试

做了十几年流体仿真,我越来越觉得多相流数值模拟是最能体现“流体魔法”的领域。一个水龙头看似平稳的水柱,背后是气液两相在高剪切下的剧烈纠缠;一片安安静静的沙滩,底下每分每秒都有颗粒在随波迁徙。你盯着云图上的气泡上升和沙…

2026/10/14 5:12:02 阅读更多 →
P2G与碳捕集耦合的热电联供综合能源系统双目标优化复现

P2G与碳捕集耦合的热电联供综合能源系统双目标优化复现

1. 复现项目的本质:搞懂这篇工作到底在优化什么做综合能源系统方向的人,对“考虑P2G和碳捕集设备的热电联供综合能源系统运行优化”这个题目应该不陌生。这是一篇发表在Energy上的SCI一区论文的复现任务,原文章本身的工作量集中在两个点上&am…

2026/10/14 5:12:02 阅读更多 →
深度神经网络训练核心逻辑:从原理到实战的完整指南

深度神经网络训练核心逻辑:从原理到实战的完整指南

1. 从“能跑通”到“真明白”:深度神经网络训练的核心逻辑拆解很多人学深度学习都有个类似的经历:跟着教程把模型搭起来,数据喂进去,损失曲线也能往下走,但一旦换个数据集、改个任务,就完全不知道从哪儿下手…

2026/10/14 5:12:02 阅读更多 →
CF1420D 区间计数与扫描线:组合数学在算法竞赛中的实战应用

CF1420D 区间计数与扫描线:组合数学在算法竞赛中的实战应用

CF1420D Rescue Nibel! 是我最近复盘次数最多的一道区间计数题。名字带点魔幻气息,但模型的本质非常朴素:给你一堆区间,让你从中选恰好 k 个,使得它们有公共交点。乍一看以为是区间贪心,实际却是组合数学和扫描线的混合…

2026/10/14 5:12:02 阅读更多 →
Cocos Creator 水波纹效果:Shader 扰动与交互涟漪实现

Cocos Creator 水波纹效果:Shader 扰动与交互涟漪实现

简介:这份资源是面向Cocos Creator开发者的一套水波纹特效项目源码,适合具备一定Shader与脚本基础、希望在游戏中实现动态水面、魔法或雨滴等视觉效果的开发者参考。压缩包共3个文件,以inscode工程配置、html页面与gitignore为主,…

2026/10/14 5:11:01 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 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/13 22:01:27 阅读更多 →
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/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练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/12 18:11:17 阅读更多 →