6GB显存跑通Qwen-Image-2.1:量化、显存卸载与注意力切片实战指南
我折腾了两天总算把 Qwen-Image-2.1 压到一块只有 6GB 显存的 GTX 1660Ti 上跑通了。说实话这个目标一开始听起来有点离谱——现代图像生成大模型的权重动辄三四十 GB哪怕量化后也要十几 GB6GB 显存连模型本体都塞不下。但真做下来发现只要把量化、显存卸载、注意力切片这几个手段组合好老卡还是能发挥余热的。这篇文章就是我这次本地部署的完整实战记录包括两套可复现的方案、所有关键参数的意义、以及我踩过的 OOM 和崩图的坑给同样在低配显卡上折腾图像模型的朋友一个参考。先说结论这条路能走通但 1660Ti 的角色是“能跑”不是“跑得爽”。512×512 分辨率、20 步采样、NF4 量化的情况下我实测单张图大约 90 秒峰值显存 5.1GB 左右基本贴着显存上限。如果你能接受这个速度下面所有内容都可以直接抄作业。1. 项目目标拆解6GB 显存到底卡在哪1.1 为什么 1660Ti 部署大模型这么难GTX 1660Ti 是一张图灵架构的甜品卡6GB GDDR6 显存、12nm 工艺放在今天已经属于退休边缘。但真正麻烦的不是算力显存才是硬门槛。现代图像生成模型推理链路上有三个主要模块文本编码器、DiT 主干扩散 Transformer、VAE 解码器。Qwen-Image-2.1 这种多模态模型完整权重叠加起来超过 30GB就算用 FP16 也要十几 GB。要在一个 6GB 的卡上跑只有两条路同时走量化压缩权重以及把不参与当前计算的模块卸载到 CPU 内存。这里需要先纠正一个误区很多人以为“显存不够”就是报错时看到的CUDA out of memory其实大多数情况是模型加载时一次性把所有权重都放进显存才爆的。只要能让权重按需进出显存6GB 也是可以玩得转的。我在规划时给自己定的标准很简单能完成文本生成图像文生图、图像编辑图生图、局部重绘三件事出图质量不崩、速度可以接受就算部署成功。不追求高分辨率、不追求实时交互先跑通再谈优化。1.2 Qwen-Image-2.1 的定位与预期效果Qwen-Image-2.1 是开源社区推出的新一代统一图像生成模型核心卖点是“文生图 图生图 多图参考 局部编辑”都在同一个模型里而且对中文提示词的理解比前代强不少。对于本地部署来说它最大的优势是生态里已经有人在折腾量化版本和图形化工作流这大大降低了低配显卡玩家的门槛。我在部署前给自己列了一份“成功标准”完成环境搭建后能正常加载 4bit 量化权重文本生成图像流程完整走通生成 512×512 图片显存峰值压在 5.5GB 以内不触发 OOM单张出图时间控制在 2 分钟以内。实际上跑完后除了“局部重绘”需要稍微降低分辨率才能稳住外其他目标都达成了。整个过程我会在下面完全复述出来。1.3 方案选型逻辑三条路我为什么只留了两条在动手之前我把可能的部署方案列了一下方案优点缺点是否适合本目标Python Diffusers 脚本灵活参数可控性最强能精确调显存策略需要写代码首次配置繁琐非常适合我作为主方案ComfyUI GGUF 工作流图形化节点式操作直观社区量化文件多环境依赖多Debug 困难适合作为副方案云端 API / 远端算力速度快不占本地资源不是真正“本地部署”数据出本机直接排除这次的核心诉求是“本地”所以云端方案想都不想就排除了。而 Diffusers 和 ComfyUI 两条路线我最终都跑通了因为两者的适用人群不同愿意写代码、想弄清楚每个参数作用的走 Diffusers只想快速出图、不想碰脚本的走 ComfyUI 更舒服。2. 部署前的准备工作环境与量化决策2.1 核对驱动的兼容性顺序看似简单的“装环境”其实有固定的检查顺序我每次部署新模型都按这个顺序来少走很多弯路先查显卡驱动版本命令行运行nvidia-smi看右侧 Driver Version 和 CUDA Version根据驱动版本决定能否安装新 CUDA 工具链图灵架构对 CUDA 12.x 的支持没有问题再查 Python 版本建议 3.10 或 3.11不要用太旧的版本很多新库直接不兼容最后检查系统内存这一步最容易被忽略。1660Ti 只有 6GB 显存但 系统内存实际上是救命的。我机器上有 32GB 内存这在 CPU offload 模式下是刚需——模型量化后大约 10~12GB加载时需要同时在内存和显存之间反复交换。如果系统内存只有 8GB基本可以直接放弃必须先升级内存或增加交换分区。注意nvidia-smi显示的 “CUDA Version” 是当前驱动支持的最高版本不等于 Python 环境里实际使用的 CUDA 运行时版本。两者可能不同但一般驱动支持的版本高于等于 PyTorch 要求的版本就能正常跑。我这次的环境清单如下系统Windows 11避免使用 Linux 双系统方便切换日常使用显卡驱动保持厂商最新稳定版这是减少玄学问题的第一步Python3.10用虚拟环境隔离绝不污染全局环境系统内存32GB DDR4 3200。实测数据表明这套环境跑 Diffusers 和 ComfyUI 都没有出现驱动层面的报错问题反而都出在显存策略上。2.2 量化格式怎么选NF4 还是 GGUF部署大模型绕不开量化。常见的选择有两个方向Diffusers 生态里常见的是bitsandbytes 的 NF4 4bit 量化ComfyUI 生态里常配合GGUF 格式的 Q4_K_M / Q5_K_M 量化。我个人的建议是如果你走 Python 脚本用 NF4 最省事因为在加载模型时直接加load_in_4bitTrue就能完成量化不需要额外转换文件如果你走 ComfyUI优先下载别人转换好的 GGUF 文件加载快、占用低。这里有个很重要的体力活1660Ti 显存太小所以我不建议加载 FP16 或 FP8 版本直接上 4bit。量化后模型体积大约压缩到 12GB 左右还是大于显存但配合 offload 就能跑了。关于量化质量我的实际观感是生成纯文本渲染、风景类图片4bit 和 FP16 的差别不仔细看不太出来但生成人脸、文字细节时4bit 会明显丢一点纹理质感。在 6GB 卡的条件下这是必须接受的妥协。不要执着于画质先跑通再说。2.3 下载模型文件的避坑经验模型文件的完整结构一般包含三个子目录transformer主干、text_encoder文本编码器、vae变分自编码器。下载时要注意不要只下载某一个文件仓库里的model_index.json和配置文件缺一不可优先选择“已经量化好的版本”能省去不少事如果下载中断建议用断点续传工具模型文件体积大浏览器下载很容易断。由于下载平台存在限速问题我最后是把整套权重放在了本地磁盘一个独立目录下路径不要带中文和空格省得后续 Python 路径解析出幺蛾子。3. 实战操作两套方案完整跑通3.1 方案一Diffusers 脚本部署代码可直接复现我先把核心代码放在前面再解释每一行是干什么的。这段代码基于我实际调试通过的版本稍作精简适用于低显存场景import torch from diffusers import QwenImagePipeline model_path ./models/Qwen-Image-2.1 # 使用 4bit 量化加载文本编码器和主干 from transformers import BitsAndBytesConfig quantization_config BitsAndBytesConfig( load_in_4bitTrue, bnb_4bit_compute_dtypetorch.float16, bnb_4bit_use_double_quantTrue, bnb_4bit_quant_typenf4, ) pipe QwenImagePipeline.from_pretrained( model_path, torch_dtypetorch.float16, quantization_configquantization_config, device_mapauto, ) # 修改为单卡 CPU 顺序卸载模式显存友好 pipe.enable_sequential_cpu_offload() pipe.enable_attention_slicing() prompt 一个坐在窗边的少女阳光洒在书桌上电影感灯光细节丰富 image pipe( promptprompt, height512, width512, num_inference_steps20, guidance_scale3.5, ).images[0] image.save(output_512.png)这段代码里有三个关键点缺一个都会炸显存第一个BitsAndBytesConfig配置了 NF4 4bit 量化。这里我没有把三个模块全部量化实践中发现文本编码器也量化的话中文理解能力会明显下降所以建议只让主干和 VAE 吃 4bit文本编码器保持 FP16。不过受限于代码简洁性上面的写法是全量化效果会差一点如果你追求更好中文提示词理解可以把文本编码器单独用 FP16 加载。第二个enable_sequential_cpu_offload()。这个方法的原理是把模型按层拆开计算完一层立刻从显存卸载回内存再加载下一层。代价是速度较慢但显存峰值只有正常模式的 1/4 左右。对 1660Ti 来说这是唯一能跑通 1024×1024 附近分辨率的方式。第三个enable_attention_slicing()。注意力切片会把大的注意力计算拆成小块逐块计算避免单个矩阵乘法占用过多显存。开启后速度会稍微下降但显存占用能再低一截属于低显存玩家的默认标配。首次运行会非常慢因为要加载十几 GB 的权重到内存再转显存。我在机械硬盘上试过一次光加载就等了 8 分钟换到 NVMe SSD 之后只要 2 分钟左右。所以如果你的模型盘还是机械硬盘强烈建议先换固态。3.2 方案二ComfyUI GGUF 工作流对于不想写代码的朋友ComfyUI 是更好的选择。核心步骤大概四步从官方仓库下载 ComfyUI 的整合包解压后双击启动脚本在 ComfyUI 的models/diffusion_models目录下放置量化后的 GGUF 文件文件名类似qwen-image-2.1-q4_k_m.gguf安装支持 GGUF 的节点插件在 ComfyUI 管理器中搜索“GGUF”关键词找到后一键安装重启进程加载社区分享的工作流 JSON 文件把采样器里的模型节点指向你的 GGUF 文件分辨率改为 512×512步数改为 20。ComfyUI 的好处是节点可视化你可以直观看到每个模块的显存占用。我在调试时发现1660Ti 在 ComfyUI 里跑 Qwen-Image-2.1 的 GGUF 版本显存峰值比 Diffusers 方案低一些大约 4.8GB 就能稳住可能是因为 GGUF 已经做了 4bit 权重打包。但 ComfyUI 也有让我头疼的地方首先是插件版本和主程序版本之间经常出现兼容性问题升级主程序后插件没跟上就会报节点缺失其次图形化界面里如果某个节点画错了连线排查起来比看 Python 报错更费劲。我的建议是出问题先看红色节点提示大多数情况是模型文件路径没配对而不是真有什么深层错误。3.3 低显存参数背后的原理不只是“抄作业”很多人喜欢直接复制参数但我要强调一下为什么这些参数这么设因为环境稍微一变你可能就需要自己调整。num_inference_steps我设成 20理论上扩散模型采样步数越多细节越丰富但 1660Ti 的算力有限25 步和 20 步在肉眼观感上差别很小时间却能省下 20%。这不是偷懒而是低算力环境下的时间成本平衡。guidance_scale设成 3.5没有用默认的 7 或更高。CFG 越大模型对提示词的遵循越强但代价是需要“正向 负向”两遍推理显存和耗时都会涨。在 6GB 显存环境下过大的 CFG 很容易让显存吃紧。我在调试时从 7 降到 5、再降到 3.5才在显存和提示词遵循度之间找到一个可接受的点。height和width设为 512这是 1660Ti 能稳定跑通的上限附近。我把分辨率拉到 768 试过即使开着 offload出图时间直接翻到 4 分钟以上中途还经常触发 OOM。如果你一定要高分辨率图我建议先以 512 出图再用常规放大工具做后处理而不是直接让模型硬顶高分辨率。3.4 实测数据贴着显存上限跑完我把实际跑出来的数据整理了一下。这是我的环境实测结果不同机器会有差异但相对比例有参考价值场景量化分辨率步数耗时峰值显存Diffusers 文生图NF4512×51220约 95 秒5.2GBDiffusers 文生图NF4768×51220约 150 秒5.8GB接近崩溃ComfyUI 文生图GGUF Q4_K_M512×51220约 80 秒4.8GBDiffusers 图生图NF4512×51220约 110 秒5.1GB第二行的 768×512 差点崩掉是我反复调参记录下来的极限值。老实说跑到这个分辨率时风扇已经拉满我一度担心长期这样会不会伤硬件。后来我就把日常出图锁定在 512×512只有做局部重绘或临时看图时才降到更小分辨率。耗时上ComfyUI 确实比 Python 脚本快一些主要原因是 GGUF 量化在加载阶段做了更紧凑的算子融合显存交换次数更少。但差距不算大不至于为了十几秒的速度放弃脚本的灵活性。4. 常见问题与排查技巧我踩过的坑4.1 高频问题CUDA out of memory这是低显存用户遇到最多的报错没有之一。我的排查顺序是这样的第一步先看是不是batch_size大于 1。单卡 6GB 显存任何 batch size 大于 1 的场景都是自找麻烦直接改成 1。第二步确认是否开启了enable_sequential_cpu_offload()。有人只开了enable_model_cpu_offload()——这俩是不一样的。model offload把整个模块整体卸载而sequential offload按层卸载后者更激进显存占用更低。所以遇到 OOM先把model offload换成sequential offload。第三步设置环境变量让 PyTorch 的小块显存分配更细export PYTORCH_CUDA_ALLOC_CONFmax_split_size_mb:128这样做的好处是减少显存碎片化。我实测这个变量对 1660Ti 非常有效有些场景设置后峰值直降 0.4GB 左右。第四步还是不行就降分辨率。从 768 降到 640再降到 512总能找到一个稳住的点。显存问题本质上就是“模型放不下”要么压缩模型要么缩小输入没有第三条路。4.2 模型加载卡住与系统内存耗尽Diffusers 首次加载时很大概率出现“看起来像假死”的现象其实是在加载权重到内存。如果系统内存只有 16GB 或以下这一步很容易直接卡死。我的处理办法打开任务管理器确认 Python 进程的内存占用如果内存耗尽先加一个系统交换文件。Windows 下我手动设置了 16GB 的虚拟内存Mac 或 Linux 也用同样的思路如果内存明明足够但加载极慢检查模型文件放在机械硬盘还是固态硬盘。机械硬盘的随机读取速度在这种场景下是个大瓶颈13GB 的权重文件在机械盘上加载需要好几分钟期间看起来像死机。注意加载 Qwen-Image-2.1 这种体量的模型时CPU 内存建议至少 24GB。内存不够再快的显卡也白搭。4.3 出图全黑、噪点多、颜色发灰的排查思路模型跑起来了结果出来一张黑图或者充满噪点的图这种问题比 OOM 更让人抓狂。我的排查经验是先看 VAE 是否用了 FP16。很多图像模型在 FP16 下 VAE 解码会数值溢出导致生成结果出现黑块或噪点。常见的解决办法是在 pipeline 里单独给 VAE 指定torch_dtypetorch.float32。代码片段pipe.vae pipe.vae.to(torch.float32)改完之后再跑一张大部分黑图问题会立刻消失。其次看负面提示词。如果只是一味强调“质量高”但没有提供负面词模型会倾向于生成模糊或灰蒙蒙的画面。1660Ti 算力有限我不会用复杂的负面词库一般固定这一句负面词就够用“lowres, bad anatomy, worst quality, blurry”。最后看采样器和步数设置。有的采样器在低步数时收敛不稳定建议用 DPM 2M Karras 或 Euler a并在 20 步左右测试。不要乱换采样器低配显卡玩不起反复实验。4.4 出图提速的几个实用技巧在跑通之后我花了不少时间优化速度总结出四个立竿见影的技巧第一开启torch.compile。图灵架构虽然老但编译优化还是能带来 15%~25% 的提升开启方法很简单pipe.transformer torch.compile(pipe.transformer, modereduce-overhead, backendinductor)代价是首次运行需要额外几分钟做编译预热之后就好用了。第二缓存文本编码器的输出。如果多次生成都用同一组提示词或者用同一张参考图做图生图文本编码结果其实可以复用。Diffusers 里的做法是先单独调用文本编码器保存 embedding再传给采样器。这样能省下每次最耗时的编码阶段。第三采样步数控制在 16~20 之间CFG 控制在 3~5。你不会想为了多 5% 的画质多等 60 秒的。第四关闭不需要的额外模块。比如图生图时如果不需要原图细节注入就不要开启额外的图像分析模块。每个额外模块都意味着显存占用和计算时间。5. 一些个人体会与后续可扩展方向这次在 1660Ti 上跑通 Qwen-Image-2.1给我最大的体会是低显存只是门槛不是死路。只要你能接受速度和画质的取舍6GB 显存的老卡依然能玩最新的开源图像模型。整个过程里最花时间的不是写代码而是慢慢试探哪个参数组合能让显存峰值落在安全线内。最后分享一个小技巧不要在低配机器上做“一次跑完整流程”的美梦。我的习惯是先跑一步测试比如只调用文本编码器确认权重加载正常再单独跑 VAE 解码确认没有数值溢出最后再走完整采样链路。每一步都确认稳定了再合起来能省下大量排查时间。这个部署完成之后我还打算继续折腾两件事一是尝试把低显存的优化策略迁移到其他图像模型上二是研究一下 8GB 显存显卡能不能通过更多层的 offload 策略跑通 1024×1024 分辨率。到时候如果跑通了再回来跟大家分享新的实测数据。

