Diffusers documentation

Kandinsky 5.0 Gambar

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Kandinsky 5.0 Gambar

Kandinsky 5.0 adalah keluarga model difusi untuk generasi Video & Gambar.

Kandinsky 5.0 Image Lite adalah model generasi gambar ringan (6B parameter).

Model ini memperkenalkan beberapa inovasi utama:

  • Pipeline difusi laten dengan Flow Matching untuk stabilitas pelatihan yang lebih baik
  • Diffusion Transformer (DiT) sebagai tulang punggung generatif utama dengan cross-attention ke embedding teks
  • Pengkodean teks ganda menggunakan Qwen2.5-VL dan CLIP untuk pemahaman teks yang komprehensif
  • Flux VAE untuk pengkodean dan penguraian gambar yang efisien

Kodebase asli dapat ditemukan di kandinskylab/Kandinsky-5.

Lihat organisasi Kandinsky Lab di Hub untuk checkpoint model resmi untuk generasi teks-ke-video, termasuk varian pretrained, SFT, no-CFG, dan distilled.

Model yang Tersedia

Kandinsky 5.0 Image Lite:

model_idDeskripsiKasus Penggunaan
kandinskylab/Kandinsky-5.0-T2I-Lite-sft-DiffusersModel Supervised Fine-Tuned gambar 6BKualitas generasi tertinggi
kandinskylab/Kandinsky-5.0-I2I-Lite-sft-DiffusersModel Supervised Fine-Tuned untuk pengeditan gambar 6BKualitas generasi tertinggi
kandinskylab/Kandinsky-5.0-T2I-Lite-pretrain-DiffusersModel pra-terlatih dasar gambar 6BPenelitian dan penyesuaian halus
kandinskylab/Kandinsky-5.0-I2I-Lite-pretrain-DiffusersModel pralatih dasar pengeditan gambar 6BPenelitian dan penyesuaian halus

Contoh Penggunaan

Generasi Teks-ke-Gambar Dasar

import torch
from diffusers import Kandinsky5T2IPipeline

# Load the pipeline
model_id = "kandinskylab/Kandinsky-5.0-T2I-Lite-sft-Diffusers"
pipe = Kandinsky5T2IPipeline.from_pretrained(model_id)
_ = pipe.to(device='cuda',dtype=torch.bfloat16)  # or "mps", "xpu", "cpu"

# Generate image
prompt = "A fluffy, expressive cat wearing a bright red hat with a soft, slightly textured fabric. The hat should look cozy and well-fitted on the cat’s head. On the front of the hat, add clean, bold white text that reads “SWEET”, clearly visible and neatly centered. Ensure the overall lighting highlights the hat’s color and the cat’s fur details."

output = pipe(
    prompt=prompt,
    negative_prompt="",
    height=1024,
    width=1024,
    num_inference_steps=50,
    guidance_scale=3.5,
).image[0]

Generasi Gambar-dari-Gambar Dasar

import torch
from diffusers import Kandinsky5I2IPipeline
from diffusers.utils import load_image 
# Load the pipeline
model_id = "kandinskylab/Kandinsky-5.0-I2I-Lite-sft-Diffusers"
pipe = Kandinsky5I2IPipeline.from_pretrained(model_id)

_ = pipe.to(device='cuda',dtype=torch.bfloat16)  # or "mps", "xpu", "cpu"
pipe.enable_model_cpu_offload()                                               # <--- Enable CPU offloading for single GPU inference

# Edit the input image
image = load_image(
    "https://huggingface.co/kandinsky-community/kandinsky-3/resolve/main/assets/title.jpg?download=true"
)

prompt = "Change the background from a winter night scene to a bright summer day. Place the character on a sandy beach with clear blue sky, soft sunlight, and gentle waves in the distance. Replace the winter clothing with a light short-sleeved T-shirt (in soft pastel colors) and casual shorts. Ensure the character’s fur reflects warm daylight instead of cold winter tones. Add small beach details such as seashells, footprints in the sand, and a few scattered beach toys nearby. Keep the oranges in the scene, but place them naturally on the sand."
negative_prompt = ""

