7B开源模型Qwen-Image-2.1本地部署:透明背景生成免抠图
上个月我把生成式图像的日常主力模型换成了 Qwen-Image-2.1。最初吸引我的只是它 7B 的参数体量——这个级别的开源模型在消费级显卡上跑不心疼。真正让我转正的是它把“抠图”这回事从前处理挪进了生成阶段提示词里写清楚透明背景输出的 PNG 自带 alpha 通道多数情况存下来直接就能用。这篇文章会把部署、参数和踩坑记录一次讲清楚适合想在本地跑图、批量做透明贴图和电商素材的读者。先说结论如果你手里只有 8GB 左右显存的显卡过去跑大模型基本是奢望而 7B 的 Qwen-Image-2.1 算是一条非常务实的路线。它不需要云上的大算力卡也不依赖在线接口提示词可控性强透明度输出尤其适合素材生产。后面所有步骤都在本地 Linux 单卡环境验证过照着敲基本能复现。1. 先聊聊为什么 7B 模型能“省掉抠图”1.1 传统抠图流程有多麻烦以前做电商素材、公众号配图、产品贴纸最耗时间的不是画图而是画完之后的抠图。用 Photoshop 的“选择主体”对付简单背景还行遇到头发丝、半透明物体、玻璃杯边缘处理能让人心态崩掉。跑专业抠图模型又是另一套环境先装模型再下载权重然后一张一张批量推理最后还要人工检查边缘是不是发白、残留背景色。整套流程下来一张图的手工成本往往比生成本身还高。所以当 Qwen-Image-2.1 这类生成模型开始支持透明背景时我下意识觉得这只是“图省事”的硬编码。实测下来发现不是——它是真的在生成阶段就把主体和背景分离了alpha 通道直接作为输出的一部分相当于把抠图模型和绘图模型合并成了一个。这个思路一旦成立以前需要串联的三个步骤生成主体、抠图、合成就压缩成一步省掉的不只是时间还有中间环节导致的画质损耗。1.2 Qwen-Image-2.1 的透明背景能力怎么理解从模型设计的角度说透明背景生成并不仅是“把背景画成白色”而是模型要能理解 alpha 通道的语义。Qwen-Image-2.1 在训练阶段就把带透明通道的样本纳入进去所以它在生成时会主动为一类主体预测出一个四通道图像其中 RGB 记录颜色A 通道记录不透明度。这也是为什么实测里同一句话生成普通图没问题但要求透明背景时会出现“边缘处理更谨慎”的现象——模型知道边界处的 alpha 值变化不能突兀。这部分能力对素材生产影响很大。比如做一个产品海报需要咖啡杯在渐变背景上旋转以前你得先让模型生一个杯子图再抠出来再叠到渐变背景里。现在直接让模型生成一个透明背景的杯子存成 PNG然后随便用什么工具铺背景角度、阴影、反光都在生成时就定格了。这种“生成即分离”的体验极大改变了批量素材的工作流。2. 部署前要搞清的环境和关键参数2.1 硬件基线不同显卡怎么选7B 模型听起来不大但实际推理的内存占用依然要把账算清楚。我分别在 24GB 和 12GB 显存的环境下跑过结论是 8GB 也勉强可以运行只是要牺牲一些速度和分辨率。下面这张表是我实测下来比较稳妥的配置参考硬件配置显存要求推荐用法体验评价入门方案8GB 显存生成 512px 左右图片BF16 推理可跑但放大和长提示词容易爆显存推荐方案12GB 显存生成 768px配合 Lightweight 量化速度与质量平衡主力机建议这个级别舒适方案24GB 显存生成 1024pxBF16 全精度出图质量最稳适合批量生产素材需要说明的是量化版本能显著降低显存占用但透明边缘的细节会略有损失。如果你主要用途是透明贴图和电商白底图我建议优先上 12GB 以上的显存用原版 BF16 跑边缘质量比量化版好很多。如果显存实在紧张再考虑 8GB 量化版的组合先看效果能不能接受。系统层面Ubuntu 22.04 或 Debian 12 都可以Windows 我测试过也能跑但环境变量和路径处理麻烦一点新手更推荐 Linux。显卡驱动建议 535 以上CUDA 版本至少 12.1PyTorch 用 2.2 以上的版本这些选型直接影响到后续能不能顺利加载模型。2.2 模型加载与依赖安装依赖列表不算复杂最核心的是 diffusers、transformers、accelerate 和 torch。建议单独建一个 conda 环境不要和常用环境混在一起避免版本冲突。下面是我验证过的一组版本组合conda create -n qwen-img python3.10 conda activate qwen-img pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 pip install diffusers transformers accelerate sentencepiece pillow安装完依赖后获取权重有两种常见路径。一种是从 Hugging Face 直接拉取适合网络环境较稳定的用户另一种是使用 ModelScope 的下载脚本因为模型在国内平台也有官方上传速度往往更快。两种方式在下游使用上没有本质区别最终都会得到同一份权重文件。模型加载用 diffusers 的 pipeline 接口即可。以 BF16 精度为例代码是这样import torch from diffusers import DiffusionPipeline pipe DiffusionPipeline.from_pretrained( Qwen/Qwen-Image-2.1-7B, torch_dtypetorch.bfloat16, trust_remote_codeTrue, ) pipe.to(cuda)这里有个细节很多人容易忽略trust_remote_codeTrue是因为模型仓库里包含自定义的预处理代码不打开会直接报错。加载完成后建议先用pipe.dtype确认一下当前精度如果是torch.float32说明显存占用会翻倍需要手动转成bfloat16。2.3 生成参数怎么定透明背景生成的核心不在模型代码而在提示词和生成参数。我花了大量时间对照不同写法总结出一套高成功率的模板参数项推荐值说明prompt 前缀transparent background直接说明背景透明最有效prompt 补充PNG, alpha channel强化输出格式语义分辨率768 x 768 或 1024 x 1024太低会让透明边缘不够细腻步数28 - 40低于 20 步时 alpha 通道不稳定guidance_scale4.5 - 6.0过高容易让背景变成灰色遮蔽negative promptsolid background, white background能有效避免模型画成纯色背景说实话这些参数不是凭空猜出来的是我一张图一张图对比出来的。步数太少了透明边缘会出现明显的锯齿guidance_scale 太高模型会倾向于“把背景画实”结果 alpha 通道变成了半透明灰块。如果你的第一张结果背景不透明先别急着换提示词把步数提到 35 以上再试。提示词的语言也有讲究。中文提示词能跑但精确描述透明背景时英文关键词的触发更稳定所以我最终采用“英文核心词 中文描述主体”的混合写法比如transparent background, PNG, alpha channel, a glass cup of coffee with steam, 透明背景高清商业产品图这种写法的好处是透明语义由英文关键词锁定主体的细节描述用中文可以表达得更自然。实测下来比全英文或全中文都稳出图的构图和透明度兼顾得比较好。3. 实测过程从空环境到一张透明 PNG3.1 环境初始化先把环境建好。以下步骤在 Linux 上全程实测通过如果你是 Windows把source activate换成conda activate即可。首先确认显卡驱动是否正常nvidia-smi注意看右上角的 CUDA 版本如果小于 12.1去显卡驱动页面升级一下驱动别急着装 PyTorch。有些机器跑过旧版深度学习框架驱动留在 11.8这种情况下后面加载模型极容易弹CUDA error: no kernel image的错。驱动确认没问题再创建虚拟环境。这里用3.10而不是最新的3.11或3.12是我踩过一次坑transformers 的一些依赖在 3.11 下编译会出 warning不影响运行但很烦3.10 最稳定。创建完环境后安装依赖建议分成两次装先装 torch 再装其余库避免 pip 在解析依赖时把 torch 版本替换掉。conda create -n qwen-img python3.10 -y conda activate qwen-img pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121 pip install diffusers transformers accelerate sentencepiece pillow3.2 加载模型并生成接下来写一个最小推理脚本。我习惯把模型下载目录固定到一个独立位置方便后面多个项目共用而不必每个项目都重新下载一遍几 GB 的权重。设置环境变量export HF_HOME/data/models/huggingface然后运行下面的 Python 脚本import torch from diffusers import DiffusionPipeline pipe DiffusionPipeline.from_pretrained( Qwen/Qwen-Image-2.1-7B, torch_dtypetorch.bfloat16, trust_remote_codeTrue, ) prompt transparent background, PNG, alpha channel, a ceramic coffee mug on a saucer, 透明背景产品摄影 image pipe(prompt, height768, width768, num_inference_steps35, guidance_scale5.0).images[0] image.save(cup.png)第一次运行会下载权重7B 模型大概占 15GB 空间网络好四五个小时能下完网络差一点就看你耐心了。这里提醒一句下载途中别关终端如果中断了断点续传靠 Hugging Face 的缓存机制是自动的重新运行脚本会接着下。生成完成后注意一件事image.save(cup.png)保存的图片理论上应该带 alpha 通道但为了确认最好检查一下。用 PIL 读取图片通道数from PIL import Image img Image.open(cup.png) print(img.mode) # 应该是 RGBA如果是RGBA说明透明通道已经包含进去了如果输出是RGB那就代表提示词没有触发透明背景模式回去把 prompt 里的核心关键词重新检查一遍。这一步很多人会漏掉结果存出了一堆自以为透明、实际上是白底的图。3.3 批量生成和透明度质检单张跑通之后批量生产才是真正的效率提升。我写了一个简单脚本从 CSV 里读提示词列表逐条生成并在生成后自动做透明度检查。检查逻辑不难读取 alpha 通道计算四个角落和边缘区域的 alpha 均值如果平均值接近 255那基本是实心背景说明这轮生成失败了需要重新跑。import csv import torch from PIL import Image from diffusers import DiffusionPipeline import numpy as np pipe DiffusionPipeline.from_pretrained( Qwen/Qwen-Image-2.1-7B, torch_dtypetorch.bfloat16, trust_remote_codeTrue, ).to(cuda) def check_alpha_edges(img: Image.Image, threshold30) - bool: 检查图像边缘 alpha 值, 返回是否透明背景 alpha np.array(img)[:, :, 3] h, w alpha.shape edge np.concatenate([ alpha[:15, :].ravel(), alpha[-15:, :].ravel(), alpha[:, :15].ravel(), alpha[:, -15:].ravel(), ]) return edge.mean() threshold with open(prompts.csv) as f: reader csv.DictReader(f) for row in reader: prompt row[prompt] image pipe(prompt, height768, width768, num_inference_steps35, guidance_scale5.0).images[0] if not check_alpha_edges(image): print(f[FAIL] {row[name]}) continue image.save(foutput/{row[name]}.png) print(f[OK] {row[name]})这个脚本是我实际在用的版本批量生成几百张素材时能够自动把透明失败的图单独拎出来避免混入后续的生产流程。阈值30是我反复试出来的太严会把一些边缘轻微发灰的合格图误判为失败太松又会让白底图混进来。透明素材生成完成之后如果需要应用到电商场景通常还要配合放大模型或者简单清晰化处理。Qwen-Image-2.1 本身生成的是 768px 或 1024px直接使用一般够用但如果是印刷级要求建议生成后走一遍图像超分流程。透明通道在超分时容易被破坏需要选择支持 RGBA 的超分工具或者在放大后再手动抠一次边缘。4. 问题排查与避坑清单4.1 显存不足和加载缓慢最常见的失败就是CUDA out of memory。我遇到过两次一次是在生成 1024 分辨率时直接爆显存另一次是同时加载了多个模型导致显存被占满。解决方法按优先级排列先降分辨率从 1024 降到 768再减num_inference_steps从 35 降到 28最后再考虑换量化版本。如果必须在 1024 分辨率下工作可以用enable_model_cpu_offload()或者enable_sequential_cpu_offload()让部分层临时卸载到内存虽然会变慢但至少不爆。这个技巧在 8GB 显存的机器上尤其好用。加载缓慢的问题大多是权重下载导致的不涉及推理本身。如果发现每次启动都重新加载检查HF_HOME环境变量是否设置成功以及权重是否真的存在于缓存目录。有些人设置了环境变量但没export或者写到了 profile 文件里没生效都会导致模型反复下载。4.2 生成结果不透明生成结果是正常图片而不是透明图这个问题的出现频率比想象中高。原因通常是提示词里没有明确出现透明背景关键词或者反面提示词写得太重模型直接把 alpha 通道压缩掉了。我复盘过几十次失败样例发现一个规律只要 prompt 里同时出现“white background”和“transparent background”模型大概率会屈服于白色背景描述。所以提示词里不要同时写“white background”如果希望背景干净直接用“plain background”替代。反面提示词里加white background也要谨慎它会加强模型把背景渲染成实色块的概率反而破坏透明效果。另外分辨率低于 512px 时透明背景的成功率也会明显下降。因为分辨率越低模型越倾向于简化画面透明通道这种精细信息是最先被牺牲的。最低建议 768px除非实在卡显存不要尝试 512px 以下。4.3 透明边缘质量差边缘发灰、发白、锯齿严重是透明背景生成里最影响成品率的问题。发白通常来自 alpha 通道和 RGB 通道不匹配模型预估了较高的 alpha 值但 RGB 还保留着背景色的残留。这个情况在浅色主体上尤其明显白杯子、白花瓶这类物体的边缘一旦带灰放到深色背景上会非常显眼。优化手段有几个第一是提高步数35 步到 40 步的改善很明显透明边缘会干净很多第二是提示词里加high details, crisp edges这类词第三是实在不行就把生成图放大后再做一次轻微 alpha 边缘清理用图像处理工具的“去除白边”功能处理一遍。最后一个办法虽然叫抠图但只是扫尾成本远低于重新手动抠。还有一个容易被忽略的点不同底模对透明语义的接受度不同。Qwen-Image-2.1 在生成透明玻璃、水花、烟雾这类半透明材质时alpha 通道会有天然优势因为它见过大量带真实 alpha 通道的训练数据。但如果你让它生成一个本身就不容易定义边界的毛绒玩偶边缘质量依然会有波动。批量生产前先用代表性的目标类目跑五张确认稳定再放量。4.4 几个容易被忽略的小细节模型权重路径里不要有中文字符有些系统在读取自定义代码时会因为编码问题报错我一开始把模型放在中文目录下加载时总是出现莫名的KeyError改成英文路径后一切正常。提示词的标点符号要谨慎。Qwen-Image-2.1 对逗号后面跟空格的解析比跟空格更稳但如果你在英文和中文混写时忘了加空格很可能让模型把两个词当成一个词组触发不了透明背景。我建议混写时在英文部分和中文部分之间加一个逗号分隔减少歧义。最后是保存格式。透明背景素材必须用 PNG 保存JPG 根本不含 alpha 通道。我在批量脚本里曾经因为统一用jpg后缀保存导致所有图片的透明信息全部丢失几小时的工作白费。这个错误听起来很低级但在脚本批量跑批时会特别容易犯建议代码里写一个后缀校验每个输出文件都强制改成.png。4.5 高质量输出的其他技巧如果你发现同一条提示词在不同分辨率下的构图差异很大别惊讶这是模型的正常表现。768px 和 1024px 的构图空间不一样模型会重新安排主体占比。为保证素材风格统一批量出图时务必固定分辨率和步数只改提示词里的主体描述。透明背景模式下模型对画面中的阴影处理比较聪明它会把投影一起算进 alpha 通道里。这种做法的好处是保存下来能让阴影作为透明像素一起迁移坏处是如果你只想保留主体、不要阴影后期还得专门去掉。实测下来需要干净的素材时在提示词里加no shadow, no reflection会有一定效果但做不到百分百稳定最好在脚本里留一个后处理开关备用。我自己的经验是把 Qwen-Image-2.1 定位成“素材生成器”而不是“成品交付工具”。生成透明主体后进排版软件或者合成工具里再铺背景、调光整个过程顺畅很多。以前需要两个小时手工抠图的商品图现在十分钟之内就能完成主体部分剩下的时间全花在创意调整上而不是机械劳动。跑了一个月左右我最大的感受是透明背景生成成熟之后很多以前必须依赖抠图工具的流程真的可以整体往前挪。比如我给自己店里做的说明图现在都是先让 Qwen-Image-2.1 生成透明主体再在排版软件里铺背景半天就能改完全套视觉素材。建议如果不是刚需就用 BF16 全精度版本别一上来就上量化版透明边缘的细节会好很多另外平时生成完有空就把提示词清理干净留档同一个素材换个背景重新出图时非常省事这算是整个工作流里我做得最正确的决定。

