共计 3471 个字符,预计需要花费 9 分钟才能阅读完成。
由来自日本和美国大学的开发人员联合打造的 StreamDiffusion 近期在推特上引发热议,这是一款基于 LCM 和 SDXL Turbo 模型的实时生图项目,目前已经上架 GitHub 正式开源,该项目主要是为了实时图像生成服务而设计的,能够以超过 100fps 的速度实时生成图片,可以在 10ms 内生成一张图像,一分钟可以生成超过 6000 张图像。StreamDiffusion 支持多种模型和输出帧率。其中,SD-turbo 模型在 1 步的情况下,t2i 每秒帧率达到 106,i2i 每秒帧率达到 93。LCM-LoRA+KohakuV2 模型在 4 步的情况下,t2i 每秒帧率为 38,i2i 每秒帧率为 37。这些数据显示了 StreamDiffusion 在图像生成方面的高效性能。
StreamDiffusion
StreamDiffusion 号称批处理策略比传统的序列去噪方法快约 1.5 倍,RCFG 技术比传统的无分类引导快达 2.05 倍。在 RTX 4090 显卡上,图生图速度可达 91.07fps,比 Diffusers 团队的 AutoPipline 快 59.56 倍。StreamDiffusion 特别适合于需要快速生成图像的应用场景,如实时视频处理、游戏开发、艺术创作等,能够在短时间内生成高质量的图像,为用户提供了强大的创作和编辑能力。
- 实时图像快速生成:适用于需要即时反馈的场景
- 文本到图像转换:适用于创意设计和内容创作
- 交互式绘图体验:可以实时交互以获得所需的图像输出
- 多样化的图像风格:支持生成不同风格和类型的图像
如何安装 StreamDiffusion?
本人以 Windows11 系统安装为例,要安装 StreamDiffusion,还有前提条件:python>=3.8
、CUDA>=11.3
、ffmpeg
和 git
,大家需要先安装这几个软件后才能进行下一步安装,而 CUDA
和 ffmpeg
会有环境变量的问题,可以参考《「FaceFusion」安装教程》里如何设置环境变量
- Python:https://www.python.org/downloads
- git: https://git-scm.com/download/win
- ffmpeg:https://ffmpeg.org
- CUDA:https://developer.nvidia.com/cuda-toolkit
如果网络环境允许,可使用以下命令行来安装 Python、GIT 和 FFmpeg,请在 命令提示符(CMD)或者 终端 进行下载及安装:
Python
winget install -e --id Python.Python.3.10
GIT
winget install -e --id Git.Git
FFmpeg
winget install -e --id Gyan.FFmpeg
1、安装完以上软件后即可正式开始安装 StreamDiffusion,选择安装位置,需要注意的是安装路径不要有中文,使用以下代码下载此项目:
git clone https://github.com/cumulo-autumn/StreamDiffusion.git
👇使用 命令提示符(CMD)或者 终端 进行下载及安装,右键单击即可选择 终端 打开
2、下载完 StreamDiffusion 后,需要为 StreamDiffusion 安装及激活 python
环境,使用以下命令:
cd StreamDiffusion
python -m venv .venv
.\.venv\Scripts\activate
3、为此项目安装 CUDA 支持,选择适合您的系统的版本,11.8 或 12.1都可以,选择其中一个进行安装
CUDA 11.8
pip3 install torch==2.1.0 torchvision==0.16.0 xformers --index-url https://download.pytorch.org/whl/cu118
CUDA 12.1
pip3 install torch==2.1.0 torchvision==0.16.0 xformers --index-url https://download.pytorch.org/whl/cu121
4、安装StreamDiffusion 项目以及 TensorRT 扩展和 pywin32
pip install git+https://github.com/cumulo-autumn/StreamDiffusion.git@main#egg=streamdiffusion[tensorrt]
或者(上面一个是官方推荐,可紧跟官方更新)pip install streamdiffusion[tensorrt]
👇安装 TensorRT 扩展和 pywin32
python -m streamdiffusion.tools.install-tensorrt
pip install pywin32
pip install accelerate
如何使用 StreamDiffusion?
一、官方示例
在官方的示例中,给出了多种示例,其中最直观的就是screen
,也最能体现此应用的生图能力,其他的如 benchmark 是测试性能、optimal-performance 文生图、img2img 图生图、txt2img 文生图、vid2vid 视频转绘,因为是以 LCM 和 SDXL Turbo 为基础,生图质量并不是很高,因此主要给大家讲screen
screen
该脚本仅适用于 Windows,运行脚本时,会出现一个半透明窗口,将其放置在您想要捕获屏幕的位置,然后按 Enter 键确定捕获区域。
首先需要安装依赖,执行以下命令:
cd examples
pip install -r screen/requirements.txt
执行以下命令启用此脚本
python screen/main.py
👇在 StreamDiffusion 文件夹下新建一个文本文档,输入以下命令行,然后将文件名从.txt 改为.bat,之后点击该.bat 文件即可快速启动应用
@echo off
call .venv\Scripts\activate
cd examples
python screen/main.py
来看看效果:
其他例子可在以下页面查看如何执行:也可以直接查看 examples 文件夹下的 README.md 文档
地址:https://github.com/cumulo-autumn/StreamDiffusion/tree/main/examples
二、实时文生图演示
想要使用实时文生图,需要先安装 Node.js 才可以,不过依照官方给出的安装方法,我尝试了几次都没有成功,无法在最后一步启动 demo,大家可自行尝试。
Node.js 地址:https://nodejs.org/en/download
cd demo/realtime-txt2img
pip install -r requirements.txt
cd view
npm i
npm run build
cd ../server
python main.py
使用 StreamDiffusion 遇到的一些问题
网络问题和模型加载
如果你的网络没办法打开 GitHub 和 Hugging Face,那么此官方示例中的一些示例是无法正常启动的,按照官方给出的方法加载本地模型,会出现报错无法识别的情况。
vid2vid 和实时文生图演示
这两个都无法在 Windows 平台上正常启动,需要自己进行代码修改或者等待官方开发人员修复,也可查看 GitHub 上 Issues 其他人给出的解决方法。也可安装第三方修改后的版本。
模型、提示词修改
模型、提示词等都可以在 screen 文件夹下的 main.py 里进行修改
此开源项目以及所需软件已上传到国内网盘:
网盘地址:https://www.123pan.com/s/I1oZVv-fMUGA.html 提取码:PZIy