Diffusers documentation

Kandinsky 6

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 6

Kandinsky 6, Kandinsky Lab tarafından geliştirilen bir video üretim modeli ailesidir. Ana model, tek bir çok modlu difüzyon dönüştürücüsü aracılığıyla metinden veya bir referans görüntüden video ve senkronize ses üretir: video ve ses latentleri, iki modalite arasında çapraz dikkat (cross-attention) uygulayan füzyon blokları üzerinden birlikte gürültüden arındırılır; her biri kendi Qwen2.5-VL metin dalı ve bir CLIP havuzlanmış gömme (pooled embedding) ile koşullandırılmıştır. Ayrı bir süper çözünürlük modeli, üretilen videoyu nedensel bir 3D K-VAE'nin latent uzayında karot karot (tile by tile) ölçek büyütür.

Hub'daki Kandinsky Lab kuruluşunu, hem temel hem de süper çözünürlük modellerinin akış eşleştirme ve damıtılmış varyantlarını içeren resmi kontrol noktalarının tam seti için inceleyin.

Distilled checkpoint'lar, az adımlı PiflowScheduler ile birlikte gelir ve guidance_scale=1.0 ile çalıştırılmalıdır.

Mevcut modeller

ModelPipelineNotlar
kandinskylab/Kandinsky-6.0-Pro-5s-DiffusersKandinsky6TI2VAPipelineAkış eşleştirme, guidance_scale=5.0, 50 adım
kandinskylab/Kandinsky-6.0-Pro-distill-5s-DiffusersKandinsky6TI2VAPipelineDistilled, guidance_scale=1.0, 10 adım
kandinskylab/Kandinsky-6.0-Lite-5s-DiffusersKandinsky6TI2VAPipelineAkış eşleştirme, guidance_scale=5.0, 50 adım
kandinskylab/Kandinsky-6.0-Lite-distill-5s-DiffusersKandinsky6TI2VAPipelineDistilled, guidance_scale=1.0, 10 adım
kandinskylab/Kandinsky-6.0-Pro-pretrain-5s-DiffusersKandinsky6TI2VAPipelineAkış eşleştirme, guidance_scale=5.0, 50 adım
kandinskylab/Kandinsky-6.0-Lite-pretrain-5s-DiffusersKandinsky6TI2VAPipelineAkış eşleştirme, guidance_scale=5.0, 50 adım
kandinskylab/Kandinsky-6.0-VSR-5s-DiffusersKandinsky6SRPipelineAkış eşleştirme süper çözünürlüğü
kandinskylab/Kandinsky-6.0-VSR-distilled2steps-5s-DiffusersKandinsky6SRPipelineDamıtılmış süper çözünürlük, 2 adım

Metin/görselden video ve ses

import torch
from diffusers import Kandinsky6TI2VAPipeline
from diffusers.utils import encode_video

pipe = Kandinsky6TI2VAPipeline.from_pretrained(
    "kandinskylab/Kandinsky-6.0-Pro-distill-5s-Diffusers", torch_dtype=torch.bfloat16
)
pipe.enable_model_cpu_offload()

output = pipe(
    prompt="A cat and a dog baking a cake together in a kitchen.",
    height=480,
    width=864,
    num_frames=121,
    num_inference_steps=10,
    guidance_scale=1.0,
)
encode_video(
    output.frames[0],
    fps=24,
    output_path="output.mp4",
    audio=output.audio[0][None],
    audio_sample_rate=pipe.audio_sample_rate,
)

İlk kareyi bir referans görüntüye göre koşullandırmak için image=, yalnızca video üretmek için sample_audio=False ve kısa istekleri önce ayrıntılı isteklere dönüştürmek için Qwen2.5-VL metin kodlayıcısına izin vermek için expand_prompts=True parametrelerini iletin.

Video süper çözünürlüğü

Kandinsky6SRPipeline, Kandinsky6TI2VAPipeline tarafından üretilen kareleri alır ve bunları 2, 4 veya 2.25 (1.125x ikili doğrusal ön büyütme ve ardından 2x yolu) kat oranında büyütür. Video, üst üste binen karolara bölünür; her karo, SR dönüştürücüsünün eğitim gördüğü karo boyutlarından birinde iyileştirilir ve karolar, Hann pencereleri kullanılarak birleştirilir.

