Diffusers documentation
PAN2Transformer3DModel
PAN2Transformer3DModel
Diffusion transformer dari PAN 2. Ia menjalankan joint attention pada token video dan token teks, dengan proyeksi dan jaringan feed-forward terpisah untuk setiap stream.
Input video menumpuk latens berisik, latens kondisional, dan mask kondisional satu kanal, sehingga model yang sama melayani teks-ke-video dan gambar-ke-video.
import torch
from diffusers import PAN2Transformer3DModel
transformer = PAN2Transformer3DModel.from_pretrained("IFM/PAN2", subfolder="transformer", dtype=torch.bfloat16)PAN2Transformer3DModel
kelas diffusers.PAN2Transformer3DModel
< source >( patch_size: tuple[int, int, int] = (1, 2, 2)in_channels: int = 97out_channels: int = 48num_attention_heads: int = 32attention_head_dim: int = 128num_layers: int = 44num_refiner_layers: int = 4mlp_ratio: float = 8.0context_mlp_ratio: float = 4.0refiner_mlp_ratio: float = 4.0text_embed_dim: int = 4096rope_axes_dim: tuple[int, int, int] = (16, 56, 56)rope_theta: float = 256.0rope_temporal_scale: float = 0.6666666666666666 )
Parameter
- patch_size (
tuple[int, int, int], defaultnya(1, 2, 2)) — Ukuran patch(t, h, w)dari patch embedding. - in_channels (
int, defaultnya97) — Jumlah saluran input: latens berisik, latens kondisional, dan satu saluran mask kondisional. - out_channels (
int, defaultnya48) — Jumlah saluran output. - num_attention_heads (
int, defaultnya32) — Jumlah kepala perhatian (attention heads). - attention_head_dim (
int, defaultnya128) — Jumlah channel di setiap kepala perhatian. - num_layers (
int, defaultnya44) — Jumlah blok joint-attention. - num_refiner_layers (
int, defaultnya4) — Jumlah blok refiner token yang diterapkan pada embedding teks. - mlp_ratio (
float, defaultnya8.0) — Rasio dimensi dalam feed-forward video terhadap dimensi tersembunyi. - context_mlp_ratio (
float, defaultnya4.0) — Rasio dimensi dalam feed-forward teks terhadap dimensi tersembunyi. - refiner_mlp_ratio (
float, defaultnya4.0) — Rasio dimensi dalam feed-forward refiner token terhadap dimensi tersembunyi. - text_embed_dim (
int, defaultnya4096) — Dimensi dari hidden states encoder teks. - rope_axes_dim (
tuple[int, int, int], defaultnya(16, 56, 56)) — Jumlah channel untuk setiap sumbu(t, h, w)dalam rotary embedding. - rope_theta (
float, defaultnya256.0) — Dasar dari rotary embedding. - rope_temporal_scale (
float, defaultnya16 / 24) — Faktor yang mengalikan posisi frame dari rotary embedding: rasio frame rate referensi dari rotary embedding terhadap frame rate video (16 terhadap 24 fps).
Diffusion transformer dari PAN 2.
Sebuah tumpukan blok joint-attention di atas konkatenasi dari latens video yang di-patch dan token teks yang telah disempurnakan. Input video membawa latens berisik, latens kondisional, dan mask kondisional yang ditumpuk di sepanjang sumbu channel, sehingga model yang sama melayani text-to-video dan image-to-video.
forward
< source >( hidden_states: Tensortimestep: Tensorencoder_hidden_states: Tensorattention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = True ) → Transformer2DModelOutput or tuple
Parameter
- hidden_states (
torch.Tensordengan bentuk(batch_size, in_channels, num_frames, height, width)) — Latent berisik, latent kondisional, dan mask kondisional, yang digabungkan sepanjang channel. - timestep (
torch.Tensordengan bentuk(batch_size,)) — Langkah denoising dalam[0, 1000]. - encoder_hidden_states (
torch.Tensordengan bentuk(batch_size, text_seq_len, text_embed_dim)) — Hidden states dari text encoder. - attention_kwargs (
dict, opsional) — Kamus kwargs yang diteruskan keAttentionProcessor; hanya digunakan untuk skala LoRA. - return_dict (
bool, opsional, defaultnyaTrue) — Apakah akan mengembalikan Transformer2DModelOutput alih-alih tuple biasa.
Mengembalikan
Transformer2DModelOutput atau tuple
Kecepatan prediksi dari bentuk (batch_size, out_channels, num_frames, height, width).
Metode forward dari PAN2Transformer3DModel.