Diffusers documentation

EasyAnimateTransformer3DModel

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

EasyAnimateTransformer3DModel

Модель Diffusion Transformer для 3D-данных от EasyAnimate была представлена Alibaba PAI.

Модель можно загрузить с помощью следующего фрагмента кода.

from diffusers import EasyAnimateTransformer3DModel

transformer = EasyAnimateTransformer3DModel.from_pretrained("alibaba-pai/EasyAnimateV5.1-12b-zh", subfolder="transformer", dtype=torch.float16).to("cuda")  # or "mps", "xpu", "cpu"

EasyAnimateTransformer3DModel

класс diffusers.EasyAnimateTransformer3DModel

< >

( num_attention_heads: int = 48attention_head_dim: int = 64in_channels: int | None = Noneout_channels: int | None = Nonepatch_size: int | None = Nonesample_width: int = 90sample_height: int = 60activation_fn: str = 'gelu-approximate'timestep_activation_fn: str = 'silu'freq_shift: int = 0num_layers: int = 48mmdit_layers: int = 48dropout: float = 0.0time_embed_dim: int = 512add_norm_text_encoder: bool = Falsetext_embed_dim: int = 3584text_embed_dim_t5: int = Nonenorm_eps: float = 1e-05norm_elementwise_affine: bool = Trueflip_sin_to_cos: bool = Truetime_position_encoding_type: str = '3d_rope'after_norm = Falseresize_inpaint_mask_directly: bool = Trueenable_text_attention_mask: bool = Trueadd_noise_in_inpaint_model: bool = True )

Параметры

  • num_attention_heads (int, по умолчанию 48) — Количество голов, используемых для многоголовного внимания.
  • attention_head_dim (int, по умолчанию 64) — Количество каналов в каждой голове.
  • in_channels (int, по умолчанию 16) — Количество каналов на входе.
  • out_channels (int, необязательный, по умолчанию 16) — Количество каналов на выходе.
  • patch_size (int, по умолчанию 2) — Размер патчей, используемых в слое встраивания патчей.
  • sample_width (int, по умолчанию 90) — Ширина входных латентов.
  • sample_height (int, по умолчанию 60) — Высота входных латентов.
  • activation_fn (str, по умолчанию "gelu-approximate") — Функция активации, используемая в полносвязном слое.
  • timestep_activation_fn (str, по умолчанию "silu") — Функция активации, используемая при генерации эмбеддингов временных шагов.
  • num_layers (int, по умолчанию 30) — Количество блоков Transformer, используемых в модели.
  • mmdit_layers (int, по умолчанию 1000) — Количество блоков Multi Modal Transformer, которые следует использовать.
  • dropout (float, по умолчанию 0.0) — Вероятность применения dropout.
  • time_embed_dim (int, по умолчанию 512) — Размерность выходного вектора эмбеддингов временных шагов.
  • text_embed_dim (int, по умолчанию 4096) — Входное измерение текстовых эмбеддингов от текстового энкодера.
  • norm_eps (float, по умолчанию 1e-5) — Значение эпсилона, используемое в слоях нормализации.
  • norm_elementwise_affine (bool, по умолчанию True) — Использовать ли elementwise affine в слоях нормализации.
  • flip_sin_to_cos (bool, по умолчанию True) — Определяет, следует ли заменить sin на cos во временном эмбеддинге.
  • time_position_encoding_type (str, по умолчанию 3d_rope) — Тип кодирования временной позиции.
  • after_norm (bool, по умолчанию False) — Флаг, указывающий, следует ли применять нормализацию после.
  • resize_inpaint_mask_directly (bool, по умолчанию True) — Флаг для прямого изменения размера маски inpaint.
  • enable_text_attention_mask (bool, по умолчанию True) — Флаг для включения маски внимания для текста.
  • add_noise_in_inpaint_model (bool, по умолчанию False) — Флаг для добавления шума в модели инпейнта.

Модель Transformer для видеоподобных данных в EasyAnimate.

forward

< >

( hidden_states: Tensortimestep: Tensortimestep_cond: typing.Optional[torch.Tensor] = Noneencoder_hidden_states: typing.Optional[torch.Tensor] = Noneencoder_hidden_states_t5: typing.Optional[torch.Tensor] = Noneinpaint_latents: typing.Optional[torch.Tensor] = Nonecontrol_latents: typing.Optional[torch.Tensor] = Nonereturn_dict: bool = True )

Параметры

  • hidden_states (torch.Tensor формы (batch_size, channels, num_frames, height, width)) — Входные hidden_states.
  • timestep (torch.LongTensor) — Используется для указания шага денойзинга.
  • timestep_cond (torch.Tensor, необязательный) — Условные эмбеддинги для временного шага. Если переданы, эмбеддинги будут сложены с сэмплами, прошедшими через слой self.time_embedding, чтобы получить итоговые эмбеддинги временного шага.
  • encoder_hidden_states (torch.Tensor, необязательный) — Условные эмбеддинги (эмбеддинги, вычисленные на основе входных условий, таких как промпты), которые следует использовать.
  • encoder_hidden_states_t5 (torch.Tensor, необязательный) — Дополнительные условные эмбеддинги, вычисленные из текстового энкодера T5.
  • inpaint_latents (torch.Tensor, необязательный) — Латенты, конкатенированные с hidden_states для вариантов модели, поддерживающих inpainting.
  • control_latents (torch.Tensor, необязательный) — Латенты, конкатенированные с hidden_states для контрольных вариантов модели.
  • return_dict (bool, необязательный, по умолчанию True) — Определяет, следует ли возвращать ~models.transformer_2d.Transformer2DModelOutput вместо обычного кортежа.

Метод forward модели EasyAnimateTransformer3DModel.

Transformer2DModelOutput

класс diffusers.models.modeling_outputs.Transformer2DModelOutput

< >

( sample: torch.Tensor )

Параметры

  • sample (torch.Tensor формы (batch_size, num_channels, height, width) или (batch size, num_vector_embeds - 1, num_latent_pixels), если Transformer2DModel дискретный) — Выходные скрытые состояния, обусловленные входом encoder_hidden_states. Если модель дискретная, возвращает распределения вероятностей для латентных пикселей без шума.

Вывод Transformer2DModel.

Update on GitHub