# required: lets inductor pick flex-attention tiles that fit the SR block mask
torch._inductor.config.max_autotune = True  

sr_pipe = Kandinsky6SRPipeline.from_pretrained(
    "kandinskylab/Kandinsky-6.0-VSR-distilled2steps-5s-Diffusers", torch_dtype=torch.bfloat16
)
# The SR transformer always runs NABLA sparse attention on the `flex` backend. Compile it, otherwise flex falls
# back to an eager implementation that needs far more memory at video resolutions.
sr_pipe.enable_model_cpu_offload()
sr_pipe.transformer.set_attention_backend("flex")
sr_pipe.transformer.compile_repeated_blocks(fullgraph=True)

upscaled = sr_pipe(video=output.frames[0], resolution_scale=2.25, num_inference_steps=2).frames[0]

Bellek optimizasyonu

Genel teknikler için Bellek kullanımını azaltma kılavuzuna bakın. Hem Kandinsky6TI2VAPipeline hem de Kandinsky6SRPipeline, (yukarıda kullanılan) model offloading ve hızdan ödün vererek daha küçük bir ayak izi için sequential CPU offloading destekler:

pipe.enable_sequential_cpu_offload()

Kandinsky6TI2VAPipeline'in video VAE'si, yüksek çözünürlükler veya uzun videolar için tiled decoding (döşemeli çözümleme) desteği de sunar:

pipe.vae.enable_tiling()

Notlar

  • height ve width, video VAE’nin uzamsal sıkıştırma oranının transformer’ın yama boyutuyla çarpımına bölünmelidir — varsayılan Kandinsky6TI2VAPipeline yapılandırmasında bu değer 16’dır (8 sıkıştırma oranına sahip AutoencoderKLHunyuanVideo, patch_size=(1, 2, 2)). Yukarıdaki örnekte kullanılan 480x864 bu koşulu sağlar.
  • Kandinsky6SRPipeline girdisi video, bazı tam sayı k için 1 + k * vae_scale_factor_temporal kareye sahip olmalıdır (varsayılan K-VAE yapılandırmasında 4 zamansal sıkıştırma oranı, bu nedenle 121 kare çalışır ancak 120 kare çalışmaz) — bu koşulu zaten sağlamayan bir videoyu ölçeklendirmeden önce kırpın veya doldurun.
  • expand_prompts=True, gürültü azaltma işleminden önce ek bir üretim turu için zaten yüklenmiş Qwen2.5-VL metin kodlayıcısını yeniden kullanır; bu nedenle gecikme ekler ancak ek model ağırlığı gerektirmez.
  • Tekrarlanan transformer bloklarını daha hızlı tekrarlı çıkarım için derleyin:
    pipe.transformer.compile_repeated_blocks(fullgraph=True)

Kandinsky6TI2VAPipeline

sınıf diffusers.Kandinsky6TI2VAPipeline

< >

( transformer: Kandinsky6Transformer3DModelvae: AutoencoderKLHunyuanVideotext_encoder: Qwen2_5_VLForConditionalGenerationtokenizer: Qwen2_5_VLProcessortext_encoder_2: CLIPTextModeltokenizer_2: CLIPTokenizerscheduler: diffusers.schedulers.scheduling_flow_match_euler_discrete.FlowMatchEulerDiscreteScheduler | diffusers.schedulers.scheduling_piflow.PiflowScheduleraudio_vae: diffusers.models.autoencoders.autoencoder_mmaudio.MMAudioVAE | None = Nonevocoder: diffusers.models.autoencoders.mmaudio_vocoder.MMAudioVocoder | None = None )

