Kandinsky 2.1

kandinsky-community
Texto a imagen

Kandinsky 2.1 hereda las mejores prácticas de DALL-E 2 y Latent Diffusion mientras introduce algunas nuevas ideas. Utiliza el modelo CLIP como un codificador de texto e imagen, y un mapeo de imagen de difusión (diffusion image prior) entre los espacios latentes de las modalidades de CLIP. Este enfoque incrementa el rendimiento visual del modelo y desvela nuevos horizontes en la mezcla de imágenes y la manipulación de imágenes guiada por texto. El modelo Kandinsky es creado por Arseniy Shakhmatov, Anton Razzhigaev, Aleksandr Nikolich, Igor Pavlov, Andrey Kuznetsov y Denis Dimitrov.

Como usar

¡Kandinsky 2.1 está disponible en diffusers!

pip install diffusers transformers accelerate

from diffusers import AutoPipelineForInpainting
from diffusers.utils import load_image
import torch
import numpy as np

pipe = AutoPipelineForInpainting.from_pretrained("kandinsky-community/kandinsky-2-1-inpaint", torch_dtype=torch.float16)
pipe.enable_model_cpu_offload()

prompt = "un sombrero"
negative_prompt = "baja calidad, mala calidad"

original_image = load_image("https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main/kandinsky/cat.png")

mask = np.zeros((768, 768), dtype=np.float32)
# Vamos a enmascarar un área sobre la cabeza del gato
mask[:250, 250:-250] = 1

image = pipe(prompt=prompt, image=original_image, mask_image=mask).images[0]
image.save("cat_with_hat.png")

# 🚨⚠️🚨 Cambio importante para el Inpainting de Kandinsky 🚨⚠️🚨
Hemos introducido un cambio importante para la canalización de inpainting de Kandinsky en el siguiente pull request: https://github.com/huggingface/diffusers/pull/4207. Anteriormente aceptábamos un formato de máscara donde los píxeles negros representaban el área enmascarada. Esto es inconsistente con todas las demás canalizaciones en diffusers. Hemos cambiado el formato de la máscara en Kandinsky y ahora usamos píxeles blancos en su lugar.
Por favor, actualice su código de inpainting para seguir lo anterior. Si está utilizando Kandinsky Inpaint en producción, ahora necesita cambiar la máscara a:
# Para entrada PIL
import PIL.ImageOps
mask = PIL.ImageOps.invert(mask)

# Para entrada PyTorch y Numpy
mask = 1 - mask

Funcionalidades

Inpainting guiado por texto
Generación de imágenes
Modelo CLIP como codificador de texto e imagen
Arquitectura de modelo basada en transformadores
MoVQGAN como decodificador de imágenes

Casos de uso

Inpainting guiado por texto
Mezcla de imágenes y manipulación guiada por texto
Generación de imágenes de alta calidad