stable-diffusion-xl-demo

stable-diffusion-xl-demo

基于Stable Diffusion XL的开源AI图像生成WebUI

stable-diffusion-xl-demo是基于Stable Diffusion XL 1.0的Gradio演示WebUI。该项目集成了LCM LoRA和SSD-1B模型,提高了图像生成速度。它提供简便的安装和启动方法,支持多GPU并行处理,并可在Colab上运行。相比SD v2.1,SDXL无需额外调整即可生成更高质量图像。此外,项目还提供多种内存优化和性能提升选项。

Stable Diffusion XL生成式AI图像生成机器学习深度学习Github开源项目

title: Stable Diffusion XL 1.0 emoji: 🔥 colorFrom: yellow colorTo: gray sdk: gradio sdk_version: 3.11.0 app_file: app.py pinned: true license: mit

StableDiffusion XL Gradio演示Web界面

这是一个支持Stable Diffusion XL 1.0的Gradio演示Web界面。该演示加载了基础模型和精炼模型。

本项目源自StableDiffusion v2.1演示Web界面。请参阅git提交记录以查看具体更改。

更新 🔥🔥🔥:现已支持并默认启用潜在一致性模型(LCM) LoRA(通过ENABLE_LCM控制)!开启USE_SSD以使用SSD-1B实现更快的生成速度(在免费Colab T4上无需额外优化即可达到4.9秒/图像)! Colab已更新为默认使用此设置。<a target="_blank" href="https://colab.research.google.com/github/TonyLianLong/stable-diffusion-xl-demo/blob/main/Stable_Diffusion_XL_Demo.ipynb"> <img src="https://yellow-cdn.veclightyear.com/0a4dffa0/9c135c47-8131-4bfa-8bf9-c7070e596063.svg" alt="在Colab中打开"/> </a>

更新 🔥🔥🔥: 查看我们的最新工作<a href='https://llm-grounded-diffusion.github.io/'>LLM-grounded Diffusion (LMD)</a>,它将大语言模型引入扩散模型领域,无需任何微调即可实现比标准Stable Diffusion更好的提示理解能力!支持SDXL的LMD可在<a href='https://github.com/TonyLianLong/LLM-groundedDiffusion'>我们的GitHub仓库</a>中找到,<a href='https://huggingface.co/spaces/longlian/llm-grounded-diffusion'>这里提供了一个使用SD的演示</a>

更新: SDXL 1.0已发布,我们的Web界面演示现已支持!无需申请即可获取权重!启动Colab即可开始使用。您可以在免费的Colab T4上运行此演示。<a target="_blank" href="https://colab.research.google.com/github/TonyLianLong/stable-diffusion-xl-demo/blob/main/Stable_Diffusion_XL_Demo.ipynb"> <img src="https://yellow-cdn.veclightyear.com/0a4dffa0/9c135c47-8131-4bfa-8bf9-c7070e596063.svg" alt="在Colab中打开"/> </a>

更新: 现已支持多GPU。通过设置MULTI_GPU=True,您可以轻松地将工作负载分配到不同的GPU上。这使用数据并行来将工作负载分配到不同的GPU。

<img src="https://yellow-cdn.veclightyear.com/0a4dffa0/f2569c3a-581a-4267-bf93-5639e2738ede.gif" width="48%" alt="SDXL与SSD-1B, LCM LoRA">

示例

更新: 这里有一个包含1200多张图像的更全面比较。SD XL和SD v2.1都在来自StableStudio的提示词上进行了基准测试。

左:SDXL。右:SD v2.1

无需任何调整,SDXL生成的图像质量就明显优于SD v2.1!

示例1

<p align="middle"> <img src="https://yellow-cdn.veclightyear.com/0a4dffa0/d0950e7b-0fde-485f-9653-6d1cb06593ef.png" width="48%"> <img src="https://yellow-cdn.veclightyear.com/0a4dffa0/f542a021-a3a5-4782-875f-c68c3cfd7dcc.png" width="48%"> </p>

示例2

<p align="middle"> <img src="https://yellow-cdn.veclightyear.com/0a4dffa0/f43e0db4-637f-4890-afcc-96400009cbbe.png" width="48%"> <img src="https://yellow-cdn.veclightyear.com/0a4dffa0/c53c1ec6-6d12-44c7-87a8-4c54a6b9417d.png" width="48%"> </p>

