模型:
stabilityai/stable-diffusion-x4-upscaler
该模型卡关注与Stable Diffusion增强器相关的模型,可以在 here 上使用。该模型在包含图像 >2048x2048 的10M LAION子集上进行了1.25M步的训练。模型在大小为512x512的裁剪图上进行训练,并且是一个文本引导式的 latent upscaling diffusion model 。除了文本输入,它还接收一个 noise_level 作为输入参数,根据预定义的扩散计划可以用于给低分辨率输入添加噪声。
开发者:Robin Rombach,Patrick Esser
模型类型:基于扩散的文本到图像生成模型
语言:英语
模型描述:这是一个用于根据文本提示生成和修改图像的模型。它是一个 Latent Diffusion Model ,使用固定的预训练文本编码器( OpenCLIP-ViT/H )。
了解更多信息的资源: 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 以简单高效的方式运行 Stable Diffusion 2。
pip install diffusers transformers accelerate scipy safetensors
import requests from PIL import Image from io import BytesIO from diffusers import StableDiffusionUpscalePipeline import torch # load model and scheduler model_id = "stabilityai/stable-diffusion-x4-upscaler" pipeline = StableDiffusionUpscalePipeline.from_pretrained(model_id, torch_dtype=torch.float16) pipeline = pipeline.to("cuda") # let's download an image url = "https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main/sd2-upscale/low_res_cat.png" response = requests.get(url) low_res_img = Image.open(BytesIO(response.content)).convert("RGB") low_res_img = low_res_img.resize((128, 128)) prompt = "a white cat" upscaled_image = pipeline(prompt=prompt, image=low_res_img).images[0] upscaled_image.save("upsampled_cat.png")
注意:
该模型仅供研究目的使用。可能的研究领域和任务包括
描述了以下不适用的用途。
注意:此部分原始摘自 DALLE-MINI model card ,用于Stable Diffusion v1,但同样适用于Stable Diffusion v2。
不应使用该模型有意地创建或传播人们可能发现令人不安、痛苦或冒犯的图像,或传播历史上或当前的刻板印象的内容。
超出范畴的使用该模型并未经过训练,无法对人物或事件进行事实或真实的呈现,因此使用该模型生成此类内容超出了该模型的能力范畴。
滥用和恶意使用滥用该模型生成对个人残忍的内容是对该模型的滥用。这包括但不限于:
尽管图像生成模型的功能令人印象深刻,但它们也可能强化或恶化社会偏见。Stable Diffusion vw主要是在 LAION-2B(en) 的子集上训练的,该数据集只包含英文描述的图像。来自使用其他语言的社区和文化的文本和图像可能没有得到充分考虑。这会影响模型的整体输出,因为白人和西方文化通常被设定为默认值。此外,模型使用非英语提示生成内容的能力明显不如使用英语提示。Stable Diffusion v2体现和加剧了偏见,以至于不论输入或其目的如何,都必须建议观察者要谨慎对待。
训练数据:模型开发者使用以下数据集对模型进行训练:
训练过程 Stable Diffusion v2是一个潜在的扩散模型,它将自编码器与在自编码器的潜在空间中训练的扩散模型相结合。在训练过程中,
我们目前提供以下检查点:
512-base-ema.ckpt :在一个筛选了明确色情材料的 LAION-5B 集上的256x256分辨率训练的550k步,使用带有punsafe=0.1的 LAION-NSFW classifier 。在同一数据集中,以分辨率 >= 512x512 进行了850k步。
768-v-ema.ckpt :从512-base-ema.ckpt恢复并训练了150k步,使用 v-objective 进行了与同一数据集上768x768子集的140k步。
512-depth-ema.ckpt :从 512-base-ema.ckpt 恢复并进行了200k步优化。通过向被 MiDaS 生成的(相对)深度预测(dpt_hybrid)添加了额外的输入通道,用作附加的条件。处理此额外信息的U-Net的额外输入通道被初始化为零。
512-inpainting-ema.ckpt :从 512-base-ema.ckpt 恢复并训练了另外200k步。遵循 LAMA 中呈现的掩码生成策略,该策略与遮挡图像的潜在VAE表示一起用作附加的条件。处理此额外信息的U-Net的额外输入通道被初始化为零。相同的策略用于训练 1.5-inpainting checkpoint 。
x4-upscaling-ema.ckpt :在包含图像 >2048x2048 的10M LAION子集上进行了1.25M步的训练。模型在大小为512x512的裁剪上进行了训练,并且是一个文本引导的 latent upscaling diffusion model 。除了文本输入,它还接收一个 noise_level 作为输入参数,根据预定义的扩散计划可以用于给低分辨率输入添加噪声。
硬件:32 x 8 x A100 GPUs
优化器:AdamW
梯度累积:1
Batch:32 x 8 x 2 x 4 = 2048
学习率:预热到0.0001,持续10,000步,并保持不变
使用不同的无分类器引导比例(1.5、2.0、3.0、4.0、5.0、6.0、7.0、8.0)和50步DDIM采样步骤进行的评估显示了检查点的相对改进:
使用50个DDIM步骤和来自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和David Ha编写,基于 Stable Diffusion v1 和 DALL-E Mini model card 。