output = pipe(
    image=image,
    prompt=prompt,
    negative_prompt=negative_prompt,
    guidance_scale=3.5,
).image[0]

Kandinsky5T2IPipeline

kelas diffusers.Kandinsky5T2IPipeline

< >

( transformer: Kandinsky5Transformer3DModelvae: AutoencoderKLtext_encoder: Qwen2_5_VLForConditionalGenerationtokenizer: Qwen2VLProcessortext_encoder_2: CLIPTextModeltokenizer_2: CLIPTokenizerscheduler: FlowMatchEulerDiscreteScheduler )

Parameter

  • transformer (Kandinsky5Transformer3DModel) — Transformer bersyarat untuk mendenoise latens gambar yang telah dikodekan.
  • vae (AutoencoderKL) — Model Variational Auto-Encoder black-forest-labs/FLUX.1-dev (vae) untuk mengodekan dan mendekodekan video ke dan dari representasi laten.
  • text_encoder (Qwen2_5_VLForConditionalGeneration) — Text-encoder Qwen2.5-VL yang dibekukan.
  • tokenizer (AutoProcessor) — Tokenizer untuk Qwen2.5-VL.
  • text_encoder_2 (CLIPTextModel) — CLIP yang dibekukan, khususnya varian clip-vit-large-patch14.
  • tokenizer_2 (CLIPTokenizer) — Tokenizer untuk CLIP.
  • scheduler (FlowMatchEulerDiscreteScheduler) — Scheduler yang digunakan bersama transformer untuk menghilangkan noise pada latens gambar yang telah dikodekan.

Pipeline untuk generasi teks-ke-gambar menggunakan Kandinsky 5.0.

Model ini mewarisi dari DiffusionPipeline. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan untuk semua pipeline (mengunduh, menyimpan, menjalankan pada perangkat tertentu, dll.).

__call__

< >

( prompt: str | list[str] = Nonenegative_prompt: str | list[str] | None = Noneheight: int = 1024width: int = 1024num_inference_steps: int = 50guidance_scale: float = 3.5num_images_per_prompt: int | None = 1generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonelatents: typing.Optional[torch.Tensor] = Noneprompt_embeds_qwen: typing.Optional[torch.Tensor] = Noneprompt_embeds_clip: typing.Optional[torch.Tensor] = Nonenegative_prompt_embeds_qwen: typing.Optional[torch.Tensor] = Nonenegative_prompt_embeds_clip: typing.Optional[torch.Tensor] = Noneprompt_cu_seqlens: typing.Optional[torch.Tensor] = Nonenegative_prompt_cu_seqlens: typing.Optional[torch.Tensor] = Noneoutput_type: str | None = 'pil'return_dict: bool = Truecallback_on_step_end: typing.Optional[typing.Callable[[int, int, NoneType], diffusers.callbacks.PipelineCallback | diffusers.callbacks.MultiPipelineCallbacks]] = Nonecallback_on_step_end_tensor_inputs: list = ['latents']max_sequence_length: int = 512 ) → ~KandinskyImagePipelineOutput or tuple

