Buckets:

mishig's picture
|
download
raw
20.3 kB

Kandinsky 3

Kandinsky 3, Vladimir Arkhipkin,Anastasia Maltseva,Igor Pavlov,Andrei Filatov,Arseniy Shakhmatov,Andrey Kuznetsov,Denis Dimitrov ve Zein Shaheen tarafından oluşturulmuştur.

GitHub sayfasındaki açıklama:

Kandinsky 3.0, Kandinsky2-x model ailesi üzerine inşa edilmiş açık kaynaklı bir metinden görüntüye difüzyon modelidir. Önceki sürümlerine kıyasla, metin kodlayıcı ve Diffusion U-Net modellerinin boyutları sırasıyla artırılarak modelin metin anlama ve görsel kalitesi iyileştirilmiştir.

Mimarisinde 3 ana bileşen bulunur:

  1. T5 mimarisine dayalı bir kodlayıcı-çözücü modeli olan FLAN-UL2.
  2. BigGAN-deep blokları içeren yeni U-Net mimarisi, parametre sayısını aynı tutarken derinliği ikiye katlar.
  3. Sber-MoVQGAN, görüntü restorasyonunda üstün sonuçlara sahip olduğu kanıtlanmış bir çözücü (decoder)dur.

Orijinal kod tabanı ai-forever/Kandinsky-3 adresinde bulunabilir.

Görselden görsel, metinden görsel ve inpainting gibi görevler için resmi model checkpoint'lerini Hub'daki Kandinsky Community kuruluşunda bulabilirsiniz.

Zamanlayıcı hızı ve kalitesi arasındaki ödünleşimi nasıl keşfedebileceğinizi öğrenmek için zamanlayıcılar kılavuzunu mutlaka inceleyin ve aynı bileşenleri birden fazla boru hattına nasıl verimli bir şekilde yükleyebileceğinizi öğrenmek için boru hatları arasında bileşenleri yeniden kullanma bölümüne göz atın.

Kandinsky3Pipeline[[diffusers.Kandinsky3Pipeline]]

diffusers.Kandinsky3Pipeline[[diffusers.Kandinsky3Pipeline]]

diffusers.Kandinsky3Pipeline(tokenizer: T5Tokenizer, text_encoder: T5EncoderModel, unet: Kandinsky3UNet, scheduler: DDPMScheduler, movq: VQModel)

Kaynak

call[[diffusers.Kandinsky3Pipeline.call]]

__call__(prompt: str | list[str] = None, num_inference_steps: int = 25, guidance_scale: float = 3.0, negative_prompt: str | list[str] | None = None, num_images_per_prompt: int | None = 1, height: int | None = 1024, width: int | None = 1024, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, attention_mask: typing.Optional[torch.Tensor] = None, negative_attention_mask: typing.Optional[torch.Tensor] = None, output_type: str | None = 'pil', return_dict: bool = True, latents = None, callback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = None, callback_on_step_end_tensor_inputs: list = ['latents'], **kwargs)

Kaynak

Parametreler:

prompt (str veya list[str], isteğe bağlı) : Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmamışsa, bunun yerine prompt_embeds geçirilmelidir.

num_inference_steps (int, isteğe bağlı, varsayılan 25) : Gürültü azaltma adım sayısı. Daha fazla gürültü azaltma adımı genellikle daha yavaş çıkarım pahasına daha yüksek kaliteli bir görüntüye yol açar.

guidance_scale (float, isteğe bağlı, varsayılan 3.0) : Classifier-Free Diffusion Guidance'de tanımlandığı gibi yönlendirme ölçeği. guidance_scale, Imagen Paper'deki 2. denklemindeki w olarak tanımlanır. Yönlendirme ölçeği, guidance_scale > 1 olarak ayarlanarak etkinleştirilir. Daha yüksek yönlendirme ölçeği, genellikle daha düşük görüntü kalitesi pahasına, prompt ile yakından ilişkili görüntülerin üretilmesini teşvik eder.

