模型:
CompVis/stable-diffusion-v1-2
Stable Diffusion 是一个潜在的文本到图像扩散模型,可以根据任何文本输入生成逼真的图像。关于 Stable Diffusion 的功能的更多信息,请查看 ?'s Stable Diffusion with D?iffusers blog 。
Stable-Diffusion-v1-2 检查点是使用 Stable-Diffusion-v1-1 检查点的权重初始化的,并在 laion-improved-aesthetics 数据集上的 515,000 步训练,分辨率为 512x512 (laion2B-en 的子集,过滤掉原始大小大于等于 512x512 的图像,美学评分大于 5.0,无水印的图像)。更多信息,请参阅 come here
开发者:Robin Rombach,Patrick Esser
模型类型:基于扩散的文本到图像生成模型
语言:英语
许可证: The CreativeML OpenRAIL M license ,基于 BigScience 和 the RAIL Initiative 在负责任的 AI 许可方面共同开展的工作进行了调整。请参阅基于我们许可证的 the article about the BLOOM Open RAIL license 。
模型描述:这是一个用于根据文本提示生成和修改图像的模型。这是一个 Latent Diffusion Model ,它使用一个固定的预训练文本编码器( CLIP ViT-L/14 ),正如 Imagen paper 中建议的那样。
更多信息资源: GitHub Repository , Paper 。
引用:
@InProceedings{Rombach_2022_CVPR, author = {Rombach, Robin and Blattmann, Andreas and Lorenz, Dominik and Esser, Patrick and Ommer, Bj\"orn}, title = {High-Resolution Image Synthesis With Latent Diffusion Models}, booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)}, month = {June}, year = {2022}, pages = {10684-10695} }
我们建议使用 ?'s Diffusers library 来运行 Stable Diffusion。
pip install --upgrade diffusers transformers scipy
使用默认的 PNDM 调度器运行管道:
import torch from torch import autocast from diffusers import StableDiffusionPipeline model_id = "CompVis/stable-diffusion-v1-2" device = "cuda" pipe = StableDiffusionPipeline.from_pretrained(model_id) pipe = pipe.to(device) prompt = "a photo of an astronaut riding a horse on mars" with autocast("cuda"): image = pipe(prompt)["sample"][0] image.save("astronaut_rides_horse.png")
注意:如果您的 GPU 内存有限且可用的 GPU RAM 少于 10GB,请确保加载 StableDiffusionPipeline 时使用 float16 精度而不是默认的 float32 精度。您可以通过告诉 diffusers 期待以 float16 精度提供的权重来实现:
import torch pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16) pipe = pipe.to(device) prompt = "a photo of an astronaut riding a horse on mars" with autocast("cuda"): image = pipe(prompt, guidance_scale=7.5)["sample"][0] image.save("astronaut_rides_horse.png")
要更换噪声调度器,请将其传递给 from_pretrained :
from diffusers import StableDiffusionPipeline, LMSDiscreteScheduler model_id = "CompVis/stable-diffusion-v1-2" # Use the K-LMS scheduler here instead scheduler = LMSDiscreteScheduler(beta_start=0.00085, beta_end=0.012, beta_schedule="scaled_linear", num_train_timesteps=1000) pipe = StableDiffusionPipeline.from_pretrained(model_id, scheduler=scheduler, use_auth_token=True) pipe = pipe.to("cuda") prompt = "a photo of an astronaut riding a horse on mars" with autocast("cuda"): image = pipe(prompt, guidance_scale=7.5)["sample"][0] image.save("astronaut_rides_horse.png")
该模型仅用于研究目的。可能的研究领域和任务包括:
下面描述了排除在外的用途。
注意:本部分内容取自 DALLE-MINI model card ,但同样适用于 Stable Diffusion v1 。
该模型不应被用于故意创建或传播可能使人们感到敌对或疏离的图像。这包括生成人们可以预见到会感到不安、苦恼或冒犯的图像,或传播历史或现实中的刻板印象的内容。
超出范围的使用该模型未经过训练,无法以事实或真实来代表人或事件,因此使用该模型生成此类内容超出了该模型的能力范围。
滥用和恶意使用使用该模型生成对个人残酷的内容是对该模型的滥用。这包括但不限于:
尽管图像生成模型的能力令人印象深刻,但它们也可能强化或加剧社会偏见。Stable Diffusion v1 在 LAION-2B(en) 的子集上进行了训练,该数据集主要包含英文描述的图像。其他语言社区和文化的文本和图像可能没有得到足够的考虑。这影响了模型的整体输出,因为白人和西方文化往往被设定为默认设置。此外,与使用英语提示相比,该模型以非英语提示生成内容的能力显著较差。
模型开发者使用以下数据集训练模型:
Stable Diffusion v1-4 是一个潜在的扩散模型,它将自编码器与在自编码器潜在空间中训练的扩散模型相结合。在训练过程中,
我们目前提供四个检查点,训练如下。
使用不同的无分类器引导比例(1.5、2.0、3.0、4.0、5.0、6.0、7.0、8.0)和 50 个 PLMS 采样步骤评估检查点的相对改进:
使用 50 个 PLMS 步骤和 COCO2017 验证集中的 10000 个随机提示进行评估,分辨率为 512x512。未针对 FID 分数进行优化。
Stable Diffusion v1 估计的排放量基于使用 Machine Learning Impact calculator 在 Lacoste et al. (2019) 中介绍的方法进行计算。硬件、运行时间、云提供商和计算区域被用于估计碳影响。
@InProceedings{Rombach_2022_CVPR, author = {Rombach, Robin and Blattmann, Andreas and Lorenz, Dominik and Esser, Patrick and Ommer, Bj\"orn}, title = {High-Resolution Image Synthesis With Latent Diffusion Models}, booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)}, month = {June}, year = {2022}, pages = {10684-10695} }
该模型卡由 Robin Rombach 和 Patrick Esser 编写,基于 DALL-E Mini model card 的模型卡。