Parameter

  • prompt (str atau list[str], opsional) — Prompt atau prompt-prompt untuk mengarahkan generasi gambar. Jika tidak didefinisikan, berikan prompt_embeds sebagai gantinya.
  • negative_prompt (str atau list[str], opsional) — Prompt atau prompt-prompt yang harus dihindari selama pembuatan gambar. Jika tidak didefinisikan, berikan negative_prompt_embeds sebagai gantinya. Diabaikan saat tidak menggunakan panduan (guidance_scale < 1).
  • height (int, defaultnya 1024) — Tinggi gambar yang dihasilkan dalam piksel.
  • width (int, defaultnya 1024) — Lebar gambar yang dihasilkan dalam piksel.
  • num_inference_steps (int, defaultnya 50) — Jumlah langkah denoising.
  • guidance_scale (float, defaultnya 5.0) — Skala panduan seperti yang didefinisikan dalam classifier-free guidance.
  • num_images_per_prompt (int, opsional, default 1) — Jumlah gambar yang akan dihasilkan per prompt.
  • generator (torch.Generator atau list[torch.Generator], opsional) — Generator torch untuk membuat proses generasi menjadi deterministik.
  • latents (torch.Tensor, opsional) — Latents berisik yang telah dibuat sebelumnya.
  • prompt_embeds_qwen (torch.Tensor, opsional) — Embedding teks Qwen yang telah dibuat sebelumnya.
  • prompt_embeds_clip (torch.Tensor, opsional) — Embedding teks CLIP yang telah dibuat sebelumnya.
  • negative_prompt_embeds_qwen (torch.Tensor, opsional) — Embedding teks negatif Qwen yang telah dibuat sebelumnya.
  • negative_prompt_embeds_clip (torch.Tensor, opsional) — Embedding teks negatif CLIP yang telah dibuat sebelumnya.
  • prompt_cu_seqlens (torch.Tensor, opsional) — Panjang kumulatif urutan yang telah dibuat sebelumnya untuk prompt positif Qwen.
  • negative_prompt_cu_seqlens (torch.Tensor, opsional) — Panjang kumulatif urutan yang telah dibuat sebelumnya untuk prompt negatif Qwen.
  • output_type (str, opsional, default "pil") — Format output dari gambar yang dihasilkan.
  • return_dict (bool, opsional, default True) — Apakah akan mengembalikan KandinskyImagePipelineOutput.
  • callback_on_step_end (Callable, PipelineCallback, MultiPipelineCallbacks, opsional) — Fungsi yang dipanggil di akhir setiap langkah denoising.
  • callback_on_step_end_tensor_inputs (List, opsional) — Daftar input tensor untuk fungsi callback_on_step_end.
  • max_sequence_length (int, defaultnya 512) — Panjang maksimum sekuens untuk pengkodean teks.

Mengembalikan

~KandinskyImagePipelineOutput atau tuple

Jika return_dict adalah True, maka KandinskyImagePipelineOutput yang dikembalikan, selain itu sebuah tuple yang dikembalikan di mana elemen pertama adalah daftar dengan gambar yang dihasilkan.

Fungsi panggilan untuk pipeline pada generasi teks-ke-gambar.

Contoh:

>>> import torch
>>> from diffusers import Kandinsky5T2IPipeline

>>> # Available models:
>>> # kandinskylab/Kandinsky-5.0-T2I-Lite-sft-Diffusers
>>> # kandinskylab/Kandinsky-5.0-T2I-Lite-pretrain-Diffusers

>>> model_id = "kandinskylab/Kandinsky-5.0-T2I-Lite-sft-Diffusers"
>>> pipe = Kandinsky5T2IPipeline.from_pretrained(model_id, torch_dtype=torch.bfloat16)
>>> pipe = pipe.to("cuda")

>>> prompt = "A cat and a dog baking a cake together in a kitchen."

>>> output = pipe(
...     prompt=prompt,
...     negative_prompt="",
...     height=1024,
...     width=1024,
...     num_inference_steps=50,
...     guidance_scale=3.5,
... ).frames[0]

check_inputs

< >

( promptnegative_promptheightwidthprompt_embeds_qwen = Noneprompt_embeds_clip = Nonenegative_prompt_embeds_qwen = Nonenegative_prompt_embeds_clip = Noneprompt_cu_seqlens = Nonenegative_prompt_cu_seqlens = Nonecallback_on_step_end_tensor_inputs = Nonemax_sequence_length = None )

