SDXL-Lightning容器构建指南

一、介绍

SDXL-Lightning 项目是由字节跳动开发的一个创新性的 AI 图像生成项目,该项目通过采用全新的蒸馏战略,优化了扩散模型,实现了从文字到高清图像的快速、高质量生成。

1. 项目背景与特点

  • 背景 :随着 AI 绘画技术的不断发展,图像生成的质量和速度成为了重要的研究方向。SDXL-Lightning 项目正是字节跳动在这一领域的重要尝试。
  • 特点
    • 快速生成 :SDXL-Lightning 能够在极短的时间内生成高质量的图像,相较于传统方法,其出图速度有了显著提升。
    • 高质量 :项目通过结合渐进式和对抗式蒸馏方法,不仅保证了生成图像的多样性,还显著提升了图像的质量。
    • 多样化 :生成的图像覆盖了广泛的图像模式,能够满足不同用户的需求。

2. 技术原理

  • 扩散模型优化 :SDXL-Lightning 项目采用了结合渐进式和对抗式蒸馏的扩散蒸馏方法,对原有的扩散模型进行了优化。
    • 渐进式蒸馏 :保留了原模型的图像风格和种类。
    • 对抗式蒸馏 :用于提升图像生成的质量。
  • 模型选择 :项目提供了多种步数的蒸馏模型,包括 1 步、2 步、4 步和 8 步等,用户可以根据需求选择合适的模型进行图像生成。

3. 应用与效果

  • 应用范围 :SDXL-Lightning 项目可以广泛应用于文生图、图生图、局部修复等多种工作流程中。
  • 生成效果
    • 在 2-8 步之间,SDXL-Lightning 的生成效果都非常不错,特别是在 8 步时,其生成图像的质量相对更加稳定,甚至可以与 SDXL 模型 32 步的生成效果相媲美。
    • 即使在 4 步条件下,SDXL-Lightning 的图像质量和风格多样性也超过 Turbo 和 LCM 模型。

4. 项目资源

秒级文生图 · 创空间 (modelscope.cn)

二、容器构建说明

建议使用RTX3090+24G及以上显卡,RTX3060+12G显卡会爆显存

1. 安装 miniconda

进入 Anaconda 官网:

Miniconda --- Anaconda 文档

找到快速命令行安装,选择 Linux 系统,复制代码进入终端进行安装。

等待安装完成。

2. 安装并更新基础命令,让后续使用更快捷: unzip、lsof、git、git-lfs

复制代码
apt-get update
apt-get install -y unzip
apt-get install -y lsof
apt-get install -y git
apt-get install -y git-lfs

3. 克隆项目仓库,并打开文件

复制代码
git clone https://www.modelscope.cn/studios/ByteDance/SDXL-Lightning.git
cd SDXL-Lightning

4. 创建 python 为 3.11版本的虚拟环境,名称为SDXL

复制代码
conda create -n SDXL python=3.11

5. 激活虚拟环境SDXL

复制代码
conda activate SDXL

6. 通过 pip 安装所需的 torch 环境(国内镜像源快一些,以下使用了清华源)

复制代码
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121 -i https://pypi.tuna.tsinghua.edu.cn/simple

7. 安装项目依赖文件及相应包

为了安装速度更快可以将 pip 进行永久换源

复制代码
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

pip install -r requirements.txt
pip install gradio
pip install modelscope
pip install transformers

8. 指定端口,运行 py 文件(运行项目,首次运行会自动下载模型参数,需要保证网络通畅)

复制代码
export GRADIO_SERVER_NAME=0.0.0.0
export GRADIO_SERVER_PORT=8080
python app.py

所需时间可能较长,需要耐心等待

出现以下界面即为运行成功

三、网页演示

运行成功后获取访问链接,即可进入 webUI 界面(注意:在进入页面第一次运行时会自动下载蒸馏模型,下载完成即可生成结果):

相关推荐
武子康2 小时前
调查研究-198 Agent 到底该记住什么?读懂《What Must Generalist Agents Remember?》
人工智能·openai·agent
aqi002 小时前
15天学会AI应用开发(九)利用Chroma持久化向量数据
人工智能·python·大模型·ai编程·ai应用
武子康4 小时前
调查研究-197 FAISS vs Elasticsearch 全面对比:从向量检索、全文搜索到 RAG 选型指南
人工智能·elasticsearch·agent
leeyi4 小时前
Checkpoint 机制:Agent 怎么在断电后接着跑
redis·aigc·agent
青禾网络4 小时前
Web 前端如何接入 AI 音效生成:从零到可用的完整方案
人工智能·设计模式
用户252736278144 小时前
【技术实战】用 Spring Boot + Vue3 + LM Studio 在本地跑通 RAG 知识库
人工智能
用户5191495848454 小时前
VBScript随机数生成器内部机制:从时间种子到密码令牌破解
人工智能·aigc
米小虾4 小时前
Context Engineering —— 知识与记忆的窗口
人工智能·agent
IT_陈寒5 小时前
Python里这个赋值坑,连老司机都能翻车
前端·人工智能·后端