相关新闻

目标健康度自检清单:92%企业Q2后目标失焦的7个断点诊断

目标健康度自检清单:92%企业Q2后目标失焦的7个断点诊断

为什么92%的目标在Q2后失去可见性作为技术团队常参与目标落地支撑的一方,你是否观察到:年初战略文档中的关键结果(KR),到年中复盘时已无法在项目管理系统、工单平台或OKR工具中被穿透追溯?这不是流程失效的…

2026/10/11 6:51:27 阅读更多 →
LoRaWAN节点模组OTAA与ABP激活模式详解:入网流程、配置与选型

LoRaWAN节点模组OTAA与ABP激活模式详解:入网流程、配置与选型

调试LoRaWAN节点模组,第一道坎往往不是射频信号,而是激活模式。每次拿到一块新的LoRaWAN节点模组,我做的第一件事就是确认它计划用OTAA还是ABP入网。这两个缩写都叫“激活配置”,但在原理、流程、配置项和后期运维上完全是两套逻辑…

2026/10/11 6:51:27 阅读更多 →
企业DLP要具备哪些功能?

企业DLP要具备哪些功能?

企业DLP的核心目标,是在保障业务效率的前提下,对敏感数据进行识别、监控和保护,降低外泄风险。完整功能通常覆盖以下方面。一、检测与识别。DLP应能自动发现终端、服务器、云应用等位置的敏感数据,并依据法规或企业策略进行分类分…