Parameter

  • prompt — Prompt input
  • negative_prompt — Prompt negatif untuk panduan
  • height — Tinggi gambar
  • width — Lebar gambar
  • prompt_embeds_qwen — Embedding prompt Qwen yang sudah dihitung sebelumnya
  • prompt_embeds_clip — Embedding prompt CLIP yang sudah dihitung sebelumnya
  • negative_prompt_embeds_qwen — Embedding prompt negatif Qwen yang sudah dihitung sebelumnya
  • negative_prompt_embeds_clip — Embedding prompt negatif CLIP yang sudah dihitung sebelumnya
  • prompt_cu_seqlens — Panjang kumulatif urutan yang sudah dihitung sebelumnya untuk prompt positif Qwen
  • negative_prompt_cu_seqlens — Panjang kumulatif urutan yang sudah dihitung sebelumnya untuk prompt negatif Qwen
  • callback_on_step_end_tensor_inputs — Input tensor callback

Membuang

ValueError

  • ValueError — Jika input tidak valid

Validasi parameter input untuk pipeline.

encode_prompt

< >

( prompt: str | list[str]num_images_per_prompt: int = 1max_sequence_length: int = 512device: typing.Optional[torch.device] = Nonedtype: typing.Optional[torch.dtype] = None ) → tuple[torch.Tensor, torch.Tensor, torch.Tensor]

Parameter

  • prompt (str atau list[str]) — Prompt yang akan dienkod.
  • num_images_per_prompt (int, opsional, default 1) — Jumlah gambar yang akan dihasilkan per prompt.
  • max_sequence_length (int, opsional, default 512) — Panjang maksimum urutan untuk pengkodean teks. Harus kurang dari 1024
  • device (torch.device, opsional) — Perangkat Torch.
  • dtype (torch.dtype, opsional) — Torch dtype.

Mengembalikan

tuple[torch.Tensor, torch.Tensor, torch.Tensor]

  • Qwen text embeddings dengan bentuk (batch_size * num_images_per_prompt, sequence_length, embedding_dim)
  • CLIP pooled embeddings dengan bentuk (batch_size * num_images_per_prompt, clip_embedding_dim)
  • Panjang sekuens kumulatif (cu_seqlens) untuk Qwen embeddings dengan bentuk (batch_size * num_images_per_prompt + 1,)

Mengkodekan satu prompt (positif atau negatif) ke dalam hidden states text encoder.

Metode ini menggabungkan embedding dari kedua encoder teks Qwen2.5-VL dan CLIP untuk membuat representasi teks yang komprehensif untuk generasi gambar.

prepare_latents

< >

( batch_size: intnum_channels_latents: int = 16height: int = 1024width: int = 1024dtype: typing.Optional[torch.dtype] = Nonedevice: typing.Optional[torch.device] = Nonegenerator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonelatents: typing.Optional[torch.Tensor] = None ) → torch.Tensor

Parameter

  • batch_size (int) — Jumlah gambar yang akan dihasilkan
  • num_channels_latents (int) — Jumlah channel di ruang laten
  • height (int) — Tinggi gambar yang dihasilkan
  • width (int) — Lebar gambar yang dihasilkan
  • dtype (torch.dtype) — Tipe data untuk latents
  • device (torch.device) — Perangkat untuk membuat latents
  • generator (torch.Generator) — Generator angka acak
  • latents (torch.Tensor) — Latens yang sudah ada untuk digunakan

Mengembalikan

torch.Tensor

Tensor laten yang disiapkan

Siapkan variabel laten awal untuk generasi teks-ke-gambar.

Metode ini membuat latens noise acak

Kandinsky5I2IPipeline

kelas diffusers.Kandinsky5I2IPipeline

< >

( transformer: Kandinsky5Transformer3DModelvae: AutoencoderKLtext_encoder: Qwen2_5_VLForConditionalGenerationtokenizer: Qwen2VLProcessortext_encoder_2: CLIPTextModeltokenizer_2: CLIPTokenizerscheduler: FlowMatchEulerDiscreteScheduler )

