Stable Diffusion XL Demo - 强大的文本生成图像Web UI工具
Stable Diffusion XL Demo是一个基于Stable Diffusion XL 1.0的开源Web UI演示工具,为用户提供了强大的文本到图像生成能力。该项目由TonyLianLong在GitHub上开源,并得到了广泛关注和使用。
项目概述
Stable Diffusion XL Demo是一个使用Gradio框架构建的Web UI演示工具,支持Stable Diffusion XL 1.0模型。该项目的主要特点包括:
- 支持Stable Diffusion XL 1.0基础模型和精炼器模型
- 提供友好的Web用户界面,方便用户输入提示和生成图像
- 支持多GPU并行处理,提高生成速度
- 集成了最新的LCM LoRA技术,进一步提升生成质量和速度
- 可以在Google Colab等平台上免费运行
该项目源自StableDiffusion v2.1 Demo WebUI,但进行了大量改进和优化,以支持最新的Stable Diffusion XL模型。
最新更新
项目持续保持活跃更新,近期的主要更新包括:
- 支持并默认启用Latent consistency models (LCM) LoRA技术
- 新增USE_SSD选项,可使用SSD-1B模型实现更快的生成速度
- 支持多GPU并行处理,通过设置MULTI_GPU=True即可启用
- 提供了在Google Colab上运行的Notebook示例
图1: 使用SSD-1B和LCM LoRA的SDXL演示效果
生成效果对比
项目提供了Stable Diffusion XL与Stable Diffusion v2.1的生成效果对比。总体而言,SDXL在图像质量和细节表现上都有明显提升。以下是几个对比示例:
图2: SDXL(左)和SD v2.1(右)生成效果对比
可以看到,SDXL在图像清晰度、细节丰富程度和整体质感上都有明显优势。更多对比示例可以在项目的benchmark目录中查看。
安装和使用
要使用Stable Diffusion XL Demo,首先需要安装相关依赖:
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
启动demo有两种方式:
- 自动下载权重:
PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:512 python app.py
- 使用本地权重:
PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:512 SDXL_MODEL_DIR=/path_to_sdxl python app.py
此外,项目还提供了多个环境变量来控制不同功能,如USE_SSD、ENABLE_LCM、MULTI_GPU等,可以根据需要进行设置。
节省内存的技巧
对于显存有限的用户,项目提供了几个节省内存的技巧:
- 开启
pipe.enable_model_cpu_offload()
并关闭pipe.to("cuda")
- 关闭精炼器功能
- 使用fp16优化等方法
总结
Stable Diffusion XL Demo为用户提供了一个简单易用的界面来体验最新的Stable Diffusion XL模型。通过集成多项优化技术,该项目在保证生成质量的同时,也大幅提升了生成速度。无论是研究人员还是普通用户,都可以通过这个demo轻松探索SDXL的强大能力。
该项目在GitHub上持续更新和维护,欢迎感兴趣的用户关注、使用和贡献。如果您觉得这个项目有帮助,别忘了给它一个Star⭐️!