negative_prompt (str veya list[str], isteğe bağlı) : Görsel üretimi yönlendirmemek için kullanılan istem veya istemler. Tanımlanmazsa, bunun yerine negative_prompt_embeds parametresinin geçirilmesi gerekir. Yönlendirme kullanılmadığında (yani guidance_scale değeri 1'den küçükse) yok sayılır.

num_images_per_prompt (int, isteğe bağlı, varsayılan 1) : Her istem için üretilecek görsel sayısı.

height (int, isteğe bağlı, varsayılan: self.unet.config.sample_size) : Üretilen görüntünün piksel cinsinden yüksekliği.

width (int, isteğe bağlı, varsayılan: self.unet.config.sample_size) : Üretilen görüntünün piksel cinsinden genişliği.

generator (torch.Generator veya list[torch.Generator], isteğe bağlı) : Üretimi deterministik hale getirmek için bir veya torch üreteci(leri) listesi.

prompt_embeds (torch.Tensor, isteğe bağlı) : Ön oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. istem ağırlıklandırması. Sağlanmazsa, metin gömme değerleri prompt girdi argümanından oluşturulur.

negative_prompt_embeds (torch.Tensor, isteğe bağlı) : Ön oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds, negative_prompt girdi argümanından oluşturulur.

attention_mask (torch.Tensor, isteğe bağlı) : Önceden oluşturulmuş dikkat maskesi. prompt_embeds doğrudan geçiriliyorsa sağlanmalıdır.

negative_attention_mask (torch.Tensor, isteğe bağlı) : Önceden oluşturulmuş negatif dikkat maskesi. negative_prompt_embeds doğrudan geçiriliyorsa sağlanmalıdır.

output_type (str, isteğe bağlı, varsayılan "pil") : Üretilen görüntünün çıktı biçimi. PIL: PIL.Image.Image veya np.array arasında seçim yapın.

return_dict (bool, isteğe bağlı, varsayılan True) : Düz bir tuple yerine ~pipelines.stable_diffusion.IFPipelineOutput döndürülecek mi?

latents (torch.Tensor, isteğe bağlı) : Görsel üretimi için girdi olarak kullanılacak, Gauss dağılımından örneklenen önceden oluşturulmuş gürültülü latentler. Farklı istemlerle aynı üretimi ayarlamak için kullanılabilir. Sağlanmazsa, sağlanan rastgele generator kullanılarak örneklem yoluyla bir latent tensörü oluşturulur.

callback_on_step_end (Callable, isteğe bağlı) : Çıkarım sırasında her gürültü azaltma adımının sonunda çağrılan bir işlev. İşlev aşağıdaki argümanlarla çağrılır: callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict). callback_kwargs, callback_on_step_end_tensor_inputs tarafından belirtilen tüm tensörlerin listesini içerir.

callback_on_step_end_tensor_inputs (list, isteğe bağlı) : callback_on_step_end işlevi için girdi tensörlerinin listesi. Listede belirtilen tensörler, callback_kwargs argümanı olarak geçirilir. Yalnızca pipeline sınıfınızın ._callback_tensor_inputs özniteliğinde listelenen değişkenleri dahil edebilirsiniz.

Dönüş: ImagePipelineOutput veya tuple

Üretim için pipeline çağrıldığında tetiklenen işlev.

Örnekler:

>>> 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]

encode_prompt[[diffusers.Kandinsky3Pipeline.encode_prompt]]

encode_prompt(prompt, do_classifier_free_guidance = True, num_images_per_prompt = 1, device = None, negative_prompt = None, prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, _cut_context = False, attention_mask: typing.Optional[torch.Tensor] = None, negative_attention_mask: typing.Optional[torch.Tensor] = None)

Kaynak

Parametreler:

prompt (str veya list[str], isteğe bağlı) : kodlanacak istem

device : (torch.device, isteğe bağlı): Sonuç olarak elde edilen gömme vektörlerinin yerleştirileceği torch cihazı

num_images_per_prompt (int, isteğe bağlı, varsayılan 1) : her istem için oluşturulacak görsel sayısı

do_classifier_free_guidance (bool, isteğe bağlı, varsayılan True) : sınıflandırıcı serbest yönlendirmenin (classifier free guidance) kullanılıp kullanılmayacağı