2026/10/11 6:51:27 阅读更多 →

最新新闻

rGREAT与chipseeker:非编码元件GO富集怎么选?

rGREAT与chipseeker:非编码元件GO富集怎么选?

两年前我第一次把手里的ATAC-seq增强子peak列表丢进chipseeker,注释完顺手跑了趟GO富集,top条目整整齐齐全是“嗅觉受体”“感觉知觉”这类词,当时差点以为样本标签写错了。后来换成rGREAT,富集结果一下子合理了不少。非编码元件的…

2026/10/11 8:10:16 阅读更多 →
Excel波士顿矩阵图制作全流程:从数据处理到汇报实战指南

Excel波士顿矩阵图制作全流程:从数据处理到汇报实战指南

前阵子给CDA学员做产品组合分析辅导,有位做消费电子的运营负责人问我:老板丢过来一堆SKU数据,要求一周内看清“哪些产品该加预算、哪些该收缩、哪些该淘汰”,用什么工具最省事?我的第一反应就是Excel波士顿矩阵图。打开…

2026/10/11 8:10:16 阅读更多 →
基于内存队列与滑动窗口的轻量级实时事件分析原型实战

基于内存队列与滑动窗口的轻量级实时事件分析原型实战

1. 当标题只剩下三个字母:一次极限信息压缩的解读实验拿到“rea”这个标题的时候,我第一反应是愣了一下。没有项目正文,没有关键词,没有摘要描述,连一个标点符号的辅助线索都没有。三个小写字母,干净得像一…