示例3

<p align="middle"> <img src="https://yellow-cdn.veclightyear.com/0a4dffa0/c4b02f4c-8a7c-42f7-95a2-8afac1c07d0d.png" width="48%"> <img src="https://yellow-cdn.veclightyear.com/0a4dffa0/53ac6843-aedf-4806-9632-92ba8ebbd83a.png" width="48%"> </p> ### 示例 4 <p align="middle"> <img src="https://yellow-cdn.veclightyear.com/0a4dffa0/6ee30da1-86c4-49d1-87fe-979aed452b73.png" width="48%"> <img src="https://yellow-cdn.veclightyear.com/0a4dffa0/bb1bfa4b-8235-42bb-8946-9d0309238d16.png" width="48%"> </p>

示例 5

<p align="middle"> <img src="https://yellow-cdn.veclightyear.com/0a4dffa0/103d16e1-eb12-44ad-a93d-85d54a90533a.png" width="48%"> <img src="https://yellow-cdn.veclightyear.com/0a4dffa0/ac6da08a-3f25-4130-8fa4-0e11976e2382.png" width="48%"> </p>

安装

在已安装torch 2.0.1的基础上,我们还需要安装:

pip install accelerate transformers invisible-watermark "numpy>=1.17" "PyWavelets>=1.1.1" "opencv-python>=4.1.0.25" safetensors "gradio==3.11.0" pip install git+https://github.com/huggingface/diffusers.git

启动

现在免费使用,无需填写表格。泄露的权重似乎可以在reddit上找到,但我没有使用或测试过。

有两种方式加载权重。选项1可以直接使用(无需手动下载)。如果你更喜欢从本地仓库加载,可以使用选项2。

选项1

运行以下命令自动设置权重:

PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:512 python app.py

选项2

如果你已在本地克隆了两个仓库(baserefiner),请更改path_to_sdxl

PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:512 SDXL_MODEL_DIR=/path_to_sdxl python app.py

注意,stable-diffusion-xl-base-1.0stable-diffusion-xl-refiner-1.0应放在同一目录下。该目录的路径应替换/path_to_sdxl

支持torch.compile

启用torch.compile将使整体推理更快。然而,这会增加首次运行的开销(即,首次运行时需要等待编译)。

节省内存的方法

  1. app.py中启用pipe.enable_model_cpu_offload()并关闭pipe.to("cuda")
  2. 通过将enable_refiner设置为False来关闭refiner。
  3. 更多节省内存和加速的方法

通过环境变量设置的几个选项

  • USE_SSD:使用segmind/SSD-1B。这是一个更快的蒸馏SDXL模型。默认禁用。
  • ENABLE_LCM:使用LCM LoRA。默认启用。
  • SDXL_MODEL_DIR:本地加载SDXL。
  • ENABLE_REFINER=true/false开启/关闭refiner(refiner用于改进生成结果)。如果启用了LCM LoRA或SSD模型,refiner默认禁用。
  • OFFLOAD_BASEOFFLOAD_REFINER可设置为true/false以启用/禁用模型卸载(模型卸载可节省内存,但会降低生成速度)。
  • OUTPUT_IMAGES_BEFORE_REFINER=true/false在启用refiner时有用。输出refiner阶段前后的图像。
  • SHARE=true/false创建公共链接(适用于分享和在colab上使用)
  • MULTI_GPU=true/false在多GPU上启用数据并行。

如果你喜欢这个演示,请给这个仓库一个星标⭐。

编辑推荐精选

TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
商汤小浣熊

商汤小浣熊

最强AI数据分析助手

小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。

imini AI

imini AI

像人一样思考的AI智能体

imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。

Keevx

Keevx

AI数字人视频创作平台

Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。

即梦AI

即梦AI

一站式AI创作平台

提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作

扣子-AI办公

扣子-AI办公

AI办公助手,复杂任务高效处理

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

蛙蛙写作

蛙蛙写作

AI小说写作助手,一站式润色、改写、扩写

蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。

AI辅助写作AI工具蛙蛙写作AI写作工具学术助手办公助手营销助手AI助手
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

热门AI助手AI对话AI工具聊天机器人
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
下拉加载更多