Kandinsky-3项目介绍
项目背景
Kandinsky 3.0是一个开源的文本生成图像扩散模型,是在Kandinsky2-x模型系列的基础上开发而成。与之前的版本相比,Kandinsky 3.0结合了更多的数据,尤其是与俄罗斯文化相关的数据,这使得该模型能够生成与俄罗斯文化相关的图像。此外,通过增大文本编码器和扩散U-Net模型的大小,提高了模型的文本理解能力和视觉质量。
模型架构
Kandinsky 3.0的架构由三个主要部分组成:
- 文本编码器Flan-UL2(编码器部分),参数量为86亿。
- 潜差扩散U-Net,参数量为30亿。
- MoVQ编码器/解码器,参数量为267百万。
发布的模型
Kandinsky 3.0提供了两个模型版本:
- 基础版:基础的文本生成图像扩散模型。该模型在400块A100显卡上经过200万步的训练。
- 修复版:从基础版的最终检查点初始化,在300块A100显卡上经过25万步训练完成。
安装指南
要使用Kandinsky 3.0,确保从主分支安装diffusers
,以及更新安装Transformers和Accelerate库。
pip install git+https://github.com/huggingface/diffusers.git
pip install --upgrade transformers accelerate
使用方法
文本到图像
以下是一段示例代码,通过输入一段文本生成相应的图像:
from diffusers import AutoPipelineForText2Image
import torch
pipe = AutoPipelineForText2Image.from_pretrained("kandinsky-community/kandinsky-3", variant="fp16", torch_dtype=torch.float16)
pipe.enable_model_cpu_offload()
prompt = "A photograph of the inside of a subway train. There are raccoons sitting on the seats. One of them is reading a newspaper. The window shows the city in the background."
generator = torch.Generator(device="cpu").manual_seed(0)
image = pipe(prompt, num_inference_steps=25, generator=generator).images[0]
图像到图像
以下是一段示例代码,通过输入图像和文本进行图像的创意变形:
from diffusers import AutoPipelineForImage2Image
from diffusers.utils import load_image
import torch
pipe = AutoPipelineForImage2Image.from_pretrained("kandinsky-community/kandinsky-3", variant="fp16", torch_dtype=torch.float16)
pipe.enable_model_cpu_offload()
prompt = "A painting of the inside of a subway train with tiny raccoons."
image = load_image("https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main/kandinsky3/t2i.png")
generator = torch.Generator(device="cpu").manual_seed(0)
image = pipe(prompt, image=image, strength=0.75, num_inference_steps=25, generator=generator).images[0]
生成示例
Kandinsky 3.0可以生成各种风格的图像,包括幻想场景、艺术风格画作等,展示了其在图像生成领域的强大能力。具体生成效果请参考相关文章和示例图片。
作者团队
Kandinsky 3.0由多个贡献者协作完成,包括:
- Vladimir Arkhipkin
- Anastasia Maltseva
- Andrei Filatov
- Igor Pavlov
- Julia Agafonova
- Arseniy Shakhmatov
- Andrey Kuznetsov
- Denis Dimitrov
他们通过不断的研发和优化,为该项目的成功提供了重要支持。