Buckets:
Kandinsky 6
Kandinsky 6, Kandinsky Lab tarafından geliştirilen bir video üretim modeli ailesidir. Ana model, metinden veya bir referans görüntüden video ve senkronize ses üretmek için tek bir çok modlu difüzyon dönüştürücüsü kullanır: video ve ses latentleri, iki modalite arasında çapraz dikkat (cross-attention) uygulayan füzyon blokları aracılığıyla 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.0ile çalıştırılmalıdır.
Mevcut modeller
| Model | Pipeline | Notlar |
|---|---|---|
kandinskylab/Kandinsky-6.0-Pro-5s-Diffusers |
Kandinsky6TI2VAPipeline | Akış eşleştirme, guidance_scale=5.0, 50 adım |
kandinskylab/Kandinsky-6.0-Pro-distill-5s-Diffusers |
Kandinsky6TI2VAPipeline | Distilled, guidance_scale=1.0, 10 adım |
kandinskylab/Kandinsky-6.0-Lite-5s-Diffusers |
Kandinsky6TI2VAPipeline | Akış eşleştirme, guidance_scale=5.0, 50 adım |
kandinskylab/Kandinsky-6.0-Lite-distill-5s-Diffusers |
Kandinsky6TI2VAPipeline | Distilled, guidance_scale=1.0, 10 adım |
kandinskylab/Kandinsky-6.0-Pro-pretrain-5s-Diffusers |
Kandinsky6TI2VAPipeline | Akış eşleştirme, guidance_scale=5.0, 50 adım |
kandinskylab/Kandinsky-6.0-Lite-pretrain-5s-Diffusers |
Kandinsky6TI2VAPipeline | Akış eşleştirme, guidance_scale=5.0, 50 adım |
kandinskylab/Kandinsky-6.0-VSR-5s-Diffusers |
Kandinsky6SRPipeline | Akış eşleştirme süper çözünürlüğü |
kandinskylab/Kandinsky-6.0-VSR-distilled2steps-5s-Diffusers |
Kandinsky6SRPipeline | Damı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 pencereleriyle geri 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
heightvewidth, 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ğer16'dır (8sıkıştırma oranına sahipAutoencoderKLHunyuanVideo,patch_size=(1, 2, 2)). Yukarıdaki örnekte kullanılan480x864bu koşulu sağlar.- Kandinsky6SRPipeline'in girdisi
video, bazı tam sayıkiçin1 + k * vae_scale_factor_temporalkareye sahip olmalıdır (varsayılan K-VAE yapılandırmasıyla4zamansal sıkıştırma oranı, bu nedenle121kare çalışır ancak120ç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 öncesinde 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.- Daha hızlı tekrarlı çıkarım için tekrarlanan dönüştürücü bloklarını derleyin:
pipe.transformer.compile_repeated_blocks(fullgraph=True)
Kandinsky6TI2VAPipeline[[diffusers.Kandinsky6TI2VAPipeline]]
diffusers.Kandinsky6TI2VAPipeline[[diffusers.Kandinsky6TI2VAPipeline]]
diffusers.Kandinsky6TI2VAPipeline(transformer: Kandinsky6Transformer3DModel, vae: AutoencoderKLHunyuanVideo, text_encoder: Qwen2_5_VLForConditionalGeneration, tokenizer: Qwen2_5_VLProcessor, text_encoder_2: CLIPTextModel, tokenizer_2: CLIPTokenizer, scheduler: diffusers.schedulers.scheduling_flow_match_euler_discrete.FlowMatchEulerDiscreteScheduler | diffusers.schedulers.scheduling_piflow.PiflowScheduler, audio_vae: diffusers.models.autoencoders.autoencoder_mmaudio.MMAudioVAE | None = None, vocoder: 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) : Qwen2.5-VL modeli, token düzeyinde metin gömme (embedding) ve isteğe bağlı olarak prompt genişletme sağlar.
tokenizer (Qwen2_5_VLProcessor) : text_encoder işlemcisi.
text_encoder_2 (CLIPTextModel) : Havuzlanmış metin gömümünü (pooled text embedding) 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'nin çö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 transformer 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ınmıştı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[[diffusers.Kandinsky6TI2VAPipeline.call]]
__call__(prompt: str | list[str] | None = None, image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor], NoneType] = None, negative_prompt: str | list[str] | None = None, height: int = 512, width: int = 768, num_frames: int = 121, frame_rate: float = 24.0, num_inference_steps: int = 50, timesteps: list[int] | None = None, sigmas: list[float] | None = None, guidance_scale: float = 5.0, num_videos_per_prompt: int = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, latents: typing.Optional[torch.Tensor] = None, audio_latents: typing.Optional[torch.Tensor] = None, prompt_embeds: typing.Optional[torch.Tensor] = None, pooled_prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, negative_pooled_prompt_embeds: typing.Optional[torch.Tensor] = None, sample_audio: bool = True, expand_prompts: bool = False, max_sequence_length: int = 1024, output_type: str = 'pil', return_dict: bool = True, callback_on_step_end: collections.abc.Callable[[int, int, dict], None] | None = None, callback_on_step_end_tensor_inputs: list = ['latents'])
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) : Üretilen videonun piksel cinsinden yüksekliği.
width (int, varsayılan 768) : Üretilen videonun piksel cinsinden genişliği.
num_frames (int, varsayılan 121) : Üretilen 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) : Classifier-free guidance ö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ömme değerleri.
pooled_prompt_embeds (torch.Tensor, isteğe bağlı) : Önceden oluşturulmuş CLIP havuzlanmış metin gömme değerleri.
negative_prompt_embeds (torch.Tensor, isteğe bağlı) : Önceden oluşturulmuş negatif Qwen2.5-VL metin gömme değerleri.
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 maksimum istem belirteç sayısı.
output_type (str, varsayılan "pil") : Üretilen videonun çıktı biçimi: "pil", "np", "pt" veya "latent".
return_dict (bool, varsayılan True) : Düz bir tuple yerine Kandinsky6TI2VAPipelineOutput döndürülecek mi?
callback_on_step_end (Callable, isteğe bağlı) : callback_on_step_end(self, step, timestep, callback_kwargs) ile her gürültü azaltma adımının sonunda ç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üş: 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[[diffusers.Kandinsky6TI2VAPipeline.encode_image]]
encode_image(image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]], height: int, width: int, device: device, dtype: dtype, num_videos_per_prompt: int = 1, generator: typing.Optional[torch.Generator] = None)
Referans görüntülerini, VAE scaling_factor ile ölçeklendirilmiş (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[[diffusers.Kandinsky6TI2VAPipeline.encode_prompt]]
encode_prompt(prompt: str | list[str], negative_prompt: str | list[str] | None = None, do_classifier_free_guidance: bool = True, num_videos_per_prompt: int = 1, prompt_embeds: typing.Optional[torch.Tensor] = None, pooled_prompt_embeds: typing.Optional[torch.Tensor] = None, prompt_attention_mask: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, negative_pooled_prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_attention_mask: typing.Optional[torch.Tensor] = None, max_sequence_length: int = 1024, device: typing.Optional[torch.device] = None, dtype: 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) : Her istem için ü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ömme değerleri. prompt kodlamasını atlar.
pooled_prompt_embeds (torch.Tensor, isteğe bağlı) : Önceden oluşturulmuş CLIP havuzlanmış metin gömme değerleri. prompt_embeds ile birlikte verilmelidir.
prompt_attention_mask (torch.Tensor, isteğe bağlı) : prompt_embeds için Boolean dolgu maskesi.
negative_prompt_embeds (torch.Tensor, isteğe bağlı) : Önceden oluşturulmuş negatif Qwen2.5-VL metin gömme değerleri.
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 Boolean dolgu maskesi.
max_sequence_length (int, varsayılan 1024) : Sohbet şablonundan sonraki maksimum istem belirteç 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önen gömme (embedding) vektörlerinin veri tipi.
İsteği metin kodlayıcı gizli durumlarına kodlar.
expand_prompts[[diffusers.Kandinsky6TI2VAPipeline.expand_prompts]]
expand_prompts(prompt: str | list[str], tokenizer, text_encoder, device: device, image: PIL.Image.Image | list[PIL.Image.Image] | None = None, max_sequence_length: int = 1024, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None)
Parametreler:
prompt (str veya list[str]) : Genişletilecek istem veya istemler.
tokenizer : Qwen2.5-VL işlemcisi, örn. pipe.tokenizer.
text_encoder : Örneğin pipe.text_encoder gibi 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ı) : Bir görüntüden videoya çağrısının referans görüntü(ler)i.
max_sequence_length (int, varsayılan 1024) : Her istem için üretilen en fazla jeton sayısı.
generator (torch.Generator veya list[torch.Generator], isteğe bağlı) : Örneklenen genişlemeyi tohumlar; bir liste, prompt'un uzunluğuyla eşleşmeli ve her öğe için bir üreteç içermelidir. 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üş: str veya list[str]
Genişletilmiş istem(ler).
Kısa istekleri, bir referans görsel verildiğinde bu görsel üzerinden temellendirerek 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[[diffusers.Kandinsky6TI2VAPipeline.prepare_audio_latents]]
prepare_audio_latents(batch_size: int, num_channels_latents: int, audio_length: int, dtype: dtype, device: device, generator: 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[[diffusers.Kandinsky6TI2VAPipeline.prepare_latents]]
prepare_latents(batch_size: int, num_channels_latents: int, height: int, width: int, num_frames: int, dtype: dtype, device: device, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType], latents: typing.Optional[torch.Tensor] = None)
Dönüştürücünün (batch_size, num_frames, height, width, channels) yerleşimindeki video latentlerini 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[[diffusers.Kandinsky6SRPipeline]]
diffusers.Kandinsky6SRPipeline[[diffusers.Kandinsky6SRPipeline]]
diffusers.Kandinsky6SRPipeline(transformer: Kandinsky6SRTransformer3DModel, vae: Kandinsky6SRVAE, scheduler: diffusers.schedulers.scheduling_flow_match_euler_discrete.FlowMatchEulerDiscreteScheduler | diffusers.schedulers.scheduling_piflow.PiflowScheduler, latent_upscaler: diffusers.models.latent_upscaler.latent_upscaler_kandinsky6_sr.Kandinsky6SRLatentUpscalerBank | None = None)
Parametreler:
transformer (Kandinsky6SRTransformer3DModel) : Gizli karoları (latent tiles) iyileştiren Transformer.
vae (Kandinsky6SRVAE) : Girdi videosunu kodlamak ve rafine edilmiş karoları çözmek için kullanılan nedensel video K-VAE.
scheduler (FlowMatchEulerDiscreteScheduler veya PiflowScheduler): transformer ile birlikte karoları gürültüden arındırmak için kullanılan zamanlayıcı. Distilled checkpoint'ler bir PiflowScheduler ile birlikte gelir.
latent_upscaler (Kandinsky6SRLatentUpscalerBank, isteğe bağlı) : Desteklenen ölçekler için latent upscaler'lar.
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 (bilinear) yöntemle büyütülür ve kodlanır.
Bu model DiffusionPipeline sınıfından devralınmıştı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[[diffusers.Kandinsky6SRPipeline.call]]
__call__(video: typing.Union[list[PIL.Image.Image], list[list[PIL.Image.Image]], numpy.ndarray, torch.Tensor], resolution_scale: float = 2.25, num_inference_steps: int = 4, timesteps: list[int] | None = None, sigmas: list[float] | None = None, lq_noise_scale: float = 0.7, min_overlap: float = 0.2, tiles_batch_size: int = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, output_type: str = 'pil', return_dict: bool = True)
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 karo için gürültü azaltma adım sayısı. Distilled checkpoint'ler ile 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) : Karo boyutunun bir kesri olarak komşu karolar arasındaki minimum örtüşme.
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") : Üretilen 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ülmediğini belirtir.
Dönüş: 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[[diffusers.Kandinsky6SRPipeline.decode_latents]]
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[[diffusers.Kandinsky6SRPipeline.encode_video]]
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[[diffusers.Kandinsky6SRLatentUpscalerBank]]
diffusers.Kandinsky6SRLatentUpscalerBank[[diffusers.Kandinsky6SRLatentUpscalerBank]]
diffusers.Kandinsky6SRLatentUpscalerBank(in_channels: int = 64, stage_channels: tuple[int, int, int] = (2048, 1024, 512), num_pre_blocks: int = 5, num_mid_blocks: int = 3, num_post_blocks: int = 3, num_x2_adapter_blocks: int = 2, scales: 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 residual bloklar.
num_post_blocks (int, varsayılan 3) : Son upsample'den sonraki residual 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 bir upscaler sağladığı uzamsal ölçekler.
scaling_factor (float, varsayılan 0.910344) : Girdi 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[[diffusers.Kandinsky6SRLatentUpscalerBank.forward]]
forward(latents: Tensor, scale: int, return_dict: bool = True)
Parametreler:
latents (torch.Tensor, şekli (batch_size, in_channels, num_frames, height, width)) : scaling_factor ile ölçeklendirilmiş K-VAE latantları.
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.
Dönüş:
(batch_size, in_channels, num_frames, height * scale, width * scale) biçiminde ölçeklendirilmiş latentler.
Kandinsky6TI2VAPipelineOutput[[diffusers.Kandinsky6TI2VAPipelineOutput]]
diffusers.Kandinsky6TI2VAPipelineOutput[[diffusers.Kandinsky6TI2VAPipelineOutput]]
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]]) : Üretilen 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 dizi veya torch tensörü. output_type="latent" ile (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" ile (batch_size, channels, audio_length) biçiminde ses latentleri.
Kandinsky6TI2VAPipeline için çıktı sınıfı.
Kandinsky6SRPipelineOutput[[diffusers.Kandinsky6SRPipelineOutput]]
diffusers.Kandinsky6SRPipelineOutput[[diffusers.Kandinsky6SRPipelineOutput]]
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 dizi veya torch tensörü.
Kandinsky6SRPipeline için çıktı sınıfı.
Xet Storage Details
- Size:
- 37.2 kB
- Xet hash:
- 3be06bb0b1e39c24d52f7c932540761aa36b20dfcef91356ae46c747826b7024
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.