Diffusers documentation
PAN2Transformer3DModel
PAN2Transformer3DModel
Biến đổi khuếch tán của PAN 2. Nó chạy chú ý liên hợp trên các token video và các token văn bản, với các phép chiếu và mạng truyền thẳng riêng biệt cho từng luồng.
Đầu vào video xếp chồng các latent nhiễu, các latent điều kiện và một mặt nạ điều kiện một kênh, nhờ đó cùng một mô hình phục vụ cả text-to-video và image-to-video.
import torch
from diffusers import PAN2Transformer3DModel
transformer = PAN2Transformer3DModel.from_pretrained("IFM/PAN2", subfolder="transformer", dtype=torch.bfloat16)PAN2Transformer3DModel
lớp 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 )
Tham số
- patch_size (
tuple[int, int, int], mặc định là(1, 2, 2)) — Kích thước patch(t, h, w)của patch embedding. - in_channels (
int, mặc định là97) — Số lượng kênh đầu vào: latents nhiễu, latents điều kiện và một kênh mask điều kiện. - out_channels (
int, mặc định là48) — Số lượng kênh đầu ra. - num_attention_heads (
int, mặc định là32) — Số lượng đầu chú ý (attention heads). - attention_head_dim (
int, mặc định là128) — Số lượng kênh trong mỗi đầu chú ý. - num_layers (
int, mặc định là44) — Số lượng khối chú ý liên hợp (joint-attention). - num_refiner_layers (
int, mặc định là4) — Số lượng khối token refiner được áp dụng cho các nhúng văn bản. - mlp_ratio (
float, mặc định là8.0) — Tỷ lệ giữa chiều trong của lớp feed-forward video và chiều ẩn. - context_mlp_ratio (
float, mặc định là4.0) — Tỷ lệ giữa chiều trong của lớp feed-forward văn bản và chiều ẩn. - refiner_mlp_ratio (
float, mặc định là4.0) — Tỷ số giữa chiều trong của mạng truyền thẳng (feed-forward) của bộ tinh chỉnh token và chiều ẩn. - text_embed_dim (
int, mặc định là4096) — Kích thước của các trạng thái ẩn của bộ mã hóa văn bản. - rope_axes_dim (
tuple[int, int, int], mặc định là(16, 56, 56)) — Số lượng kênh của mỗi trục(t, h, w)trong nhúng xoay (rotary embedding). - rope_theta (
float, mặc định là256.0) — Cơ số của phép nhúng quay (rotary embedding). - rope_temporal_scale (
float, mặc định là16 / 24) — Hệ số nhân với vị trí khung hình của rotary embedding: tỷ lệ giữa tần số khung hình tham chiếu của rotary embedding và tần số khung hình của video (16 trên 24 fps).
Transformer khuếch tán của PAN 2.
Một chồng các khối joint-attention trên phép nối của các latents video đã được patchify và các token văn bản đã được tinh chỉnh. Đầu vào video mang theo các latents nhiễu, các latents điều kiện và một mặt nạ điều kiện được xếp chồng dọc theo trục kênh, nhờ đó cùng một mô hình phục vụ cho cả text-to-video và 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
Tham số
- hidden_states (
torch.Tensorcó hình dạng(batch_size, in_channels, num_frames, height, width)) — Các latent nhiễu, các latent điều kiện và mặt nạ điều kiện, được nối theo chiều kênh. - timestep (
torch.Tensorcó hình dạng(batch_size,)) — Bước thời gian khử nhiễu trong[0, 1000]. - encoder_hidden_states (
torch.Tensorcó hình dạng(batch_size, text_seq_len, text_embed_dim)) — Trạng thái ẩn của bộ mã hóa văn bản. - attention_kwargs (
dict, tùy chọn) — Một từ điển kwargs được truyền đếnAttentionProcessor; chỉ được sử dụng cho tỷ lệ LoRA. - return_dict (
bool, tùy chọn, mặc định làTrue) — Có nên trả về một Transformer2DModelOutput thay vì một tuple thông thường hay không.
Trả về
Transformer2DModelOutput hoặc tuple
Tốc độ dự đoán có hình dạng (batch_size, out_channels, num_frames, height, width).
Phương thức forward của PAN2Transformer3DModel.