Parametreler

  • transformer (Kandinsky6Transformer3DModel) — Video ve ses latentlerini gürültüden arındıran çok modlu dönüştürücü.
  • vae (AutoencoderKLHunyuanVideo) — Referans görüntüyü kodlamak ve üretilen videoyu çözmek için kullanılan Video VAE.
  • text_encoder (Qwen2_5_VLForConditionalGeneration) — token düzeyinde metin gömlemlerini ve isteğe bağlı olarak prompt genişletmesini sağlayan Qwen2.5-VL modeli.
  • tokenizer (Qwen2_5_VLProcessor) — text_encoder işleyicisi.
  • text_encoder_2 (CLIPTextModel) — Pooled metin gömümünü sağlayan CLIP metin kodlayıcısı.
  • tokenizer_2 (CLIPTokenizer) — text_encoder_2'nin tokenizer'ı.
  • scheduler (FlowMatchEulerDiscreteScheduler veya PiflowScheduler) — transformer ile birlikte latentleri gürültüden arındırmak için kullanılan zamanlayıcı. Distilled checkpoint'ler bir PiflowScheduler ile birlikte gelir ve guidance_scale=1.0 ile çalıştırılmalıdır.
  • audio_vae (MMAudioVAE, isteğe bağlı) — Üretilen ses latentlerini mel spektrograma çözmek için kullanılan ses VAE'si. Yalnızca sample_audio=True olduğunda gereklidir.
  • vocoder (MMAudioVocoder, isteğe bağlı) — audio_vae'in çözdüğü mel spektrogramı bir dalga formuna dönüştürmek için kullanılan vokoder. Yalnızca sample_audio=True olduğunda gereklidir.

Kandinsky 6 ile metin/görselden video ve ses üretimi için Pipeline.

Video ve ses latentleri, Qwen2.5-VL metin token'ları ve bir CLIP pooled embedding ile koşullandırılmış tek bir çok modlu dönüştürücü tarafından birlikte gürültüden arındırılır. İsteğe bağlı bir referans görüntü, ilk kareyi koşullandırır.

Bu model DiffusionPipeline sınıfından devralır. Tüm pipeline'lar için uygulanan genel yöntemlerin (indirme, kaydetme, belirli bir cihazda çalıştırma vb.) belgelerini üst sınıfın dokümantasyonunda bulabilirsiniz.

__call__

< >

( prompt: str | list[str] | None = Noneimage: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor], NoneType] = Nonenegative_prompt: str | list[str] | None = Noneheight: int = 512width: int = 768num_frames: int = 121frame_rate: float = 24.0num_inference_steps: int = 50timesteps: list[int] | None = Nonesigmas: list[float] | None = Noneguidance_scale: float = 5.0num_videos_per_prompt: int = 1generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonelatents: typing.Optional[torch.Tensor] = Noneaudio_latents: typing.Optional[torch.Tensor] = Noneprompt_embeds: typing.Optional[torch.Tensor] = Nonepooled_prompt_embeds: typing.Optional[torch.Tensor] = Nonenegative_prompt_embeds: typing.Optional[torch.Tensor] = Nonenegative_pooled_prompt_embeds: typing.Optional[torch.Tensor] = Nonesample_audio: bool = Trueexpand_prompts: bool = Falsemax_sequence_length: int = 1024output_type: str = 'pil'return_dict: bool = Truecallback_on_step_end: collections.abc.Callable[[int, int, dict], None] | None = Nonecallback_on_step_end_tensor_inputs: list = ['latents'] ) → Kandinsky6TI2VAPipelineOutput or tuple