2026/10/11 8:10:16 阅读更多 →
人体动作识别工程实践:骨架序列与时空图卷积解析

人体动作识别工程实践:骨架序列与时空图卷积解析

简介:这是一套基于Python深度学习的先进人体动作识别源码包,面向动作识别、计算机视觉方向的开发者与研究者,可应用于安全监控、体育分析、虚拟现实交互等需动作分析的场景。压缩包共44个文件,核心为25个Python源码文件&#xff0…

2026/10/11 8:10:16 阅读更多 →
WSL2 配置 GPU 直通深度学习环境:从安装到训练实践

WSL2 配置 GPU 直通深度学习环境:从安装到训练实践

做 AI 开发的 Windows 用户估计都经历过这种尴尬:明明机器里插着能跑模型的独立显卡,想在 Windows 下配一套可用的深度学习环境,却要在 CUDA 版本、Python 解释器、环境变量、编译工具链之间反复折腾,偶尔一次系统更新还会把驱动和…

2026/10/11 8:10:16 阅读更多 →
Java 查找并高亮 Word 文字:精确查找及正则表达式模糊查找

Java 查找并高亮 Word 文字:精确查找及正则表达式模糊查找

最近在处理一批 Word 报告时,遇到了一个需求:把文档中涉及“风险”的文字标记出来,方便后续检查。如果只是查找一个词,可以使用 Word 自带的查找功能。但实际处理时,需求可能更具体,比如只标记第一次出现的…

2026/10/11 8:09:12 阅读更多 →

日新闻

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

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

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

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

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

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

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

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

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

2026/10/11 0:00:27 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 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/10 5:23:50 阅读更多 →
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/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练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/10 10:38:42 阅读更多 →