说明文档
此分支的更改:
这是 https://huggingface.co/microsoft/sd-turbo-webnn/ 的副本,在使用 https://github.com/eyaler/webnn-developer-preview/blob/main/demos/sd-turbo/fix_instance_norm.js 将实例归一化节点转换为 float32 后,添加了来自 https://huggingface.co/schmuell/sd-turbo-ort-web/ 的 VAE 编码器。
模型概述
此 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 基于一种称为对抗扩散蒸馏 (ADD) 的新训练方法(参见 技术报告),该方法允许在 1 到 4 步内以高图像质量对大规模基础图像扩散模型进行采样。 这种方法使用分数蒸馏来利用大规模现成的图像扩散模型作为教师信号,并结合对抗损失以确保即使在一步或两步采样的低步数情况下也能保持高图像保真度。
- 开发者: Stability AI
- 资助方: Stability AI
- 模型类型: 生成式文本生成图像模型
- 微调自模型: Stable Diffusion 2.1
模型来源
出于研究目的,我们推荐使用我们的 generative-models Github 仓库 (https://github.com/Stability-AI/generative-models),
该仓库实现了最流行的扩散框架(包括训练和推理)。
- 代码库: 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_scale 或 negative_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
eyaler/sd-turbo-webnn
作者 eyaler
创建时间: 2024-10-03 10:26:12+00:00
更新时间: 2024-10-03 11:07:40+00:00
在 Hugging Face 上查看