ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

从模型里删掉汽车:Erasing Concepts from Diffusion Models物体擦除实战

2026/8/21 13:12:50 拓冰建站 浏览量
从模型里删掉汽车:Erasing Concepts from Diffusion Models物体擦除实战 从模型里删掉汽车Erasing Concepts from Diffusion Models物体擦除实战【免费下载链接】erasingErasing Concepts from Diffusion Models项目地址: https://gitcode.com/gh_mirrors/er/erasing想让 AI 绘画模型画不出某个东西开源的Erasing Concepts from Diffusion Models扩散模型概念擦除简称 ESD项目用短短几百行代码就能让 Stable Diffusion、SDXL 甚至 FLUX 模型忘记指定物体。本文带你零基础完成扩散模型物体擦除实战从环境安装、训练一条命令到把汽车从模型里彻底删掉全程可复现。什么是 Erasing Concepts from Diffusion Models简单说Erasing ConceptsESD是一种模型手术它不需要重新训练整个扩散模型而是基于一段简短文本描述比如 car对模型权重做轻量微调让模型在推理时不再生成该概念。整个过程只需要约 200 步优化、显存占用比旧版少一半、训练速度快 58 倍非常适合普通玩家在自己的显卡上跑。它有三个典型用途擦除物体汽车、帽子等删掉后场景依然连贯如山路上的车消失、原野换成风筝擦除艺术风格梵高、莫奈等画风可单独去除画面仍保持真实自然️擦除不雅内容配合 nudenet-classes.py 评估裸露部位识别数大幅下降一分钟看懂项目结构核心文件都在仓库根目录上手只需认识这几个文件作用esd_sd.pyStable Diffusion 1.x 概念擦除训练入口esd_sdxl.pySDXL 训练入口默认esd-x-strictesd_flux.pyFLUX.1-dev 训练入口esd_flux2_klein.pyFLUX.2 Klein 训练入口utils/esd_trainer.py统一的训练核心ESDConfig run_esd_trainingutils/esd_checkpoint.py带元数据的模型保存/加载notebooks/推理演示笔记本开箱即用四个入口共享同一套 utils/esd_trainer.py 训练逻辑并通过--basemodel_id可指定任意兼容的 diffusers 基座模型学一个就会四个。一键安装步骤先在终端执行以下命令完成环境搭建需要 Python 3.10 和一张显存足够的 NVIDIA 显卡git clone https://gitcode.com/gh_mirrors/er/erasing cd erasing pip install -r requirements.txt如果使用 FLUX 系列请额外升级依赖pip install --upgrade diffusers transformers torch最快上手一条命令擦除汽车安装完成后在项目根目录运行python esd_sd.py --erase_concept car --train_method esd-x参数说明--erase_concept要擦除的概念换成van gogh、hat都行--train_method训练方式常用esd-x交叉注意力、esd-x-strict、esd-u、esd-all--iterations优化步数默认 200--save_path模型保存目录默认esd-models/sd/ 进阶玩法还能只删某个概念的属性。比如只删牛仔的帽子、保留牛仔本身python esd_sd.py --erase_concept cowboy hat --erase_from cowboy --train_method esd-xSDXL 与 FLUX 擦除实战换到更大的模型同样简单核心命令几乎不变SDXL 版本推荐esd-x-strict更稳定python esd_sdxl.py --erase_concept car --train_method esd-x-strictFLUX.1-dev 版本python esd_flux.py --erase_concept car --train_method esd-x --negative_guidance 2FLUX.2 Klein 版本基于Flux2KleinPipeline需较新的 diffusers 与 transformerspython esd_flux2_klein.py --erase_concept car --train_method esd-x --negative_guidance 2训练完成的权重通过 utils/esd_checkpoint.py 保存为带元数据的.safetensors文件加载时会自动识别目标是unet还是transformerSD / SDXL / FLUX 通用。验证擦除效果生成图片对比训练完成后直接用官方推理笔记本体验效果notebooks/esd_inference_sd.ipynbSD 1.x 推理演示notebooks/esd_inference_sdxl.ipynbSDXL 推理notebooks/esd_inference_flux.ipynbFLUX 推理notebooks/esd_inference_flux2_klein.ipynbFLUX.2 Klein 推理如果想批量出图做量化评估用官方脚本 evalscripts/generate-images.py它会自动把 ESD 权重注入到对应的模型组件中python evalscripts/generate-images.py \ --base_model stabilityai/stable-diffusion-xl-base-1.0 \ --esd_path esd-models/sd/esd-car-esdx.safetensors \ --num_samples 1 \ --prompts_path data/coco_30k.csv \ --num_inference_steps 20 \ --guidance_scale 7评估提示词可直接使用 data/ 目录下的数据集比如coco_30k.csv通用物体、artwork_prompts.csv艺术风格、unsafe-prompts4703.csv不雅内容。常见问题速查Q擦除后其他内容会变差吗会轻微影响整体效果建议用esd-x这种针对性更强的方式并用esd-x-strict保证其他概念稳定。Q显存不够怎么办训练入口支持--gradient_checkpointing与--allow_tf32能显著降低显存占用。Q生成的模型文件在哪默认保存在esd-models/目录SD / SDXL / FLUX 各有独立子目录。Q有量化的擦除效果数据吗项目提供了 nudity_bar.png 这类实验对比图展示 ESD 相比 SLD、SD 2.0/2.1 在裸露部位减少上的显著优势可用于撰写评测报告。小结从模型里删掉汽车出发我们完整走通了Erasing Concepts from Diffusion Models的安装、训练、推理与评估全流程。无论是隐私保护、版权规避还是内容安全这个开源项目都给出了轻量、快速、可复现的解法——只需要一条命令就能让 AI 绘画忘记你想让它忘掉的东西。【免费下载链接】erasingErasing Concepts from Diffusion Models项目地址: https://gitcode.com/gh_mirrors/er/erasing创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考