Buckets:

hf-doc-build/doc / diffusers /main /tr /api /models /prior_transformer.md
mishig's picture
|
download
raw
7.99 kB

PriorTransformer

Prior Transformer, Ramesh ve ark. tarafından Hierarchical Text-Conditional Image Generation with CLIP Latents makalesinde ilk kez tanıtılmıştır. CLIP metin gömcelerinden CLIP görüntü gömcelerini tahmin etmek için kullanılır; görüntü gömceleri, gürültü azaltma difüzyon süreci aracılığıyla tahmin edilir.

Makalenin özeti şudur:

CLIP gibi kontrastif modellerin, hem semantiği hem de stili yakalayan, görüntülerin sağlam temsillerini öğrendiği gösterilmiştir. Bu temsilleri görüntü üretimi için kullanmak amacıyla iki aşamalı bir model öneriyoruz: bir metin açıklaması verildiğinde bir CLIP görüntü gömümünü üreten bir öncül (prior) ve görüntü gömümüne koşullu olarak bir görüntü üreten bir çözücü (decoder). Görüntü temsillerinin açıkça üretilmesinin, fotogerçekçilikte ve açıklama benzerliğinde minimal kayıpla görüntü çeşitliliğini artırdığını gösteriyoruz. Görüntü temsillerine koşullu çözücülerimiz, görüntü temsilinde bulunmayan, önemsiz detayları değiştirirken hem semantiği hem de stili koruyan bir görüntünün varyasyonlarını da üretebilir. Ayrıca, CLIP'in ortak gömüm uzayı, sıfır atış (zero-shot) bir şekilde dil yönlendirmeli görüntü manipülasyonlarını mümkün kılar. Çözücü için difüzyon modelleri kullanıyor ve öncül için hem otoregresif hem de difüzyon modelleriyle deney yapıyoruz; sonuncuların hesaplama açısından daha verimli olduğunu ve daha yüksek kaliteli örnekler ürettiğini buluyoruz.

PriorTransformer[[diffusers.PriorTransformer]]

diffusers.PriorTransformer[[diffusers.PriorTransformer]]

diffusers.PriorTransformer(num_attention_heads: int = 32, attention_head_dim: int = 64, num_layers: int = 20, embedding_dim: int = 768, num_embeddings = 77, additional_embeddings = 4, dropout: float = 0.0, time_embed_act_fn: str = 'silu', norm_in_type: str | None = None, embedding_proj_norm_type: str | None = None, encoder_hid_proj_type: str | None = 'linear', added_emb_type: str | None = 'prd', time_embed_dim: int | None = None, embedding_proj_dim: int | None = None, clip_embed_dim: int | None = None)

Kaynak

Parametreler:

num_attention_heads (int, isteğe bağlı, varsayılan 32) : Çok başlı dikkat için kullanılacak baş sayısı.

attention_head_dim (int, isteğe bağlı, varsayılan 64) : Her baştaki kanal sayısı.

num_layers (int, isteğe bağlı, varsayılan 20) : Kullanılacak Transformer bloğu katman sayısı.

embedding_dim (int, isteğe bağlı, varsayılan 768) : Model girdisi hidden_states boyutu

num_embeddings (int, isteğe bağlı, varsayılan 77) : Model girdisi hidden_states'nin gömme sayısı

additional_embeddings (int, opsiyonel, varsayılan 4) : Projeksiyonlanmış hidden_states'e eklenen ek token sayısı. Kullanılan hidden_states'in gerçek uzunluğu num_embeddings + additional_embeddings'tür.

dropout (float, opsiyonel, varsayılan 0.0) : Kullanılacak dropout olasılığı.

time_embed_act_fn (str, isteğe bağlı, varsayılan 'silu') : Zaman adımları gömmelemelerini oluşturmak için kullanılacak aktivasyon fonksiyonu.

norm_in_type (str, isteğe bağlı, varsayılan olarak None) : Transformer bloklarına aktarılmasından önce gizli durumlara uygulanacak normalizasyon katmanı. Normalizasyona gerek yoksa None olarak ayarlayın.

