ONNX 模型库
返回模型

说明文档

模型概述

该 Stable Diffusion Turbo 模型已针对 WebNN 进行优化。本模型根据 STABILITY AI 非商业研究社区许可协议 授权。如需了解使用条款,请访问可接受使用政策。如果您遵守许可和使用条款,您将拥有其中描述的权利。使用本模型即表示您接受这些条款。

SD-Turbo-WebNN 旨在配合此处的相应示例使用,仅用于教育或测试目的。

WebNN 变更

原始模型为 SD-Turbo。SD-Turbo-WebNN 是 SD-Turbo 模型的 ONNX 版本,通过使用静态输入形状并移除未使用的算子来针对 WebNN 进行优化。

SD-Turbo 模型卡片

<!-- 提供模型功能/用途的简要概述 --> SD-Turbo 是一款快速生成式文本到图像模型,仅需一次网络评估即可从文本提示词合成逼真图像。 我们发布 SD-Turbo 作为研究产物,用于研究小型蒸馏文本到图像模型。如需更高的图像质量和提示词理解能力,我们推荐 SDXL-Turbo

请注意:商业用途请参考 https://stability.ai/membership。

模型详情

模型描述

SD-Turbo 是 Stable Diffusion 2.1 的蒸馏版本,专为实时合成而训练。 SD-Turbo 基于一种名为对抗扩散蒸馏(Adversarial Diffusion Distillation, ADD)的新型训练方法(参见技术报告),该方法允许在 1 到 4 步内以高图像质量对大规模基础图像扩散模型进行采样。 该方法利用分数蒸馏来借助大规模现成的图像扩散模型作为教师信号,并结合对抗损失以确保即使在一步或两步采样的低步数情况下也能保持高图像保真度。

  • 开发者: Stability AI
  • 资助方: Stability AI
  • 模型类型: 生成式文本到图像模型
  • 基于模型微调: Stable Diffusion 2.1

模型来源

出于研究目的,我们推荐使用我们的 generative-models Github 仓库,该仓库实现了最流行的扩散框架(包括训练和推理)。

  • 代码仓库: https://github.com/Stability-AI/generative-models
  • 论文: https://stability.ai/research/adversarial-diffusion-distillation
  • 演示 [更大的 SDXL-Turbo]: http://clipdrop.co/stable-diffusion-turbo

用途

直接使用

SD-Turbo 适用于非商业和商业用途。可能的研究领域和任务包括

  • 生成式模型研究。
  • 生成式模型实时应用研究。
  • 实时生成式模型影响研究。
  • 具有潜在有害内容生成风险的模型的安全部署。
  • 探索和理解生成式模型的局限性和偏见。
  • 艺术作品生成及用于设计和其他艺术流程。
  • 教育或创意工具中的应用。

商业用途请参考 https://stability.ai/membership。

排除的用途如下所述。

Diffusers 使用

pip install diffusers transformers accelerate --upgrade
  • 文本到图像

SD-Turbo 不使用 guidance_scalenegative_prompt,我们通过设置 guidance_scale=0.0 来禁用它。 模型最好生成 512x512 尺寸的图像,但更高的图像尺寸也可使用。 只需单步即可生成高质量图像。

from diffusers import AutoPipelineForText2Image
import torch

pipe = AutoPipelineForText2Image.from_pretrained("stabilityai/sd-turbo", torch_dtype=torch.float16, variant="fp16")
pipe.to("cuda")

prompt = "A cinematic shot of a baby racoon wearing an intricate italian priest robe."
image = pipe(prompt=prompt, num_inference_steps=1, guidance_scale=0.0).images[0]
  • 图像到图像

使用 SD-Turbo 进行图像到图像生成时,请确保 num_inference_steps * strength 大于或等于 1。图像到图像管道将运行 int(num_inference_steps * strength) 步,例如下面示例中的 0.5 * 2.0 = 1 步。

from diffusers import AutoPipelineForImage2Image
from diffusers.utils import load_image
import torch

pipe = AutoPipelineForImage2Image.from_pretrained("stabilityai/sd-turbo", torch_dtype=torch.float16, variant="fp16")
pipe.to("cuda")

init_image = load_image("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/cat.png").resize((512, 512))
prompt = "cat wizard, gandalf, lord of the rings, detailed, fantasy, cute, adorable, Pixar, Disney, 8k"

image = pipe(prompt, image=init_image, num_inference_steps=2, strength=0.5, guidance_scale=0.0).images[0]

超出范围的使用

该模型并未针对生成人物或事件的真实或事实性表述进行训练,因此使用该模型生成此类内容超出了该模型的能力范围。 该模型不得以任何违反 Stability AI 可接受使用政策的方式使用。

局限性与偏见

局限性

  • 图像质量和提示词对齐程度低于 SDXL-Turbo
  • 生成的图像分辨率固定(512x512 像素),模型无法实现完美的逼真效果。
  • 模型无法渲染清晰的文本。
  • 人脸和人物可能无法正确生成。
  • 模型的自编码部分是有损的。

建议

该模型适用于非商业和商业用途。

如何开始使用该模型

请查看 https://github.com/Stability-AI/generative-models

microsoft/sd-turbo-webnn

作者 microsoft

text-to-image
↓ 0 ♥ 5

创建时间: 2024-06-03 16:10:23+00:00

更新时间: 2024-08-01 01:35:57+00:00

在 Hugging Face 上查看

文件 (12)

.gitattributes
LICENSE
README.md
safety_checker/model.onnx ONNX
safety_checker/safety_checker_int32_reduceSum.onnx ONNX
text_encoder/model.onnx ONNX
text_encoder/model_layernorm.onnx ONNX
tokenizer/resolve/main/tokenizer.json
tokenizer/resolve/main/tokenizer_config.json
unet/model.onnx ONNX
unet/model_layernorm.onnx ONNX
vae_decoder/model.onnx ONNX