Buckets:
ConsisIDTransformer3DModel
Model Diffusion Transformer untuk data 3D dari ConsisID diperkenalkan dalam Identity-Preserving Text-to-Video Generation by Frequency Decomposition oleh Peking University & University of Rochester & lainnya.
Model dapat dimuat dengan potongan kode berikut.
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)
Parameter:
num_attention_heads (int, defaultnya 30) : Jumlah head yang digunakan untuk multi-head attention.
attention_head_dim (int, defaultnya 64) : Jumlah channel di setiap head.
in_channels (int, defaultnya 16) : Jumlah channel pada input.
out_channels (int, opsional, defaultnya 16) : Jumlah channel pada output.
flip_sin_to_cos (bool, defaultnya True) : Apakah akan membalik sin menjadi cos dalam time embedding.
time_embed_dim (int, defaultnya 512) : Dimensi output dari embedding timestep.
text_embed_dim (int, defaultnya 4096) : Dimensi input dari embedding teks yang berasal dari text encoder.
num_layers (int, defaultnya 30) : Jumlah lapisan blok Transformer yang akan digunakan.
dropout (float, defaultnya 0.0) : Probabilitas dropout yang digunakan.
attention_bias (bool, defaultnya True) : Apakah akan menggunakan bias pada lapisan proyeksi perhatian.
sample_width (int, defaultnya 90) : Lebar dari latens input.
sample_height (int, defaultnya 60) : Tinggi dari latens input.
sample_frames (int, defaultnya 49) : Jumlah frame pada latens input. Perhatikan bahwa parameter ini diinisialisasi secara keliru ke 49 alih-alih 13 karena ConsisID memproses 13 frame latens sekaligus pada pengaturan default dan yang direkomendasikannya, namun tidak dapat diubah ke nilai yang benar untuk memastikan kompatibilitas mundur. Untuk membuat transformer dengan K frame latens, nilai yang benar untuk dilewatkan di sini adalah: ((K - 1) * temporal_compression_ratio + 1).
patch_size (int, defaultnya 2) : Ukuran patch yang akan digunakan di lapisan patch embedding.
temporal_compression_ratio (int, defaultnya 4) : Rasio kompresi di sepanjang dimensi temporal. Lihat dokumentasi untuk sample_frames.
max_text_seq_length (int, defaultnya 226) : Panjang maksimum urutan dari embedding teks input.
activation_fn (str, defaultnya "gelu-approximate") : Fungsi aktivasi yang digunakan dalam feed-forward.
timestep_activation_fn (str, defaultnya "silu") : Fungsi aktivasi yang digunakan saat menghasilkan embedding timestep.
norm_elementwise_affine (bool, defaultnya True) : Apakah akan menggunakan elementwise affine di lapisan normalisasi.
norm_eps (float, defaultnya 1e-5) : Nilai epsilon yang digunakan dalam lapisan normalisasi.
spatial_interpolation_scale (float, defaultnya 1.875) : Faktor skala yang diterapkan pada embedding posisional 3D di sepanjang dimensi spasial.
temporal_interpolation_scale (float, defaultnya 1.0) : Faktor penskalaan yang diterapkan pada embedding posisi 3D di sepanjang dimensi temporal.
is_train_face (bool, defaultnya False) : Apakah akan mengaktifkan modul pelestarian identitas selama proses pelatihan. Jika diatur ke True, model akan berfokus pada tugas pelestarian identitas.
is_kps (bool, defaultnya False) : Apakah akan mengaktifkan keypoint untuk ekstraktor wajah global. Jika True, keypoint akan ada di dalam model.
cross_attn_interval (int, defaultnya 2) : Interval antara lapisan cross-attention dalam arsitektur Transformer. Nilai yang lebih besar dapat mengurangi frekuensi komputasi cross-attention, yang dapat membantu mengurangi beban komputasi.
cross_attn_dim_head (int, opsional, default 128) : Dimensi dari setiap kepala perhatian (attention head) pada lapisan cross-attention dalam arsitektur Transformer. Nilai yang lebih besar meningkatkan kapasitas untuk memperhatikan pola yang lebih kompleks, tetapi juga meningkatkan biaya memori dan komputasi.
cross_attn_num_heads (int, opsional, default 16) : Jumlah kepala perhatian pada lapisan cross-attention. Semakin banyak kepala, semakin banyak mekanisme perhatian paralel yang dapat dijalankan, sehingga mampu menangkap hubungan yang beragam antar komponen input, namun juga dapat meningkatkan kebutuhan komputasi.
LFE_id_dim (int, opsional, default 1280) : Dimensi dari vektor identitas yang digunakan dalam Local Facial Extractor (LFE). Vektor ini merepresentasikan fitur identitas dari wajah, yang penting untuk tugas seperti pengenalan wajah dan pelestarian identitas di berbagai frame.
LFE_vit_dim (int, opsional, default 1024) : Dimensi dari output vision transformer (ViT) yang digunakan dalam Local Facial Extractor (LFE). Nilai ini menentukan ukuran vektor fitur yang dihasilkan transformer yang akan diproses untuk ekstraksi fitur wajah.
LFE_depth (int, opsional, default 10) : Jumlah lapisan dalam Local Facial Extractor (LFE). Meningkatkan kedalaman memungkinkan model menangkap representasi fitur wajah yang lebih kompleks, tetapi juga meningkatkan beban komputasi.
LFE_dim_head (int, opsional, default 64) : Dimensi dari setiap kepala perhatian (attention head) dalam Local Facial Extractor (LFE). Parameter ini memengaruhi seberapa halus model dapat memproses dan memfokuskan pada bagian-bagian berbeda dari fitur wajah selama proses ekstraksi.
LFE_num_heads (int, opsional, default 16) : Jumlah kepala perhatian dalam Local Facial Extractor (LFE). Semakin banyak kepala, semakin baik kemampuan model untuk menangkap fitur wajah yang beragam, namun dengan biaya kompleksitas komputasi yang meningkat.
LFE_num_id_token (int, opsional, default 5) : Jumlah token identitas yang digunakan dalam Local Facial Extractor (LFE). Ini menentukan berapa banyak token terkait identitas yang akan diproses oleh model untuk memastikan pelestarian identitas wajah selama ekstraksi fitur.
LFE_num_querie (int, opsional, default 32) : Jumlah token query yang digunakan dalam Local Facial Extractor (LFE). Token-token ini digunakan untuk menangkap informasi wajah berfrekuensi tinggi yang membantu dalam ekstraksi fitur wajah yang akurat.
LFE_output_dim (int, opsional, default 2048) : Dimensi output dari Local Facial Extractor (LFE). Dimensi ini menentukan ukuran vektor fitur yang dihasilkan oleh modul LFE, yang akan digunakan untuk tugas-tugas selanjutnya seperti pengenalan wajah atau pelacakan.
LFE_ff_mult (int, opsional, default 4) : Faktor perkalian yang diterapkan pada ukuran lapisan tersembunyi jaringan feed-forward dalam Local Facial Extractor (LFE). Nilai yang lebih tinggi meningkatkan kapasitas model untuk mempelajari transformasi fitur wajah yang lebih kompleks, tetapi juga meningkatkan persyaratan komputasi dan memori.
LFE_num_scale (int, opsional, default 5) : Jumlah skala fitur visual yang berbeda. Nilai yang lebih tinggi meningkatkan kapasitas model untuk mempelajari transformasi fitur wajah yang lebih kompleks, tetapi juga meningkatkan persyaratan komputasi dan memori.
local_face_scale (float, defaultnya 1.0) : Faktor penskalaan yang digunakan untuk menyesuaikan pentingnya fitur wajah lokal dalam model. Hal ini dapat memengaruhi seberapa kuat model berfokus pada konten terkait wajah dengan frekuensi tinggi.
Model Transformer untuk data seperti video di ConsisID.
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)
Parameter:
hidden_states (torch.Tensor dengan bentuk (batch_size, num_frames, channels, height, width)) : hidden_states masukan.
encoder_hidden_states (torch.Tensor dengan bentuk (batch_size, sequence_len, embed_dims)) : Embedding kondisional (embedding yang dihitung dari kondisi input seperti prompt) yang akan digunakan.
timestep (torch.LongTensor) : Digunakan untuk menunjukkan langkah denoising.
timestep_cond (torch.Tensor, opsional) : Embedding kondisional untuk timestep. Jika disediakan, embedding akan dijumlahkan dengan sampel yang melewati lapisan self.time_embedding untuk mendapatkan embedding timestep akhir.
image_rotary_emb (tuple dari torch.Tensor, opsional) : Embedding posisi rotasi yang telah dihitung sebelumnya.
attention_kwargs (dict, opsional) : Kamus kwargs yang jika ditentukan akan diteruskan ke AttentionProcessor seperti yang didefinisikan di bawah self.processor dalam diffusers.models.attention_processor.
id_cond (torch.Tensor, opsional) : Embedding wajah yang diekstrak oleh ekstraktor wajah lokal yang digunakan untuk kondisioning identitas.
id_vit_hidden (torch.Tensor, opsional) : State tersembunyi ViT yang diekstrak dari gambar wajah dan digunakan untuk kondisioning identitas.
return_dict (bool, opsional, defaultnya True) : Apakah akan mengembalikan ~models.transformer_2d.Transformer2DModelOutput alih-alih tuple biasa.
Mengembalikan:
Jika return_dict bernilai True, sebuah ~models.transformer_2d.Transformer2DModelOutput akan dikembalikan, selain itu sebuah tuple di mana elemen pertama adalah tensor sampel.
Metode forward dari ConsisIDTransformer3DModel.
Transformer2DModelOutput[[diffusers.models.modeling_outputs.Transformer2DModelOutput]]
diffusers.models.modeling_outputs.Transformer2DModelOutput[[diffusers.models.modeling_outputs.Transformer2DModelOutput]]
diffusers.models.modeling_outputs.Transformer2DModelOutput(sample: torch.Tensor)
Parameter:
sample (torch.Tensor dengan bentuk (batch_size, num_channels, height, width) atau (batch size, num_vector_embeds - 1, num_latent_pixels) jika Transformer2DModel bersifat diskrit) : Output hidden states yang dikondisikan pada input encoder_hidden_states. Jika diskrit, mengembalikan distribusi probabilitas untuk piksel laten yang tidak berisik.
Output dari Transformer2DModel.
Xet Storage Details
- Size:
- 12.6 kB
- Xet hash:
- 5b9885cc487b06a7980ad9cbdf657177d982ed7ba1888f56d9e57b84d98c7a9b
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.