模型:
lambdalabs/sd-image-variations-diffusers
? 发布V2模型,并修复了模糊问题! ?
?? 现在在 ? Diffusers 中本地支持Image Variations! ??
这个版本的Stable Diffusion经过了微调,从 CompVis/stable-diffusion-v1-4-original 开始接受CLIP图像嵌入而不是文本嵌入。这使得使用Stable Diffusion创建“图像变体”类似于DALLE-2成为可能。这个权重版本已经被移植到了huggingface的Diffusers库中,使用Diffusers库需要使用 Lambda Diffusers repo 。
这个模型经过了两个阶段的训练,时间比原始的变体模型更长,图像质量和CLIP相似得分比原始版本更好。
查看训练细节和v1与v2的比较如下所示。
确保使用Diffusers版本 >=0.8.0(对于较早的版本,请参阅本模型卡底部的旧说明)
from diffusers import StableDiffusionImageVariationPipeline from PIL import Image device = "cuda:0" sd_pipe = StableDiffusionImageVariationPipeline.from_pretrained( "lambdalabs/sd-image-variations-diffusers", revision="v2.0", ) sd_pipe = sd_pipe.to(device) im = Image.open("path/to/image.jpg") tform = transforms.Compose([ transforms.ToTensor(), transforms.Resize( (224, 224), interpolation=transforms.InterpolationMode.BICUBIC, antialias=False, ), transforms.Normalize( [0.48145466, 0.4578275, 0.40821073], [0.26862954, 0.26130258, 0.27577711]), ]) inp = tform(im).to(device).unsqueeze(0) out = sd_pipe(inp, guidance_scale=3) out["images"][0].save("result.jpg")
请注意,由于在训练过程中的一个小失误,模型期望调整大小的图像没有抗锯齿。这样做的方式对于推理过程中的调整大小非常重要。当将PIL图像传递给Diffusers流水线时,会应用抗锯齿效果,因此最好输入一个您根据上面示例中的转换手动准备好的张量!
这里是在调整大小时生成的图像的示例,上面的图像是没有使用抗锯齿效果的,下面的图像是使用了抗锯齿效果的。(输入是 this image )
下面是V1和V2的一个例子,版本二经过更加细致和长时间的训练,具体细节见下方。V2-上方 vs V1-下方
输入图像:
一个重要的事项是由于更长的训练时间,V2似乎记住了一些来自训练数据的常见图像,例如现在对《戴珍珠耳环的少女》的上一个例子几乎完美地复制了原始图片,而不是创造变体。您可以通过指定revision="v1.0"来始终使用v1。
对于以戴珍珠耳环的少女作为输入的v2输出(导向尺度=3)
训练过程 这个模型是从Stable Diffusion v1-3微调而来的,其中文本编码器被图像编码器替换。训练过程与Stable Diffusion相同,只是图像通过ViT-L/14图像编码器进行编码,包括将最终投影层映射到CLIP共享嵌入空间。该模型在LAION改进美学6plus上进行了训练。
硬件:8个A100-40GB GPU(由 Lambda GPU Cloud 提供)
优化器:AdamW
阶段1 - 仅微调Stable Diffusion v1.4模型的CrossAttention层权重
阶段2 - 从第1阶段恢复训练整个unet
使用了 modified version of the original Stable Diffusion training code 进行训练。
以下部分改编自 Stable Diffusion model card
该模型仅用于研究目的。可能的研究领域和任务包括
以下是不包括在内的用途的描述。
该模型不应用于有意制作或传播人们预计会感到不安、困扰或冒犯的图像的目的,包括生成可能令人不安、困扰或冒犯的内容,或传播历史或现实的刻板印象的内容。
超出范围使用该模型未经培训,不能真实地表现人或事件,因此使用该模型生成该类内容超出了该模型能力的范围。
不当使用和恶意使用使用该模型生成对个人有害的内容是该模型的不当使用。这包括但不限于:
虽然图像生成模型的能力令人印象深刻,但它们也可能强化或加剧社会偏见。Stable Diffusion v1是根据 LAION-2B(en) 的子集进行训练的,该数据集主要包含英文描述的图像。来自使用其他语言的社区和文化的文本和图像可能没有得到充分考虑。这影响了模型的整体输出,因为白人和西方文化通常被默认为默认值。此外,与英语提示相比,该模型使用非英语语言提示生成内容的能力明显较差。
该模型的预期使用是与Diffusers中的 Safety Checker 一起使用。此检查器通过在生成图像后,将模型输出与已知的硬编码NSFW概念进行比较来工作。这些概念是有意隐藏的,以减少逆向工程此过滤器的可能性。具体来说,该检查器会将生成的图像与CLIPModel的嵌入空间中各个有害概念的手工设计权重进行比较。
如果您使用的是diffusers版本