mirror of
https://github.com/modelscope/DiffSynth-Studio.git
synced 2026-03-18 22:08:13 +00:00
Update StableDiffusion3.md
This commit is contained in:
@@ -1 +1,55 @@
|
||||
# Stable Diffusion 3
|
||||
# Stable Diffusion 3
|
||||
|
||||
## 相关链接
|
||||
|
||||
* 论文:[Scaling Rectified Flow Transformers for High-Resolution Image Synthesis](https://arxiv.org/pdf/2403.03206)
|
||||
* 模型
|
||||
* stable-diffusion-3-medium
|
||||
* [HuggingFace](https://huggingface.co/stabilityai/stable-diffusion-3-medium)
|
||||
* [ModelScope](https://modelscope.cn/models/AI-ModelScope/stable-diffusion-3-medium)
|
||||
|
||||
* 项目页面: https://stability.ai/news/stable-diffusion-3-medium
|
||||
|
||||
## 模型介绍
|
||||
|
||||
Stable Diffusion 3(SD3)是 Stability AI 的文生图开源模型,在基于人类偏好的评估中,Stable Diffusion 3 在文字生成图像的性能上超过了目前最先进的系统,包括 DALL·E 3、Midjourney v6 和 Ideogram v1,并在文字内容生成,复杂提示理解和指令遵循方面的性能有显著提升。SD3 采用了全新的多模态扩散变压器(MMDiT)架构,使用不同的权重集来处理图像和语言表示,提高了模型的文本理解和拼写能力。
|
||||
|
||||
最大的 SD3 模型拥有 80 亿参数,可以装入拥有 24GB VRAM 的 RTX 4090 中,使用 50 次采样步骤生成一张 1024x1024 分辨率的图像仅需 34 秒。此外,还发布了多种版本的,参数范围从8亿到80亿的 Stable Diffusion 3。
|
||||
|
||||

|
||||
|
||||
MMDiT 架构使用三种不同的文本嵌入器(两个 CLIP 模型和 T5)来编码文本表示,并使用改进的自动编码模型来编码图像,然后将结合两种模态的序列拼接起来尽进行注意力操作。相比传统的文本生成图像网络,这种架构在视觉保真度和文本对齐度的训练过程中表现更佳。通过该方法,信息可以在图像和文本之间流动,进而提高生成内容的整体理解能力和视觉设计,同时其设计也容易扩展到视频等多种模态的应用。
|
||||
|
||||
此外,SD3 引入了改进的校正流(RF)公式,使得在训练过程中,数据和噪声可以沿着更直的线性轨迹连接,从而减少了采样步骤。通过对采样计划的重加权,尤其是在中间部分,提升了模型的预测任务性能。与其他 60 种扩散轨迹(例如LDM 、 EDM 和 ADM ))相比,重加权的RF变体在性能上具有更优越的表现。
|
||||
|
||||
在文本编码方面,尽管在推理过程中将拥有 4.7B 参数的 T5 文本编码器排除在外减少了内存需求并略微影响性能,但这对视觉美学无大影响,只是稍微降低了提示文本的遵循性。为了充分发挥文本生成能力,尤其是在处理复杂提示文本的场景中,建议保留 T5 文本编码器。
|
||||
|
||||
Stable Diffusion 3 的生成效果:
|
||||
|
||||

|
||||
|
||||
|
||||
## 代码样例
|
||||
|
||||
```python
|
||||
from diffsynth import ModelManager, SD3ImagePipeline, download_models
|
||||
import torch
|
||||
|
||||
download_models(["StableDiffusion3_without_T5"])
|
||||
model_manager = ModelManager(torch_dtype=torch.float16, device="cuda",
|
||||
file_path_list=["models/stable_diffusion_3/sd3_medium_incl_clips.safetensors"])
|
||||
pipe = SD3ImagePipeline.from_model_manager(model_manager)
|
||||
|
||||
|
||||
prompt = "masterpiece, best quality, solo, long hair, wavy hair, silver hair, blue eyes, blue dress, medium breasts, dress, underwater, air bubble, floating hair, refraction, portrait,"
|
||||
negative_prompt = "worst quality, low quality, monochrome, zombie, interlocked fingers, Aissist, cleavage, nsfw,"
|
||||
|
||||
torch.manual_seed(7)
|
||||
image = pipe(
|
||||
prompt=prompt,
|
||||
negative_prompt=negative_prompt,
|
||||
cfg_scale=7.5,
|
||||
num_inference_steps=100, width=1024, height=1024,
|
||||
)
|
||||
image.save("image_1024.jpg")
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user