Buckets:
ConsisIDTransformer3DModel
Pekin Üniversitesi & Rochester Üniversitesi & diğerleri tarafından Identity-Preserving Text-to-Video Generation by Frequency Decomposition makalesinde ConsisID'den 3D veriler için bir Diffusion Transformer modeli tanıtılmıştır.
Model, aşağıdaki kod parçasıyla yüklenebilir.
from diffusers import ConsisIDTransformer3DModel
transformer = ConsisIDTransformer3DModel.from_pretrained("BestWishYsh/ConsisID-preview", subfolder="transformer", dtype=torch.bfloat16).to("cuda") # or "mps", "xpu", "cpu"
ConsisIDTransformer3DModel[[diffusers.ConsisIDTransformer3DModel]]
diffusers.ConsisIDTransformer3DModel[[diffusers.ConsisIDTransformer3DModel]]
diffusers.ConsisIDTransformer3DModel(num_attention_heads: int = 30, attention_head_dim: int = 64, in_channels: int = 16, out_channels: int | None = 16, flip_sin_to_cos: bool = True, freq_shift: int = 0, time_embed_dim: int = 512, text_embed_dim: int = 4096, num_layers: int = 30, dropout: float = 0.0, attention_bias: bool = True, sample_width: int = 90, sample_height: int = 60, sample_frames: int = 49, patch_size: int = 2, temporal_compression_ratio: int = 4, max_text_seq_length: int = 226, activation_fn: str = 'gelu-approximate', timestep_activation_fn: str = 'silu', norm_elementwise_affine: bool = True, norm_eps: float = 1e-05, spatial_interpolation_scale: float = 1.875, temporal_interpolation_scale: float = 1.0, use_rotary_positional_embeddings: bool = False, use_learned_positional_embeddings: bool = False, is_train_face: bool = False, is_kps: bool = False, cross_attn_interval: int = 2, cross_attn_dim_head: int = 128, cross_attn_num_heads: int = 16, LFE_id_dim: int = 1280, LFE_vit_dim: int = 1024, LFE_depth: int = 10, LFE_dim_head: int = 64, LFE_num_heads: int = 16, LFE_num_id_token: int = 5, LFE_num_querie: int = 32, LFE_output_dim: int = 2048, LFE_ff_mult: int = 4, LFE_num_scale: int = 5, local_face_scale: float = 1.0)
Parametreler:
num_attention_heads (int, varsayılan 30) : Çok başlı dikkat için kullanılacak baş sayısı.
attention_head_dim (int, varsayılan 64) : Her baştaki kanal sayısı.
in_channels (int, varsayılan 16) : Girdideki kanal sayısı.
out_channels (int, isteğe bağlı, varsayılan 16) : Çıktıdaki kanal sayısı.
flip_sin_to_cos (bool, varsayılan True) : Zaman gömümünde sin'in cos'a çevrilip çevrilmeyeceğini belirtir.
time_embed_dim (int, varsayılan 512) : Zaman adımları gömme çıktısının boyutu.
text_embed_dim (int, varsayılan 4096) : Metin kodlayıcısından gelen metin gömme girdi boyutu.
num_layers (int, varsayılan 30) : Kullanılacak Transformer bloğu katman sayısı.
dropout (float, varsayılan 0.0) : Kullanılacak dropout olasılığı.
attention_bias (bool, varsayılan True) : Dikkat projeksiyon katmanlarında sapma (bias) kullanılıp kullanılmayacağı.
sample_width (int, varsayılan 90) : Girdi latentlerinin genişliği.
sample_height (int, varsayılan 60) : Girdi latentlerinin yüksekliği.
sample_frames (int, varsayılan 49) : Girdi latentlerindeki kare sayısı. Not: ConsisID, varsayılan ve önerilen ayarlarında 13 latent kareyi birden işlediği için bu parametre 13 yerine yanlışlıkla 49 olarak başlatılmıştır; ancak geriye dönük uyumluluğu sağlamak için doğru değere değiştirilemez. K latent kareli bir dönüştürücü oluşturmak için buraya geçirilmesi gereken doğru değer şudur: ((K - 1) * temporal_compression_ratio + 1).
patch_size (int, varsayılan 2) : Yama gömme katmanında kullanılacak yamaların boyutu.
temporal_compression_ratio (int, varsayılan 4) : Zaman boyutu boyunca sıkıştırma oranı. sample_frames belgelendirmesine bakın.
max_text_seq_length (int, varsayılan 226) : Girdi metin gömme dizilerinin en uzun uzunluğu.
activation_fn (str, varsayılan "gelu-approximate") : İleri beslemeli ağda kullanılacak aktivasyon fonksiyonu.
timestep_activation_fn (str, varsayılan "silu") : Zaman adımları gömmelemelerini üretirken kullanılacak aktivasyon fonksiyonu.
norm_elementwise_affine (bool, varsayılan True) : Normalizasyon katmanlarında öge bazlı afin dönüşümün kullanılıp kullanılmayacağı.
norm_eps (float, varsayılan 1e-5) : Normalizasyon katmanlarında kullanılacak epsilon değeri.
spatial_interpolation_scale (float, varsayılan 1.875) : Uzamsal boyutlar boyunca 3B konumsal gömme uygulamalarında uygulanacak ölçekleme faktörü.
temporal_interpolation_scale (float, varsayılan 1.0) : 3B konumsal gömme (positional embeddings) içinde zaman boyutları boyunca uygulanacak ölçekleme faktörü.
is_train_face (bool, varsayılan False) : Eğitim sürecinde kimliği koruma modülünün etkinleştirilip etkinleştirilmeyeceğini belirtir. True olarak ayarlandığında, model kimliği koruma görevlerine odaklanır.
is_kps (bool, varsayılan False) : Küresel yüz çıkarıcısı için anahtar nokta (keypoint) etkinleştirilecek mi? True ise, anahtar noktalar modelde bulunur.
cross_attn_interval (int, varsayılan 2) : Transformer mimarisinde çapraz dikkat katmanları arasındaki aralık. Daha büyük bir değer, çapraz dikkat hesaplamalarının sıklığını azaltabilir ve bu da hesaplama yükünü azaltmaya yardımcı olabilir.
cross_attn_dim_head (int, optional, varsayılan 128) : Transformer mimarisindeki çapraz dikkat katmanlarında her dikkat başlığının boyutluluğu. Daha büyük bir değer, daha karmaşık kalıplara odaklanma kapasitesini artırır ancak bellek ve hesaplama maliyetlerini de artırır.
cross_attn_num_heads (int, isteğe bağlı, varsayılan 16) : Çapraz dikkat katmanlarındaki dikkat başlarının sayısı. Daha fazla baş, farklı giriş bileşenleri arasındaki çeşitli ilişkileri yakalamak için daha paralel dikkat mekanizmalarına olanak tanır, ancak hesaplama gereksinimlerini de artırabilir.
LFE_id_dim (int, isteğe bağlı, varsayılan 1280) : Local Facial Extractor (LFE) içinde kullanılan kimlik vektörünün boyutluluğu. Bu vektör, yüzün kimlik özelliklerini temsil eder ve yüz tanıma ile farklı kareler arasında kimliğin korunması gibi görevler için önemlidir.
LFE_vit_dim (int, isteğe bağlı, varsayılan 1024) : Local Facial Extractor (LFE) içinde kullanılan vision transformer (ViT) çıktısının boyutu. Bu değer, yüz özelliği çıkarımı için işlenecek transformer tarafından üretilen özellik vektörlerinin boyutunu belirler.
LFE_depth (int, isteğe bağlı, varsayılan 10) : Local Facial Extractor'ın (LFE) katman sayısı. Derinliğin artırılması, modelin yüz özelliklerinin daha karmaşık temsillerini yakalamasına olanak tanır ancak hesaplama yükünü de artırır.
LFE_dim_head (int, optional, varsayılan 64) : Local Facial Extractor (LFE) içindeki her dikkat başlığının boyutluluğu. Bu parametre, çıkarım işlemi sırasında modelin yüz özelliklerinin farklı bölümlerini ne kadar ince bir şekilde işleyip odaklanabileceğini etkiler.
LFE_num_heads (int, isteğe bağlı, varsayılan 16) : Local Facial Extractor (LFE) içindeki dikkat başlarının sayısı. Daha fazla baş, modelin çeşitli yüz özelliklerini yakalama yeteneğini artırabilir, ancak bunun bedeli artan hesaplama karmaşıklığıdır.
LFE_num_id_token (int, isteğe bağlı, varsayılan 5) : Local Facial Extractor (LFE) içinde kullanılan kimlik belirteçlerinin sayısı. Bu, modelin özellik çıkarımı sırasında yüz kimliğinin korunmasını sağlamak için işleyeceği kimlikle ilgili belirteç sayısını tanımlar.
LFE_num_querie (int, isteğe bağlı, varsayılan 32) : Local Facial Extractor (LFE) içinde kullanılan sorgu belirteçlerinin sayısı. Bu belirteçler, doğru yüz özelliği çıkarımına yardımcı olan yüksek frekanslı yüzle ilgili bilgileri yakalamak için kullanılır.
LFE_output_dim (int, isteğe bağlı, varsayılan 2048) : Local Facial Extractor'ün (LFE) çıktı boyutu. Bu boyut, LFE modülünün ürettiği özellik vektörlerinin boyutunu belirler ve bu vektörler yüz tanıma veya izleme gibi sonraki görevlerde kullanılır.
LFE_ff_mult (int, isteğe bağlı, varsayılan 4) : Local Facial Extractor (LFE) içindeki ileri beslemeli ağın gizli katman boyutuna uygulanan çarpım faktörü. Daha yüksek bir değer, modelin daha karmaşık yüz özelliği dönüşümlerini öğrenme kapasitesini artırır, ancak hesaplama ve bellek gereksinimlerini de artırır.
LFE_num_scale (int, isteğe bağlı, varsayılan 5) : Görsel özelliğin farklı ölçek sayısı. Daha yüksek bir değer, modelin daha karmaşık yüz özelliği dönüşümlerini öğrenme kapasitesini artırır, ancak hesaplama ve bellek gereksinimlerini de artırır.
local_face_scale (float, varsayılan 1.0) : Modelde yerel yüz özelliklerinin önemini ayarlamak için kullanılan ölçekleme faktörü. Bu, modelin yüksek frekanslı yüzle ilgili içeriğe ne kadar yoğunlaştığını etkileyebilir.
ConsisID içinde video benzeri veriler için bir Transformer modeli.
forward[[diffusers.ConsisIDTransformer3DModel.forward]]
forward(hidden_states: Tensor, encoder_hidden_states: Tensor, timestep: typing.Union[int, float, torch.LongTensor], timestep_cond: typing.Optional[torch.Tensor] = None, image_rotary_emb: tuple[torch.Tensor, torch.Tensor] | None = None, attention_kwargs: dict[str, typing.Any] | None = None, id_cond: typing.Optional[torch.Tensor] = None, id_vit_hidden: typing.Optional[torch.Tensor] = None, return_dict: bool = True)
Parametreler:
hidden_states (torch.Tensor, şekli (batch_size, num_frames, channels, height, width)) : Girdi hidden_states.
encoder_hidden_states (torch.Tensor, şekli (batch_size, sequence_len, embed_dims)) : Kullanılacak koşullu gömlemeler (giriş koşullarından, örneğin istemlerden hesaplanan gömlemeler).
timestep (torch.LongTensor) : Gürültü azaltma adımını belirtmek için kullanılır.
timestep_cond (torch.Tensor, isteğe bağlı) : Zaman adımı için koşullu gömme. Sağlanırsa, gömmeler self.time_embedding katmanından geçirilen örneklerle toplanarak nihai zaman adımı gömmeleri elde edilir.
image_rotary_emb (tuple of torch.Tensor, isteğe bağlı) : Ön hesaplanmış döner konumsal gömme (embedding) değerleri.
attention_kwargs (dict, isteğe bağlı) : Belirtilirse, diffusers.models.attention_processor içinde self.processor altında tanımlanan AttentionProcessor'a iletilen bir kwargs sözlüğü.
id_cond (torch.Tensor, isteğe bağlı) : Kimlik koşullandırma için kullanılan yerel yüz çıkarıcısı tarafından çıkarılan yüz gömme (embedding).
id_vit_hidden (torch.Tensor, isteğe bağlı) : Kimlik koşullandırma için kullanılan, yüz görüntülerinden çıkarılan ViT gizli durumları.
return_dict (bool, isteğe bağlı, varsayılan True) : Düz bir tuple yerine ~models.transformer_2d.Transformer2DModelOutput döndürülüp döndürülmediğini belirtir.
Dönüş:
return_dict True ise, ~models.transformer_2d.Transformer2DModelOutput döndürülür, aksi takdirde ilk öğesi örnek tensörü olan bir tuple döndürülür.
ConsisIDTransformer3DModel ileri yöntemi.
Transformer2DModelOutput[[diffusers.models.modeling_outputs.Transformer2DModelOutput]]
diffusers.models.modeling_outputs.Transformer2DModelOutput[[diffusers.models.modeling_outputs.Transformer2DModelOutput]]
diffusers.models.modeling_outputs.Transformer2DModelOutput(sample: torch.Tensor)
Parametreler:
sample (torch.Tensor, şekli (batch_size, num_channels, height, width) veya Transformer2DModel ayrık (discrete) ise (batch size, num_vector_embeds - 1, num_latent_pixels)) : encoder_hidden_states girdisine koşullu gizli durum (hidden states) çıktısı. Ayrık (discrete) ise, gürültüsü olmayan (unnoised) gizli (latent) pikseller için olasılık dağılımlarını döndürür.
Transformer2DModel'nin çıktısı.
Xet Storage Details
- Size:
- 13.1 kB
- Xet hash:
- 4a05acda5aeb114604b1aba510a22b04245cf2c13190b98fd51a78b81bb212e9
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.