negative_prompt (str veya list[str], isteğe bağlı) : Görsel üretimi yönlendirmemek için kullanılan istem veya istemler. Tanımlanmamışsa, bunun yerine negative_prompt_embeds geçirilmelidir. Tanımlanmamışsa, bunun yerine negative_prompt_embeds geçirilmelidir. Yönlendirme kullanılmadığında yok sayılır (yani guidance_scale, 1'den küçükse yok sayılır).

prompt_embeds (torch.Tensor, isteğe bağlı) : Ön oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. istem ağırlıklandırması. Sağlanmazsa, metin gömme değerleri prompt girdi argümanından oluşturulur.

negative_prompt_embeds (torch.Tensor, isteğe bağlı) : Ön oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds, negative_prompt girdi argümanından oluşturulur.

attention_mask (torch.Tensor, isteğe bağlı) : Önceden oluşturulmuş dikkat maskesi. prompt_embeds doğrudan geçiriliyorsa sağlanmalıdır.

negative_attention_mask (torch.Tensor, isteğe bağlı) : Önceden oluşturulmuş negatif dikkat maskesi. negative_prompt_embeds doğrudan geçiriliyorsa sağlanmalıdır.

İsteği metin kodlayıcı gizli durumlarına kodlar.

Kandinsky3Img2ImgPipeline[[diffusers.Kandinsky3Img2ImgPipeline]]

diffusers.Kandinsky3Img2ImgPipeline[[diffusers.Kandinsky3Img2ImgPipeline]]

diffusers.Kandinsky3Img2ImgPipeline(tokenizer: T5Tokenizer, text_encoder: T5EncoderModel, unet: Kandinsky3UNet, scheduler: DDPMScheduler, movq: VQModel)

Kaynak

call[[diffusers.Kandinsky3Img2ImgPipeline.call]]

__call__(prompt: str | list[str] = None, image: typing.Union[torch.Tensor, list[torch.Tensor], PIL.Image.Image, list[PIL.Image.Image]] = None, strength: float = 0.3, num_inference_steps: int = 25, guidance_scale: float = 3.0, negative_prompt: str | list[str] | None = None, num_images_per_prompt: int | None = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, attention_mask: typing.Optional[torch.Tensor] = None, negative_attention_mask: typing.Optional[torch.Tensor] = None, output_type: str | None = 'pil', return_dict: bool = True, callback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = None, callback_on_step_end_tensor_inputs: list = ['latents'], **kwargs)

Kaynak

Parametreler:

prompt (str veya list[str], isteğe bağlı) : Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmamışsa, bunun yerine prompt_embeds geçirilmelidir.

image (torch.Tensor, PIL.Image.Image, np.ndarray, list[torch.Tensor], list[PIL.Image.Image] veya list[np.ndarray]) : Image veya bir görüntü grubunu temsil eden tensör; süreç için başlangıç noktası olarak kullanılacaktır.

strength (float, opsiyonel, varsayılan 0.8) : Referans image'in dönüştürülme derecesini belirtir. 0 ile 1 arasında olmalıdır. image bir başlangıç noktası olarak kullanılır ve strength değeri arttıkça daha fazla gürültü eklenir. Gürültü azaltma adımlarının sayısı, başlangıçta eklenen gürültü miktarına bağlıdır. strength 1 olduğunda eklenen gürültü maksimumdur ve gürültü azaltma süreci, num_inference_steps içinde belirtilen tam tekrar sayısı kadar çalışır. 1 değeri, image'ı fiilen yok sayar.

num_inference_steps (int, isteğe bağlı, varsayılan 50) : Gürültü azaltma adım sayısı. Daha fazla gürültü azaltma adımı genellikle daha yavaş çıkarım pahasına daha yüksek kaliteli bir görüntüye yol açar.

guidance_scale (float, isteğe bağlı, varsayılan 3.0) : Classifier-Free Diffusion Guidance'de tanımlandığı gibi yönlendirme ölçeği. guidance_scale, Imagen Paper'deki 2. denklemindeki w olarak tanımlanır. Yönlendirme ölçeği, guidance_scale > 1 olarak ayarlanarak etkinleştirilir. Daha yüksek yönlendirme ölçeği, genellikle daha düşük görüntü kalitesi pahasına, prompt ile yakından ilişkili görüntülerin üretilmesini teşvik eder.

negative_prompt (str veya list[str], isteğe bağlı) : Görsel üretimi yönlendirmemek için kullanılan istem veya istemler. Tanımlanmazsa, bunun yerine negative_prompt_embeds parametresinin geçirilmesi gerekir. Yönlendirme kullanılmadığında (yani guidance_scale değeri 1'den küçükse) yok sayılır.

num_images_per_prompt (int, isteğe bağlı, varsayılan 1) : Her istem için üretilecek görsel sayısı.

generator (torch.Generator veya list[torch.Generator], isteğe bağlı) : Üretimi deterministik hale getirmek için bir veya torch üreteci(leri) listesi.

prompt_embeds (torch.Tensor, isteğe bağlı) : Ön oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. istem ağırlıklandırması. Sağlanmazsa, metin gömme değerleri prompt girdi argümanından oluşturulur.

negative_prompt_embeds (torch.Tensor, isteğe bağlı) : Ön oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds, negative_prompt girdi argümanından oluşturulur.

attention_mask (torch.Tensor, isteğe bağlı) : Önceden oluşturulmuş dikkat maskesi. prompt_embeds doğrudan geçiriliyorsa sağlanmalıdır.

negative_attention_mask (torch.Tensor, isteğe bağlı) : Önceden oluşturulmuş negatif dikkat maskesi. negative_prompt_embeds doğrudan geçiriliyorsa sağlanmalıdır.

output_type (str, isteğe bağlı, varsayılan "pil") : Üretilen görüntünün çıktı biçimi. PIL: PIL.Image.Image veya np.array arasında seçim yapın.

return_dict (bool, isteğe bağlı, varsayılan True) : Düz bir tuple yerine ~pipelines.stable_diffusion.IFPipelineOutput döndürülecek mi?

callback_on_step_end (Callable, isteğe bağlı) : Çıkarım sırasında her gürültü azaltma adımının sonunda çağrılan bir işlev. İşlev aşağıdaki argümanlarla çağrılır: callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict). callback_kwargs, callback_on_step_end_tensor_inputs tarafından belirtilen tüm tensörlerin listesini içerir.

callback_on_step_end_tensor_inputs (list, isteğe bağlı) : callback_on_step_end işlevi için girdi tensörlerinin listesi. Listede belirtilen tensörler, callback_kwargs argümanı olarak geçirilir. Yalnızca pipeline sınıfınızın ._callback_tensor_inputs özniteliğinde listelenen değişkenleri dahil edebilirsiniz.

Dönüş: ImagePipelineOutput veya tuple

Üretim için pipeline çağrıldığında tetiklenen işlev.

Örnekler:

>>> 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]