Parameter

  • transformer (Kandinsky5Transformer3DModel) — Transformer bersyarat untuk mendenoise latens gambar yang telah dikodekan.
  • vae (AutoencoderKL) — Model Variational Auto-Encoder black-forest-labs/FLUX.1-dev (vae) untuk mengodekan dan mendekodekan video ke dan dari representasi laten.
  • text_encoder (Qwen2_5_VLForConditionalGeneration) — Text-encoder Qwen2.5-VL yang dibekukan.
  • tokenizer (AutoProcessor) — Tokenizer untuk Qwen2.5-VL.
  • text_encoder_2 (CLIPTextModel) — CLIP yang dibekukan, khususnya varian clip-vit-large-patch14.
  • tokenizer_2 (CLIPTokenizer) — Tokenizer untuk CLIP.
  • scheduler (FlowMatchEulerDiscreteScheduler) — Scheduler yang digunakan bersama transformer untuk menghilangkan noise pada latens gambar yang telah dikodekan.

Pipeline untuk generasi gambar-ke-gambar menggunakan Kandinsky 5.0.

Model ini mewarisi dari DiffusionPipeline. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan untuk semua pipeline (mengunduh, menyimpan, menjalankan pada perangkat tertentu, dll.).

__call__

< >

( image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]prompt: str | list[str] = Nonenegative_prompt: str | list[str] | None = Noneheight: int | None = Nonewidth: int | None = Nonenum_inference_steps: int = 50guidance_scale: float = 3.5num_images_per_prompt: int | None = 1generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonelatents: typing.Optional[torch.Tensor] = Noneprompt_embeds_qwen: typing.Optional[torch.Tensor] = Noneprompt_embeds_clip: typing.Optional[torch.Tensor] = Nonenegative_prompt_embeds_qwen: typing.Optional[torch.Tensor] = Nonenegative_prompt_embeds_clip: typing.Optional[torch.Tensor] = Noneprompt_cu_seqlens: typing.Optional[torch.Tensor] = Nonenegative_prompt_cu_seqlens: typing.Optional[torch.Tensor] = Noneoutput_type: str | None = 'pil'return_dict: bool = Truecallback_on_step_end: typing.Optional[typing.Callable[[int, int, NoneType], diffusers.callbacks.PipelineCallback | diffusers.callbacks.MultiPipelineCallbacks]] = Nonecallback_on_step_end_tensor_inputs: list = ['latents']max_sequence_length: int = 1024 ) → ~KandinskyImagePipelineOutput or tuple

Parameter

  • image (PipelineImageInput) — Gambar input untuk mengondisikan generasi. Harus berupa gambar, daftar gambar, atau torch.Tensor.
  • prompt (str atau list[str], opsional) — Prompt atau prompt-prompt untuk mengarahkan generasi gambar. Jika tidak didefinisikan, berikan prompt_embeds sebagai gantinya.
  • negative_prompt (str atau list[str], opsional) — Prompt atau prompt-prompt yang harus dihindari selama pembuatan gambar. Jika tidak didefinisikan, berikan negative_prompt_embeds sebagai gantinya. Diabaikan saat tidak menggunakan panduan (guidance_scale < 1).
  • height (int) — Tinggi gambar yang dihasilkan dalam piksel.
  • width (int) — Lebar gambar yang dihasilkan dalam piksel.
  • num_inference_steps (int, defaultnya 50) — Jumlah langkah denoising.
  • guidance_scale (float, defaultnya 5.0) — Skala panduan seperti yang didefinisikan dalam classifier-free guidance.
  • num_images_per_prompt (int, opsional, default 1) — Jumlah gambar yang akan dihasilkan per prompt.
  • generator (torch.Generator atau list[torch.Generator], opsional) — Generator torch untuk membuat proses generasi menjadi deterministik.
  • latents (torch.Tensor, opsional) — Latents berisik yang telah dibuat sebelumnya.
  • prompt_embeds_qwen (torch.Tensor, opsional) — Embedding teks Qwen yang telah dibuat sebelumnya.
  • prompt_embeds_clip (torch.Tensor, opsional) — Embedding teks CLIP yang telah dibuat sebelumnya.
  • negative_prompt_embeds_qwen (torch.Tensor, opsional) — Embedding teks negatif Qwen yang telah dibuat sebelumnya.
  • negative_prompt_embeds_clip (torch.Tensor, opsional) — Embedding teks negatif CLIP yang telah dibuat sebelumnya.
  • prompt_cu_seqlens (torch.Tensor, opsional) — Panjang kumulatif urutan yang telah dibuat sebelumnya untuk prompt positif Qwen.
  • negative_prompt_cu_seqlens (torch.Tensor, opsional) — Panjang kumulatif urutan yang telah dibuat sebelumnya untuk prompt negatif Qwen.
  • output_type (str, opsional, default "pil") — Format output dari gambar yang dihasilkan.
  • return_dict (bool, opsional, default True) — Apakah akan mengembalikan KandinskyImagePipelineOutput.
  • callback_on_step_end (Callable, PipelineCallback, MultiPipelineCallbacks, opsional) — Fungsi yang dipanggil di akhir setiap langkah denoising.
  • callback_on_step_end_tensor_inputs (List, opsional) — Daftar input tensor untuk fungsi callback_on_step_end.
  • max_sequence_length (int, defaultnya 1024) — Panjang maksimum sekuens untuk pengkodean teks dan gambar qwen. Harus kurang dari 1024

