Diffusers documentation

PAN2Transformer3DModel

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.43.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

PAN2Transformer3DModel

Диффузионный трансформер PAN 2. Он выполняет совместное внимание по токенам видео и токенам текста, используя отдельные проекции и сети прямого распространения для каждого потока.

Входные данные видео объединяют зашумлённые латенты, латенты условий и одноканальную маску условий, благодаря чему одна и та же модель используется для генерации видео по тексту и по изображению.

import torch
from diffusers import PAN2Transformer3DModel

transformer = PAN2Transformer3DModel.from_pretrained("IFM/PAN2", subfolder="transformer", dtype=torch.bfloat16)

PAN2Transformer3DModel

класс diffusers.PAN2Transformer3DModel

< >

( 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

< >

( 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.

Update on GitHub