相关新闻

智能体工作空间治理:LocalCortex 解决智能体失效根源

智能体工作空间治理:LocalCortex 解决智能体失效根源

1. 一个被大多数人忽略的智能体失效根源智能体跑不起来,十有八九你会先去查模型、查提示词、查工具调用链,甚至怀疑是不是API限流了。但我踩过的坑告诉我,真正让智能体"白忙一场"的,往往是一个看起来最不起眼的东西——…

2026/10/14 11:25:30 阅读更多 →
图标设计体系化指南:从网格系统、视觉矫正到全流程实战

图标设计体系化指南:从网格系统、视觉矫正到全流程实战

1. 为什么图标设计不只是“画个小图”1.1 先聊聊图标在真实产品里的地位很多刚入行的设计师,甚至部分开发同学,会把图标理解成“界面角落里那个小装饰”。这个认知我建议尽早纠正。图标在数字化产品里的角色,类似于实体空间里的导视系统——你…

2026/10/14 11:25:30 阅读更多 →
科技产业变革:游戏估值重构与AI爆发增长

科技产业变革:游戏估值重构与AI爆发增长

1. 行业动态深度解读:两起标志性事件背后的逻辑上周科技圈爆出两则重磅消息:字节跳动以60亿美元价格出售旗下游戏公司沐瞳科技,而AI新锐Kimi在短短20天内实现了超过2025年全年预期的收入。这两件事看似独立,实则折射出当前科技产业…