encode_prompt[[diffusers.Kandinsky3Img2ImgPipeline.encode_prompt]]

encode_prompt(prompt, do_classifier_free_guidance = True, num_images_per_prompt = 1, device = None, negative_prompt = None, prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, _cut_context = True, attention_mask: typing.Optional[torch.Tensor] = None, negative_attention_mask: typing.Optional[torch.Tensor] = None)

Kaynak

Parametreler:

prompt (str veya list[str], isteğe bağlı) : kodlanacak istem

İsteği metin kodlayıcı gizli durumlarına kodlar.

device: (torch.device, isteğe bağlı): Sonuçtaki gömme vektörlerinin yerleştirileceği torch cihazı num_images_per_prompt (int, isteğe bağlı, varsayılan 1): Her istem için oluşturulması gereken görsel sayısı do_classifier_free_guidance (bool, isteğe bağlı, varsayılan True): Sınıflandırıcı serbest yönlendirmenin (classifier free guidance) kullanılıp kullanılmayacağını belirtir negative_prompt (str veya list[str], isteğe bağlı): Görsel üretimini yönlendirmemek için kullanılan istem veya istemler. Tanımlanmadıysa bunun yerine negative_prompt_embeds geçirilmelidir. Tanımlanmadıysa bunun yerine negative_prompt_embeds geçirilmelidir. Yönlendirme kullanılmadığında yok sayılır (yani guidance_scale 1'den küçükse yok sayılır). prompt_embeds (torch.Tensor, isteğe bağlı): Önceden oluşturulmuş metin gömme vektörleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. istem ağırlıklandırması. Sağlanmazsa, metin gömme vektörleri prompt girdi argümanından oluşturulur. negative_prompt_embeds (torch.Tensor, isteğe bağlı): Önceden oluşturulmuş negatif metin gömme vektörleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds negative_prompt girdi argümanından oluşturulur. attention_mask (torch.Tensor, isteğe bağlı): Önceden oluşturulmuş dikkat maskesi. prompt_embeds doğrudan geçiriliyorsa sağlanmalıdır. negative_attention_mask (torch.Tensor, isteğe bağlı): Önceden oluşturulmuş negatif dikkat maskesi. negative_prompt_embeds doğrudan geçiriliyorsa sağlanmalıdır.

Xet Storage Details

Size:
20.3 kB
·
Xet hash:
c69b66b4b2d0d145306bd6c74d5ef5353a9129cf2ecc1091f1644797600151e0

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.