Mengembalikan

~KandinskyImagePipelineOutput atau tuple

Jika return_dict adalah True, maka KandinskyImagePipelineOutput yang dikembalikan, selain itu sebuah tuple yang dikembalikan di mana elemen pertama adalah daftar dengan gambar yang dihasilkan.

Fungsi panggilan untuk pipeline pada generasi gambar-ke-gambar.

Contoh:

>>> import torch
>>> from diffusers import Kandinsky5I2IPipeline

>>> # Available models:
>>> # kandinskylab/Kandinsky-5.0-I2I-Lite-sft-Diffusers
>>> # kandinskylab/Kandinsky-5.0-I2I-Lite-pretrain-Diffusers

>>> model_id = "kandinskylab/Kandinsky-5.0-I2I-Lite-sft-Diffusers"
>>> pipe = Kandinsky5I2IPipeline.from_pretrained(model_id, torch_dtype=torch.bfloat16)
>>> pipe = pipe.to("cuda")

>>> prompt = "A cat and a dog baking a cake together in a kitchen."

>>> output = pipe(
...     prompt=prompt,
...     negative_prompt="",
...     height=1024,
...     width=1024,
...     num_inference_steps=50,
...     guidance_scale=3.5,
... ).frames[0]

check_inputs

< >

( promptnegative_promptimageheightwidthprompt_embeds_qwen = Noneprompt_embeds_clip = Nonenegative_prompt_embeds_qwen = Nonenegative_prompt_embeds_clip = Noneprompt_cu_seqlens = Nonenegative_prompt_cu_seqlens = Nonecallback_on_step_end_tensor_inputs = Nonemax_sequence_length = None )

Parameter

  • prompt — Prompt input
  • negative_prompt — Prompt negatif untuk panduan
  • image — Gambar input untuk kondisioning
  • height — Tinggi gambar
  • width — Lebar gambar
  • prompt_embeds_qwen — Embedding prompt Qwen yang sudah dihitung sebelumnya
  • prompt_embeds_clip — Embedding prompt CLIP yang sudah dihitung sebelumnya
  • negative_prompt_embeds_qwen — Embedding prompt negatif Qwen yang sudah dihitung sebelumnya
  • negative_prompt_embeds_clip — Embedding prompt negatif CLIP yang sudah dihitung sebelumnya
  • prompt_cu_seqlens — Panjang kumulatif urutan yang sudah dihitung sebelumnya untuk prompt positif Qwen
  • negative_prompt_cu_seqlens — Panjang kumulatif urutan yang sudah dihitung sebelumnya untuk prompt negatif Qwen
  • callback_on_step_end_tensor_inputs — Input tensor callback

Membuang

ValueError

  • ValueError — Jika input tidak valid

Validasi parameter input untuk pipeline.