embedding_proj_norm_type (str, isteğe bağlı, varsayılanı None) : Girdi proj_embedding üzerinde uygulanacak normalizasyon katmanı. Normalizasyona gerek yoksa None olarak ayarlayın.

encoder_hid_proj_type (str, isteğe bağlı, varsayılan linear) : Girdi encoder_hidden_states üzerine uygulanacak projeksiyon katmanı. encoder_hidden_states None ise bunu None olarak ayarlayın.

added_emb_type (str, isteğe bağlı, varsayılan prd) : Modeli koşullandırmak için ek gömlemeler. prd veya None arasından seçim yapın. prd seçilirse, unclip makalesinde https://huggingface.co/papers/2204.06125 önerildiği gibi, metin gömlemesi ile görüntü gömlemesi arasındaki (kuantize) nokta çarpımını gösteren bir jeton başa eklenir. None ise, ek gömlemeler başa eklenmez.

time_embed_dim (int, *optional*, defaults to None) : The dimension of timestep embeddings. If None, will be set to num_attention_heads * attention_head_dim`

embedding_proj_dim (int, isteğe bağlı, varsayılan olarak None) : proj_embedding boyutu. None ise, embedding_dim olarak ayarlanır.

clip_embed_dim (int, isteğe bağlı, varsayılan olarak None) : Çıktının boyutu. None ise embedding_dim olarak ayarlanır.

A Prior Transformer modeli.

forward[[diffusers.PriorTransformer.forward]]

forward(hidden_states, timestep: typing.Union[torch.Tensor, float, int], proj_embedding: Tensor, encoder_hidden_states: typing.Optional[torch.Tensor] = None, attention_mask: typing.Optional[torch.BoolTensor] = None, return_dict: bool = True)

Kaynak

Parametreler:

hidden_states (torch.Tensor, şekli (batch_size, embedding_dim)) : Şu anda tahmin edilen gömme vektörleri.

timestep (torch.LongTensor) : Güncel gürültü azaltma adımı.

proj_embedding (torch.Tensor, şekli (batch_size, embedding_dim)) : Gürültü azaltma sürecinin koşullandığı projeksiyon gömme vektörü.

encoder_hidden_states (torch.Tensor, şekli (batch_size, num_embeddings, embedding_dim)) : Gürültü azaltma sürecinin koşullandığı metin gömme gizli durumları.

attention_mask (torch.BoolTensor, şekli (batch_size, num_embeddings)) : Metin gömme vektörleri için metin maskesi.

return_dict (bool, isteğe bağlı, varsayılan True) : Düz bir tuple yerine PriorTransformerOutput döndürülüp döndürülmemesi.

Dönüş: PriorTransformerOutput veya tuple

return_dict True ise, PriorTransformerOutput döndürülür, aksi takdirde ilk öğesi örnek tensörü olan bir tuple döndürülür.

PriorTransformer ileri yöntemi.

set_default_attn_processor[[diffusers.PriorTransformer.set_default_attn_processor]]

set_default_attn_processor()

Kaynak

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

PriorTransformerOutput[[diffusers.models.transformers.prior_transformer.PriorTransformerOutput]]

diffusers.models.transformers.prior_transformer.PriorTransformerOutput[[diffusers.models.transformers.prior_transformer.PriorTransformerOutput]]

diffusers.models.transformers.prior_transformer.PriorTransformerOutput(predicted_image_embedding: Tensor)

Kaynak

Parametreler:

predicted_image_embedding (torch.Tensor, şekli (batch_size, embedding_dim)) : CLIP metin gömme girdisine koşullu olarak tahmin edilen CLIP görüntü gömme.

PriorTransformer'ın çıktısı.

Xet Storage Details

Size:
7.99 kB
·
Xet hash:
621701d30fc233dd10e4fe9b9f0c2dff00f4fbaba9b5b04be3885ea700a41ba6

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