Diffusers documentation
PAN2Transformer3DModel
PAN2Transformer3DModel
Диффузионный трансформер PAN 2. Он выполняет совместное внимание по токенам видео и токенам текста, используя отдельные проекции и сети прямого распространения для каждого потока.
Входные данные видео объединяют зашумлённые латенты, латенты условий и одноканальную маску условий, благодаря чему одна и та же модель используется для генерации видео по тексту и по изображению.
import torch
from diffusers import PAN2Transformer3DModel
transformer = PAN2Transformer3DModel.from_pretrained("IFM/PAN2", subfolder="transformer", dtype=torch.bfloat16)PAN2Transformer3DModel
класс 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 )
Параметры
- patch_size (
tuple[int, int, int], по умолчанию(1, 2, 2)) — Размер патча(t, h, w)для встраивания патчей. - in_channels (
int, по умолчанию97) — Количество входных каналов: зашумлённые латенты, латенты условий и один канал маски условий. - out_channels (
int, по умолчанию48) — Количество выходных каналов. - num_attention_heads (
int, по умолчанию32) — Количество головок внимания. - attention_head_dim (
int, по умолчанию128) — Количество каналов в каждой голове внимания. - num_layers (
int, по умолчанию44) — Количество блоков совместного внимания. - num_refiner_layers (
int, по умолчанию4) — Количество блоков уточнения токенов, применяемых к текстовым эмбеддингам. - mlp_ratio (
float, по умолчанию8.0) — Соотношение внутренней размерности полносвязного слоя для видео к скрытой размерности. - context_mlp_ratio (
float, по умолчанию4.0) — Соотношение внутренней размерности текстового полносвязного слоя к скрытой размерности. - refiner_mlp_ratio (
float, по умолчанию4.0) — Соотношение внутренней размерности полносвязного слоя токенового рефинера к скрытой размерности. - text_embed_dim (
int, по умолчанию4096) — Размерность скрытых состояний текстового энкодера. - rope_axes_dim (
tuple[int, int, int], по умолчанию(16, 56, 56)) — Количество каналов каждой оси(t, h, w)в ротационном встраивании. - rope_theta (
float, по умолчанию256.0) — Основание вращательного встраивания. - rope_temporal_scale (
float, по умолчанию16 / 24) — Коэффициент, на который умножаются позиции кадров в ротационном вложении: отношение эталонной частоты кадров ротационного вложения к частоте кадров видео (16 к 24 кадрам в секунду).
Диффузионный трансформер PAN 2.
Стек блоков совместного внимания, применяемых к конкатенации патчированных латентов видео и уточнённых текстовых токенов. Входные данные видео содержат шумовые латенты, условные латенты и маску условий, сложенные вдоль оси каналов, благодаря чему одна и та же модель используется как для генерации видео по тексту, так и для генерации видео по изображению.
forward
< source >( hidden_states: Tensortimestep: Tensorencoder_hidden_states: Tensorattention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = True ) → Transformer2DModelOutput or tuple
Параметры
- hidden_states (
torch.Tensorформы(batch_size, in_channels, num_frames, height, width)) — Шумовые латенты, латенты условий и маска условий, склеенные по каналам. - timestep (
torch.Tensorформы(batch_size,)) — Шаг времени для удаления шума в диапазоне[0, 1000]. - encoder_hidden_states (
torch.Tensorформы(batch_size, text_seq_len, text_embed_dim)) — Скрытые состояния текстового энкодера. - attention_kwargs (
dict, необязательный) — Словарь kwargs, передаваемый вAttentionProcessor; используется только для масштаба LoRA. - return_dict (
bool, необязательный, по умолчаниюTrue) — Определяет, следует ли возвращать Transformer2DModelOutput вместо обычного кортежа.
Возвращает
Transformer2DModelOutput или tuple
Предсказанная скорость формы (batch_size, out_channels, num_frames, height, width).
Метод forward модели PAN2Transformer3DModel.