Diffusers documentation

Tutarlılık Çözücü

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

Tutarlılık Çözücü

Consistency decoder, StableDiffusionPipeline içindeki denoising UNet'ten latentleri çözmek için kullanılabilir. Bu decoder, DALL-E 3 teknik raporunda tanıtılmıştır.

Orijinal kod tabanı openai/consistencydecoder adresinde bulunabilir.

Şu anda çıkarım yalnızca 2 yineleme için desteklenmektedir.

Bu pipeline, bu sorundan madebyollin ve mrsteyk'in yardımı olmadan katkı olarak sunulamazdı.

ConsistencyDecoderVAE

sınıf diffusers.ConsistencyDecoderVAE

< >

( scaling_factor: float = 0.18215latent_channels: int = 4sample_size: int = 32encoder_act_fn: str = 'silu'encoder_block_out_channels: tuple = (128, 256, 512, 512)encoder_double_z: bool = Trueencoder_down_block_types: tuple = ('DownEncoderBlock2D', 'DownEncoderBlock2D', 'DownEncoderBlock2D', 'DownEncoderBlock2D')encoder_in_channels: int = 3encoder_layers_per_block: int = 2encoder_norm_num_groups: int = 32encoder_out_channels: int = 4decoder_add_attention: bool = Falsedecoder_block_out_channels: tuple = (320, 640, 1024, 1024)decoder_down_block_types: tuple = ('ResnetDownsampleBlock2D', 'ResnetDownsampleBlock2D', 'ResnetDownsampleBlock2D', 'ResnetDownsampleBlock2D')decoder_downsample_padding: int = 1decoder_in_channels: int = 7decoder_layers_per_block: int = 3decoder_norm_eps: float = 1e-05decoder_norm_num_groups: int = 32decoder_num_train_timesteps: int = 1024decoder_out_channels: int = 6decoder_resnet_time_scale_shift: str = 'scale_shift'decoder_time_embedding_type: str = 'learned'decoder_up_block_types: tuple = ('ResnetUpsampleBlock2D', 'ResnetUpsampleBlock2D', 'ResnetUpsampleBlock2D', 'ResnetUpsampleBlock2D') )

DALL-E 3 ile kullanılan tutarlılık çözücü.

Örnekler:

>>> import torch
>>> from diffusers import StableDiffusionPipeline, ConsistencyDecoderVAE

>>> vae = ConsistencyDecoderVAE.from_pretrained("openai/consistency-decoder", torch_dtype=torch.float16)
>>> pipe = StableDiffusionPipeline.from_pretrained(
...     "stable-diffusion-v1-5/stable-diffusion-v1-5", vae=vae, torch_dtype=torch.float16
... ).to("cuda")

>>> image = pipe("horse", generator=torch.manual_seed(0)).images[0]
>>> image

decode

< >

( z: Tensorgenerator: typing.Optional[torch.Generator] = Nonereturn_dict: bool = Truenum_inference_steps: int = 2 ) → DecoderOutput | tuple[torch.Tensor]

Parametreler

  • z (torch.Tensor) — Girdi gizil vektörü.
  • generator (torch.Generator | None) — Rastgele sayı üreteci. Varsayılan değer None'dir.
  • return_dict (bool) — Çıktının sözlük olarak döndürülüp döndürülmeyeceğini belirtir. Varsayılan değer True'dur.
  • num_inference_steps (int) — Çıkarım adım sayısı. Varsayılan değer 2'dir.

Dönüş değeri

DecoderOutput | tuple[torch.Tensor]

Çözümlenmiş çıktı.

Girdi gizil vektörü z'yi tutarlılık çözücü VAE modeli kullanarak çözer.

encode

< >

( x: Tensorreturn_dict: bool = True )

Parametreler

  • x (torch.Tensor) — Görsellerin giriş partisi.
  • return_dict (bool, isteğe bağlı, varsayılan True) — Düz bir tuple yerine ConsistencyDecoderVAEOutput döndürülüp döndürülmemesi.

Bir görüntü grubunu latentlere kodlayın.

forward

< >

( sample: Tensorsample_posterior: bool = Falsereturn_dict: bool = Truegenerator: typing.Optional[torch.Generator] = None ) → DecoderOutput or tuple

Parametreler

  • sample (torch.Tensor) — Girdi örneği.
  • sample_posterior (bool, isteğe bağlı, varsayılan False) — Posterior'dan örneklemeye alınıp alınmayacağı.
  • return_dict (bool, isteğe bağlı, varsayılan True) — Düz bir tuple yerine DecoderOutput döndürülüp döndürülmemesi.
  • generator (torch.Generator, isteğe bağlı, varsayılan None) — Örnekleme için kullanılacak üreteç.

Dönüş değeri

DecoderOutput veya tuple

return_dict True ise DecoderOutput döndürülür, aksi takdirde düz bir tuple döndürülür.

set_default_attn_processor

< >

( )

Özel dikkat işleyicilerini devre dışı bırakır ve varsayılan dikkat uygulamasını ayarlar.

tiled_encode

< >

( x: Tensorreturn_dict: bool = True ) → ConsistencyDecoderVAEOutput or tuple

Parametreler

  • x (torch.Tensor) — Görsellerin giriş partisi.
  • return_dict (bool, isteğe bağlı, varsayılan True) — Düz bir tuple yerine ConsistencyDecoderVAEOutput döndürülüp döndürülmemesi.

Dönüş değeri

ConsistencyDecoderVAEOutput veya tuple

return_dict True ise, ConsistencyDecoderVAEOutput döndürülür, aksi takdirde düz bir tuple döndürülür.

Bir görüntü grubunu, karolalı bir kodlayıcı kullanarak kodlayın.

Bu seçenek etkinleştirildiğinde, VAE, kodlamayı birkaç adımda hesaplamak için girdi tensörünü karolara böler. Bu, bellek kullanımının görüntü boyutundan bağımsız olarak sabit kalmasını sağlamak için faydalıdır. Karolarla kodlamanın nihai sonucu, her karonun farklı bir kodlayıcı kullandığı için karolasız kodlamadan farklıdır. Karola artefaktlarını önlemek için karolar üst üste biner ve pürüzsüz bir çıktı oluşturmak üzere birleştirilir. Çıktıda hâlâ karola boyutunda değişimler görebilirsiniz, ancak bunlar çok daha az belirgin olmalıdır.

Update on GitHub