encode_prompt

< >

( prompt: str | list[str]image: Tensornum_images_per_prompt: int = 1max_sequence_length: int = 1024device: typing.Optional[torch.device] = Nonedtype: typing.Optional[torch.dtype] = None ) → tuple[torch.Tensor, torch.Tensor, torch.Tensor]

Parameter

  • prompt (str atau list[str]) — Prompt yang akan dienkod.
  • num_images_per_prompt (int, opsional, default 1) — Jumlah gambar yang akan dihasilkan per prompt.
  • max_sequence_length (int, opsional, default 1024) — Panjang maksimum urutan untuk pengkodean teks. Harus kurang dari 1024
  • device (torch.device, opsional) — Perangkat Torch.
  • dtype (torch.dtype, opsional) — Torch dtype.

Mengembalikan

tuple[torch.Tensor, torch.Tensor, torch.Tensor]

  • Qwen text embeddings dengan bentuk (batch_size * num_images_per_prompt, sequence_length, embedding_dim)
  • CLIP pooled embeddings dengan bentuk (batch_size * num_images_per_prompt, clip_embedding_dim)
  • Panjang sekuens kumulatif (cu_seqlens) untuk Qwen embeddings dengan bentuk (batch_size * num_images_per_prompt + 1,)

Mengkodekan satu prompt (positif atau negatif) ke dalam hidden states text encoder.

Metode ini menggabungkan embedding dari kedua encoder teks Qwen2.5-VL dan CLIP untuk membuat representasi teks yang komprehensif untuk generasi gambar.

prepare_latents

< >

( image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]batch_size: intnum_channels_latents: int = 16height: int = 1024width: int = 1024dtype: typing.Optional[torch.dtype] = Nonedevice: typing.Optional[torch.device] = Nonegenerator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonelatents: typing.Optional[torch.Tensor] = None ) → torch.Tensor

Parameter

  • image (PipelineImageInput) — Gambar input untuk mengondisikan generasi
  • batch_size (int) — Jumlah gambar yang akan dihasilkan
  • num_channels_latents (int) — Jumlah channel di ruang laten
  • height (int) — Tinggi gambar yang dihasilkan
  • width (int) — Lebar gambar yang dihasilkan
  • dtype (torch.dtype) — Tipe data untuk latents
  • device (torch.device) — Perangkat untuk membuat latents
  • generator (torch.Generator) — Generator angka acak
  • latents (torch.Tensor) — Latens yang sudah ada untuk digunakan

Mengembalikan

torch.Tensor

Tensor laten yang disiapkan dengan gambar yang dikodekan

Siapkan variabel laten awal untuk generasi gambar-ke-gambar.

Metode ini membuat latens noise acak dengan gambar yang telah dikodekan,

Sitasi

@misc{kandinsky2025,
    author = {Alexander Belykh and Alexander Varlamov and Alexey Letunovskiy and Anastasia Aliaskina and Anastasia Maltseva and Anastasiia Kargapoltseva and Andrey Shutkin and Anna Averchenkova and Anna Dmitrienko and Bulat Akhmatov and Denis Dimitrov and Denis Koposov and Denis Parkhomenko and Dmitrii and Ilya Vasiliev and Ivan Kirillov and Julia Agafonova and Kirill Chernyshev and Kormilitsyn Semen and Lev Novitskiy and Maria Kovaleva and Mikhail Mamaev and Mikhailov and Nikita Kiselev and Nikita Osterov and Nikolai Gerasimenko and Nikolai Vaulin and Olga Kim and Olga Vdovchenko and Polina Gavrilova and Polina Mikhailova and Tatiana Nikulina and Viacheslav Vasilev and Vladimir Arkhipkin and Vladimir Korviakov and Vladimir Polovnikov and Yury Kolabushin},
    title = {Kandinsky 5.0: A family of diffusion models for Video & Image generation},
    howpublished = {\url{https://github.com/kandinskylab/Kandinsky-5}},
    year = 2025
}
Update on GitHub