模型:
stabilityai/stable-diffusion-2-1
该模型卡片重点介绍与稳定扩散v2-1模型相关的内容,其代码库可在 here 中找到。
稳定扩散2-1模型是基于 stable-diffusion-2 (768-v-ema.ckpt)进行微调的,在相同的数据集上额外进行了55k步骤的微调(punsafe=0.1),然后再进行了155k额外的步骤微调(punsafe=0.98)。
开发者:Robin Rombach,Patrick Esser
模型类型:基于扩散的文本到图像生成模型
语言:英语
模型描述:这是一个用于根据文本提示生成和修改图像的模型。它是一个基于固定预训练文本编码器( OpenCLIP-ViT/H )的 Latent Diffusion Model 。
更多信息资源: GitHub Repository 。
引用方式:
@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 在简单高效的方式下运行稳定扩散2。
pip install diffusers transformers accelerate scipy safetensors
运行流程(如果不更改调度程序,将使用默认的DDIM,默认使用DPMSolverMultistepScheduler进行示例中的调度程序切换):
import torch from diffusers import StableDiffusionPipeline, DPMSolverMultistepScheduler model_id = "stabilityai/stable-diffusion-2-1" # Use the DPMSolverMultistepScheduler (DPM-Solver++) scheduler here instead pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16) pipe.scheduler = DPMSolverMultistepScheduler.from_config(pipe.scheduler.config) pipe = pipe.to("cuda") prompt = "a photo of an astronaut riding a horse on mars" image = pipe(prompt).images[0] image.save("astronaut_rides_horse.png")
注意:
本模型仅用于研究目的。可能的研究领域和任务包括:
排除的用途如下所述。
注意:本节内容最初取自 DALLE-MINI model card ,以前用于稳定扩散v1,但同样适用于稳定扩散v2。
模型不应用于有意创建或传播可能会对人们造成敌对或疏远环境的形象。这包括生成人们可以预见到会感到不安、痛苦或冒犯的图像,或者宣传历史或现实的刻板印象。
超出范围使用该模型未经过训练,无法准确呈现人物或事件,因此使用该模型生成此类内容超出了其能力范围。
滥用和恶意使用将该模型用于生成对个人具有残忍性的内容是对该模型的滥用。这包括但不限于:
虽然图像生成模型的能力令人印象深刻,但它们也可能强化或加剧社会偏见。稳定扩散主要在 LAION-2B(en) 的子集上进行了训练,该数据集仅包含英文说明的图像。来自使用其他语言的社区和文化的文本和图像可能未被充分考虑。这影响了模型的整体输出,因为白人和西方文化通常被设定为默认情况。此外,与英语提示相比,该模型使用非英语提示生成内容的能力会明显较差。稳定扩散v2会镜像和加剧偏见,以至于无论输入和意图如何,都必须谨慎使用。
训练数据:模型开发者使用以下数据集进行模型训练:
训练过程:稳定扩散v2是一个潜在的扩散模型,它将自动编码器和在自动编码器的潜在空间中训练的扩散模型相结合。在训练过程中,
我们目前提供以下检查点:
512-base-ema.ckpt:在一部分过滤了显性色情材料的 LAION-5B 数据集上,以分辨率256x256进行了550k步骤的训练,使用了punsafe=0.1和 aesthetic score >=4.5,以分辨率>=512x512继续训练了相同数据集上的850k步骤。
768-v-ema.ckpt:从512-base-ema.ckpt恢复并在相同数据集上使用 v-objective 进行了150k步骤的训练。在我们的数据集的768x768子集上继续恢复了另外的140k步骤。
512-depth-ema.ckpt:从512-base-ema.ckpt恢复并进行了额外的200k步骤微调。增加了一个额外的输入通道,用于处理由 MiDaS (dpt_hybrid)产生的(相对)深度预测,作为附加的条件。处理这些额外信息的UNet的额外输入通道是以零初始化的。
512-inpainting-ema.ckpt:从512-base-ema.ckpt恢复并进行了额外的200k步骤训练。使用 LAMA 中提出的遮罩生成策略,在遮罩图像的潜在VAE表示和遮罩图像的结合中作为附加条件。处理这些额外信息的UNet的额外输入通道是以零初始化的。同样的策略用于训练 1.5-inpainting checkpoint 。
x4-upscaling-ema.ckpt:在包含尺寸>2048x2048的LAION子集中进行了125万步骤的训练。模型在尺寸为512x512的裁剪图上进行训练,是一个文本引导的 latent upscaling diffusion model 。除了文本输入外,还根据预定义的扩散计划添加一个noise_level作为输入参数,用于给低分辨率输入添加噪音。
硬件:32 x 8 x A100 GPU
优化器:AdamW
梯度累积:1
批次:32 x 8 x 2 x 4 = 2048
学习率:先热身到0.0001,经过10000步保持不变
使用不同的无分类器指导比例(1.5、2.0、3.0、4.0、5.0、6.0、7.0、8.0)和50步DDIM采样步骤对检查点进行了评估,以下为相对改进的结果:
使用50个DDIM步骤和COCO2017验证集中的10000个随机提示进行评估,以512x512的分辨率进行评估,不针对FID得分进行优化。
稳定扩散v1预计的排放量基于 Machine Learning Impact calculator 的信息。硬件、运行时间、云服务提供商和计算地区被用于估计碳足迹。
@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和David Ha编写,基于 Stable Diffusion v1 和 DALL-E Mini model card 。