Parametreler

  • prompt (str veya list[str], isteğe bağlı) — Üretimi yönlendirmek için istem veya istemler. prompt_embeds verilmediği sürece zorunludur.
  • image (PipelineImageInput, isteğe bağlı) — İlk kareyi koşullandıran referans görüntü(ler) (görüntüden video ve ses).
  • negative_prompt (str veya list[str], isteğe bağlı) — Üretimi yönlendirmemek için kullanılan istem veya istemler. Varsayılan olarak Kandinsky 6 negatif istemi kullanılır.
  • height (int, varsayılan 512) — Oluşturulan videonun piksel cinsinden yüksekliği.
  • width (int, varsayılan 768) — Oluşturulan videonun piksel cinsinden genişliği.
  • num_frames (int, varsayılan 121) — Oluşturulan kare sayısı.
  • frame_rate (float, varsayılan 24.0) — Videonun oluşturulduğu kare hızı; senkronize sesin uzunluğunu belirler.
  • num_inference_steps (int, varsayılan 50) — Gürültü azaltma adım sayısı. Distilled checkpoint'ler için 16 kullanın.
  • timesteps (list[int], isteğe bağlı) — Bunları destekleyen zamanlayıcılar için özel zaman adımları.
  • sigmas (list[float], isteğe bağlı) — Bunları destekleyen zamanlayıcılar için özel sigmalar.
  • guidance_scale (float, varsayılan 5.0) — Sınıflandırıcı-ücretsiz yönlendirme ölçeği. PiflowScheduler ile 1.0 olmalıdır.
  • num_videos_per_prompt (int, varsayılan 1) — Her istem için üretilecek video sayısı.
  • generator (torch.Generator veya list[torch.Generator], isteğe bağlı) — Başlangıç gürültüsü ve referans görüntü kodlaması için kullanılan üreteç(ler).
  • latents (torch.Tensor, isteğe bağlı) — (batch_size, channels, num_latent_frames, latent_height, latent_width) biçiminde önceden oluşturulmuş video latentsleri.
  • audio_latents (torch.Tensor, isteğe bağlı) — (batch_size, channels, audio_length) biçiminde önceden oluşturulmuş ses latentleri.
  • prompt_embeds (torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş Qwen2.5-VL metin gömümleri.
  • pooled_prompt_embeds (torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş CLIP birleştirilmiş metin gömme değerleri.
  • negative_prompt_embeds (torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş negatif Qwen2.5-VL metin gömümleri.
  • negative_pooled_prompt_embeds (torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş negatif CLIP havuzlanmış metin gömme değerleri.
  • sample_audio (bool, varsayılan True) — Senkronize ses üretilecek mi. Boru hattının bir audio_vae ve bir vocoder içermesi gerekir.
  • expand_prompts (bool, varsayılan False) — Kodlamadan önce istemlerin expand_prompts() ile yeniden yazılıp yazılmayacağı.
  • max_sequence_length (int, varsayılan 1024) — Sohbet şablonundan sonraki istem belirteçlerinin (prompt token) maksimum sayısı.
  • output_type (str, varsayılan "pil") — Oluşturulan videonun çıktı biçimi: "pil", "np", "pt" veya "latent".
  • return_dict (bool, varsayılan True) — Düz bir tuple yerine Kandinsky6TI2VAPipelineOutput döndürülüp döndürülmemesi.
  • callback_on_step_end (Callable, isteğe bağlı) — Her gürültü azaltma adımının sonunda callback_on_step_end(self, step, timestep, callback_kwargs) ile çağrılan bir işlev. Listelenen tensörleri geçersiz kılan bir sözlük döndürebilir.
  • callback_on_step_end_tensor_inputs (list[str], varsayılan ["latents"]) — callback_on_step_end'e iletilen girdi tensörleri; _callback_tensor_inputs'ün bir alt kümesi.

Dönüş değeri

Kandinsky6TI2VAPipelineOutput veya tuple

Oluşturulan video ve ses; return_dict=False olduğunda (frames, audio) demeti.

Üretim için pipeline'ın çağrı fonksiyonu.

Örnekler:

>>> import torch
>>> from diffusers import Kandinsky6TI2VAPipeline
>>> from diffusers.utils import encode_video

>>> pipe = Kandinsky6TI2VAPipeline.from_pretrained(
...     "kandinskylab/Kandinsky-6.0-Pro-distill-5s-Diffusers", torch_dtype=torch.bfloat16
... )
>>> pipe.enable_model_cpu_offload()

>>> output = pipe(
...     prompt="A cat and a dog baking a cake together in a kitchen.",
...     height=480,
...     width=864,
...     num_frames=121,
...     num_inference_steps=16,
...     guidance_scale=1.0,
... )
>>> encode_video(
...     output.frames[0],
...     fps=24,
...     output_path="output.mp4",
...     audio=output.audio[0][None],
...     audio_sample_rate=pipe.audio_sample_rate,
... )

encode_image

< >

( image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]height: intwidth: intdevice: devicedtype: dtypenum_videos_per_prompt: int = 1generator: typing.Optional[torch.Generator] = None )

Referans görüntülerini, VAE scaling_factor ile ölçeklenmiş, (batch_size, latent_height, latent_width, latent_channels) boyutunda ilk kare latentlerine kodlar. PIL görüntüleri height x width boyutuna yeniden boyutlandırılır ve merkezden kırpılır; tensörler ve diziler zaten bu boyutta olmalıdır. Latentler, batch boyutu boyunca num_videos_per_prompt kez tekrarlanır.

encode_prompt

< >

( prompt: str | list[str]negative_prompt: str | list[str] | None = Nonedo_classifier_free_guidance: bool = Truenum_videos_per_prompt: int = 1prompt_embeds: typing.Optional[torch.Tensor] = Nonepooled_prompt_embeds: typing.Optional[torch.Tensor] = Noneprompt_attention_mask: typing.Optional[torch.Tensor] = Nonenegative_prompt_embeds: typing.Optional[torch.Tensor] = Nonenegative_pooled_prompt_embeds: typing.Optional[torch.Tensor] = Nonenegative_prompt_attention_mask: typing.Optional[torch.Tensor] = Nonemax_sequence_length: int = 1024device: typing.Optional[torch.device] = Nonedtype: typing.Optional[torch.dtype] = None )

Parametreler

  • prompt (str veya list[str]) — Kodlanacak istem.
  • negative_prompt (str veya list[str], isteğe bağlı) — Üretimi yönlendirmemek için kullanılan istem. do_classifier_free_guidance False olduğunda yok sayılır.
  • do_classifier_free_guidance (bool, varsayılan True) — Negatif istemin de kodlanıp kodlanmayacağı.
  • num_videos_per_prompt (int, varsayılan 1) — İstek başına üretilen video sayısı; gömceler buna göre tekrarlanır.
  • prompt_embeds (torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş Qwen2.5-VL metin gömümleri. prompt kodlamasını atlar.
  • pooled_prompt_embeds (torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş CLIP birleştirilmiş metin gömme değerleri. prompt_embeds ile birlikte verilmelidir.
  • prompt_attention_mask (torch.Tensor, isteğe bağlı) — prompt_embeds için Boole dolgu maskesi.
  • negative_prompt_embeds (torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş negatif Qwen2.5-VL metin gömümleri.
  • negative_pooled_prompt_embeds (torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş negatif CLIP havuzlanmış metin gömme değerleri.
  • negative_prompt_attention_mask (torch.Tensor, isteğe bağlı) — negative_prompt_embeds için Boole dolgu maskesi.
  • max_sequence_length (int, varsayılan 1024) — Sohbet şablonundan sonraki istem belirteçlerinin (prompt token) maksimum sayısı.
  • device (torch.device, isteğe bağlı) — Metin kodlayıcıların çalıştırılacağı cihaz.
  • dtype (torch.dtype, isteğe bağlı) — Dönütlenen gömme vektörlerinin veri türü.

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

expand_prompts

< >

( prompt: str | list[str]tokenizertext_encoderdevice: deviceimage: PIL.Image.Image | list[PIL.Image.Image] | None = Nonemax_sequence_length: int = 1024generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None ) → str or list[str]

Parametreler

  • prompt (str veya list[str]) — Genişletilecek istem veya istemler.
  • tokenizer — Örneğin pipe.tokenizer olan Qwen2.5-VL işlemcisi.
  • text_encoder — Örneğin pipe.text_encoder olan Qwen2.5-VL modeli.
  • device (torch.device) — Metin kodlayıcısının çalıştırılacağı cihaz.
  • image (PIL.Image.Image veya list[PIL.Image.Image], isteğe bağlı) — Görüntüden videoya çağrısının referans görüntü(ler)i.
  • max_sequence_length (int, varsayılan 1024) — İstek başına üretilen en fazla jeton sayısı.
  • generator (torch.Generator veya list[torch.Generator], isteğe bağlı) — Örnekleme genişlemesini tohumlar; bir liste, prompt'un uzunluğuyla eşleşmeli, her öğe için bir üreteç olmalıdır. generate küresel RNG'den çizer, bu nedenle küresel RNG bu üretecin tohumundan tohumlanır; sonraki randn_tensor çağrıları generator'ı doğrudan kullanmaya devam eder.

Dönüş değeri

str veya list[str]

Genişletilmiş istem(ler).

Kısa istekleri, bir referans görsel verildiğinde bu görseli temel alarak, Qwen2.5-VL metin kodlayıcısıyla ayrıntılı video+ses isteklerine dönüştürür. staticmethod olduğu için, pipeline çalıştırılmadan önce bağımsız olarak kullanılabilir.

prepare_audio_latents

< >

( batch_size: intnum_channels_latents: intaudio_length: intdtype: dtypedevice: devicegenerator: typing.Union[torch.Generator, list[torch.Generator], NoneType]audio_latents: typing.Optional[torch.Tensor] = None )

Dönüştürücünün (batch_size, audio_length, channels) yerleşimindeki ses latentlerini döndürür. Kullanıcı tarafından sağlanan audio_latents tensörünün (batch_size, channels, audio_length) yerleşiminde olması beklenir.

prepare_latents

< >

( batch_size: intnum_channels_latents: intheight: intwidth: intnum_frames: intdtype: dtypedevice: devicegenerator: typing.Union[torch.Generator, list[torch.Generator], NoneType]latents: typing.Optional[torch.Tensor] = None )

Video latentlerini dönüştürücünün (batch_size, num_frames, height, width, channels) yerleşiminde döndürür. Kullanıcı tarafından sağlanan latents tensörünün (batch_size, channels, num_frames, height, width) yerleşiminde olması beklenir.

Kandinsky6SRPipeline

sınıf diffusers.Kandinsky6SRPipeline

< >

( transformer: Kandinsky6SRTransformer3DModelvae: Kandinsky6SRVAEscheduler: diffusers.schedulers.scheduling_flow_match_euler_discrete.FlowMatchEulerDiscreteScheduler | diffusers.schedulers.scheduling_piflow.PiflowSchedulerlatent_upscaler: diffusers.models.latent_upscaler.latent_upscaler_kandinsky6_sr.Kandinsky6SRLatentUpscalerBank | None = None )

Parametreler

Kandinsky 6 ile video süper çözünürlüğü için Pipeline.

Video, üst üste binen mekânsal karolara bölünür; her karo, modelin eğitim gördüğü karo boyutlarından (transformer.config.tile_sizes) birinde SR dönüştürücüsü tarafından iyileştirilir ve iyileştirilen karolar, Hann pencereleriyle geri birleştirilir. Hattın bir latent_upscaler bileşeni varsa, karolar tüm videonun K-VAE gizli temsillerinden kesilir ve gizli uzayda büyütülür; aksi halde piksel karoları iki doğrusal olarak büyütülür ve kodlanır.

Bu model DiffusionPipeline sınıfından devralır. Tüm pipeline'lar için uygulanan genel yöntemlerin (indirme, kaydetme, belirli bir cihazda çalıştırma vb.) belgelerini üst sınıfın dokümantasyonunda bulabilirsiniz.

__call__

< >

( video: typing.Union[list[PIL.Image.Image], list[list[PIL.Image.Image]], numpy.ndarray, torch.Tensor]resolution_scale: float = 2.25num_inference_steps: int = 4timesteps: list[int] | None = Nonesigmas: list[float] | None = Nonelq_noise_scale: float = 0.7min_overlap: float = 0.2tiles_batch_size: int = 1generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Noneoutput_type: str = 'pil'return_dict: bool = True ) → Kandinsky6SRPipelineOutput or tuple

Parametreler

  • video (list[PIL.Image.Image], np.ndarray veya torch.Tensor) — preprocess_video() tarafından kabul edilen herhangi bir biçimde, 1 + k * 4 kare içeren düşük çözünürlüklü video(lar). Boyutlar, VAE uzamsal çarpanının katına yuvarlanır.
  • resolution_scale (float, varsayılan 2.25) — Toplam uzamsal büyütme: 2, 4 veya 2.25 (1.125x ikili doğrusal ön büyütme ardından 2x yolu).
  • num_inference_steps (int, varsayılan 4) — Her karot için gürültü azaltma adım sayısı. Distilled checkpoint'lerle 2 kullanın.
  • timesteps (list[int], isteğe bağlı) — Bunları destekleyen zamanlayıcılar için özel zaman adımları.
  • sigmas (list[float], isteğe bağlı) — Bunları destekleyen zamanlayıcılar için özel sigmalar.
  • lq_noise_scale (float, varsayılan 0.7) — Gürültü giderme işleminden önce düşük çözünürlüklü latentlere karıştırılan Gauss gürültüsü miktarı (variyans koruyucu).
  • min_overlap (float, varsayılan 0.2) — Yan yana karolar arasındaki minimum örtüşme, karo boyutunun bir kesri olarak.
  • tiles_batch_size (int, varsayılan 1) — Her transformer çağrısında gürültüsü giderilen karoların sayısı.
  • generator (torch.Generator veya list[torch.Generator], isteğe bağlı) — Karoların içine karıştırılan gürültü için kullanılan üreteç(ler).
  • output_type (str, varsayılan "pil") — Oluşturulan videonun çıktı biçimi: "pil", "np" veya "pt".
  • return_dict (bool, varsayılan True) — Düz bir tuple yerine Kandinsky6SRPipelineOutput döndürülüp döndürülmemesi.

Dönüş değeri

Kandinsky6SRPipelineOutput veya tuple

Süper çözünürlüklü video; return_dict=False olduğunda tek elemanlı bir demet.

Süper çözünürlük için pipeline'ın çağrı fonksiyonu.

Örnekler:

>>> import torch
>>> from diffusers import Kandinsky6SRPipeline, Kandinsky6TI2VAPipeline
>>> from diffusers.utils import export_to_video

>>> pipe = Kandinsky6TI2VAPipeline.from_pretrained(
...     "kandinskylab/Kandinsky-6.0-Pro-distill-5s-Diffusers", torch_dtype=torch.bfloat16
... )
>>> pipe.enable_model_cpu_offload()
>>> video = pipe(
...     prompt="A cat and a dog baking a cake together in a kitchen.",
...     height=480,
...     width=864,
...     num_inference_steps=16,
...     guidance_scale=1.0,
...     sample_audio=False,
... ).frames[0]

>>> sr_pipe = Kandinsky6SRPipeline.from_pretrained(
...     "kandinskylab/Kandinsky-6.0-VSR-distilled2steps-5s-Diffusers", torch_dtype=torch.bfloat16
... )
>>> # The transformer always runs attention through the `flex` backend; compiling avoids the eager
>>> # fallback's much higher memory use at video resolutions.
>>> sr_pipe.transformer.compile_repeated_blocks(fullgraph=True)
>>> sr_pipe.enable_model_cpu_offload()
>>> output = sr_pipe(video=video, resolution_scale=2.25, num_inference_steps=2)
>>> export_to_video(output.frames[0], "output_sr.mp4", fps=24)

decode_latents

< >

( latents: Tensor )

Ölçeklendirilmiş K-VAE latentlerini [-1, 1] aralığında (batch_size, channels, num_frames, height, width) boyutlu bir videoya çözer.

encode_video

< >

( video: Tensor )

(batch_size, channels, num_frames, height, width) boyutundaki, [-1, 1] aralığındaki bir videoyu, VAE scaling_factor ile ölçeklenmiş K-VAE latentlerine kodlar.

Kandinsky6SRLatentUpscalerBank

sınıf diffusers.Kandinsky6SRLatentUpscalerBank

< >

( in_channels: int = 64stage_channels: tuple[int, int, int] = (2048, 1024, 512)num_pre_blocks: int = 5num_mid_blocks: int = 3num_post_blocks: int = 3num_x2_adapter_blocks: int = 2scales: tuple[int, ...] = (2, 4)scaling_factor: float = 0.910344004631042 )

Parametreler

  • in_channels (int, varsayılan 64) — Gizli kanal sayısı.
  • stage_channels (tuple[int, int, int], varsayılan (2048, 1024, 512)) — Kaskadın üç aşamasının özellik genişlikleri.
  • num_pre_blocks (int, varsayılan 5) — x4 modelinin ilk yukarı örneklemesinden önceki artımsal bloklar.
  • num_mid_blocks (int, varsayılan 3) — İki upsampling arasında kalan artımsal bloklar.
  • num_post_blocks (int, varsayılan 3) — Son upsample sonrası kalan bloklar.
  • num_x2_adapter_blocks (int, varsayılan 2) — x2 modelinin adaptörünün artımsal blokları.
  • scales (tuple[int, ...], varsayılan (2, 4)) — Bankın upscaler sağladığı uzamsal ölçekler.
  • scaling_factor (float, varsayılan 0.910344) — Giriş latentlerinin taşıması beklenen ölçek (K-VAE scaling_factor).

Kandinsky6SRPipeline tarafından kullanılan gizli yükselticiler bankı: desteklenen her uzamsal ölçek için bir Kandinsky6SRLatentUpscaler, K-VAE gizli değişkenleri üzerinde çalışır.

forward

< >

( latents: Tensorscale: intreturn_dict: bool = True )

Parametreler

  • latents (torch.Tensor, şekli (batch_size, in_channels, num_frames, height, width)) — scaling_factor ile ölçeklenmiş K-VAE latentsleri.
  • scale (int) — Uzamsal ölçeklendirme faktörü; scales değerlerinden biri.
  • return_dict (bool, varsayılan True) — Düz bir tuple yerine ~models.autoencoder_kl.DecoderOutput döndürülüp döndürülmemesi.

Kandinsky6TI2VAPipelineOutput

sınıf diffusers.Kandinsky6TI2VAPipelineOutput

< >

( frames: typing.Union[torch.Tensor, numpy.ndarray, list[list[PIL.Image.Image]]]audio: typing.Union[torch.Tensor, numpy.ndarray, NoneType] = None )

Parametreler

  • frames (torch.Tensor, np.ndarray veya list[list[PIL.Image.Image]]) — Oluşturulan video. Her biri num_frames adet PIL görüntüsü içeren, uzunluğu batch_size olan iç içe geçmiş bir liste veya (batch_size, num_frames, height, width, channels) / (batch_size, num_frames, channels, height, width) biçiminde bir NumPy dizisi veya torch tensörü. output_type="latent" kullanıldığında, (batch_size, channels, num_latent_frames, latent_height, latent_width) biçimindeki video latentleri.
  • audio (torch.Tensor veya np.ndarray, isteğe bağlı) — Ses VAE'sinin örnek hızında, [-1, 1] aralığında (batch_size, num_samples) biçiminde üretilen dalga formları veya ses örneklenmediğinde None. output_type="latent" kullanıldığında, (batch_size, channels, audio_length) biçiminde ses latentleri.

Kandinsky6TI2VAPipeline için çıktı sınıfı.

Kandinsky6SRPipelineOutput

sınıf diffusers.Kandinsky6SRPipelineOutput

< >

( frames: typing.Union[torch.Tensor, numpy.ndarray, list[list[PIL.Image.Image]]] )

Parametreler

  • frames (torch.Tensor, np.ndarray veya list[list[PIL.Image.Image]]) — Süper çözünürlüklü video. Her biri num_frames adet PIL görüntüsü içeren, uzunluğu batch_size olan iç içe geçmiş bir liste veya (batch_size, num_frames, height, width, channels) / (batch_size, num_frames, channels, height, width) biçiminde bir NumPy dizisi veya torch tensörü.

Kandinsky6SRPipeline için çıktı sınıfı.

Update on GitHub