2026/10/14 11:25:30 阅读更多 →

最新新闻

在河北开发直播 APP,怎么挑选靠谱的软件公司?

在河北开发直播 APP,怎么挑选靠谱的软件公司?

河北不少创业者、企业都想搭建自己的直播 APP,带货直播、付费课程、娱乐打赏、私域直播等需求越来越多。但直播属于音视频高并发项目,技术门槛远高于普通商城和管理系统。很多本地软件公司只会做简单小程序,并不具备流媒体开发经验&#xff0…

2026/10/15 0:47:40 阅读更多 →
Python requests实现人人网自动登录:Cookie、验证码与会话管理全攻略

Python requests实现人人网自动登录:Cookie、验证码与会话管理全攻略

简介:这份人人网(校内)自动登录的Java实现,面向需要模拟登录校内平台的开发者、测试人员或学生。由于网上流传的登录代码多针对旧版校内接口,往往无法直接套用,作者梳理了当前人人网登录流程并编写出简易可…

2026/10/15 0:47:40 阅读更多 →
软件开发想要少踩坑,产品经理才是项目的 “翻译官” 和总设计师

软件开发想要少踩坑,产品经理才是项目的 “翻译官” 和总设计师

很多人做软件定制,关注点只放在程序员、代码、服务器上,觉得只要有开发就能把项目做出来,常常忽略产品经理这个角色。等到项目推进一半,才发现功能逻辑混乱、需求来回改动、做出来的产品和自己预想完全不符,返工不断、…

2026/10/15 0:47:40 阅读更多 →
QML与C++交互:上下文属性、类型注册与单例详解

QML与C++交互:上下文属性、类型注册与单例详解

1. 先想清楚一个问题:QML和C为什么要互相打交道接触Qt QML开发的人应该都有这种感觉:QML写界面确实快,声明式语法、属性绑定、动画、状态切换,一套组合拳下来,界面代码量比传统Widget写法少一大截。但界面做得再漂亮&a…

2026/10/15 0:47:40 阅读更多 →
SpringBoot文件上传临时目录失效异常解析与解决方案

SpringBoot文件上传临时目录失效异常解析与解决方案

1. 问题背景与核心需求拆解文件上传这个功能,几乎每个后端项目都会碰到。不管是用户头像、Excel批量导入、还是附件管理,只要涉及文件从客户端传到服务端,就绕不开multipart/form-data这套机制。SpringBoot 默认集成了 StandardServletMultip…

2026/10/15 0:47:40 阅读更多 →
区间DP解“拿糖果”:从贪心误区到最优策略实战解析

区间DP解“拿糖果”:从贪心误区到最优策略实战解析

说实话,我第一次看到“拿糖果”这道题的时候,差点把它当成热身题给秒了。题面本身非常朴素:有 n 堆糖果排成一行,每堆糖果数量用一个整数数组表示,两个人轮流从最左端或最右端拿走一整堆,直到全部取完&…

2026/10/15 0:46:40 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

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

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

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

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

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

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

2026/10/14 16:30:29 阅读更多 →
影刀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/15 0:14:36 阅读更多 →
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/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练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/14 7:53:34 阅读更多 →