Diffusers 文件

TransformerTemporalModel

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

TransformerTemporalModel

用於影片類資料的 Transformer 模型。

TransformerTemporalModel

class diffusers.TransformerTemporalModel

< >

( num_attention_heads: int = 16 attention_head_dim: int = 88 in_channels: typing.Optional[int] = None out_channels: typing.Optional[int] = None num_layers: int = 1 dropout: float = 0.0 norm_num_groups: int = 32 cross_attention_dim: typing.Optional[int] = None attention_bias: bool = False sample_size: typing.Optional[int] = None activation_fn: str = 'geglu' norm_elementwise_affine: bool = True double_self_attention: bool = True positional_embeddings: typing.Optional[str] = None num_positional_embeddings: typing.Optional[int] = None )

引數

  • num_attention_heads (int, 可選, 預設為 16) — 用於多頭注意力的頭部數量。
  • attention_head_dim (int, 可選, 預設為 88) — 每個頭部的通道數量。
  • in_channels (int, 可選) — 輸入和輸出的通道數量(如果輸入是連續的,則指定)。
  • num_layers (int, 可選, 預設為 1) — 要使用的 Transformer 塊層數。
  • dropout (float, 可選, 預設為 0.0) — 要使用的 dropout 機率。
  • cross_attention_dim (int, 可選) — 要使用的 encoder_hidden_states 維度數量。
  • attention_bias (bool, 可選) — 配置 TransformerBlock 注意力是否包含偏置引數。
  • sample_size (int, 可選) — 潛在影像的寬度(如果輸入是離散的,則指定)。這在訓練期間是固定的,因為它用於學習多個位置嵌入。
  • activation_fn (str, 可選, 預設為 "geglu") — 在前饋中使用的啟用函式。有關支援的啟用函式,請參閱 diffusers.models.activations.get_activation
  • norm_elementwise_affine (bool, 可選) — 配置 TransformerBlock 是否使用可學習的逐元素仿射引數進行歸一化。
  • double_self_attention (bool, 可選) — 配置每個 TransformerBlock 是否包含兩個自注意力層。
  • positional_embeddings — (str, 可選):在序列輸入傳遞前要應用的位置嵌入型別。
  • num_positional_embeddings — (int, 可選):應用位置嵌入的序列最大長度。

用於影片類資料的 Transformer 模型。

forward

< >

( hidden_states: Tensor encoder_hidden_states: typing.Optional[torch.LongTensor] = None timestep: typing.Optional[torch.LongTensor] = None class_labels: LongTensor = None num_frames: int = 1 cross_attention_kwargs: typing.Optional[typing.Dict[str, typing.Any]] = None return_dict: bool = True ) TransformerTemporalModelOutputtuple

引數

  • hidden_states (torch.LongTensor,形狀為 (batch size, num latent pixels) 如果是離散的,torch.Tensor,形狀為 (batch size, channel, height, width) 如果是連續的) — 輸入的隱藏狀態。
  • encoder_hidden_states (torch.LongTensor,形狀為 (batch size, encoder_hidden_states dim), 可選) — 交叉注意力層的條件嵌入。如果未給出,交叉注意力預設為自注意力。
  • timestep (torch.LongTensor, 可選) — 用於指示去噪步驟。可選的時間步,將作為嵌入應用到 AdaLayerNorm 中。
  • class_labels (torch.LongTensor,形狀為 (batch size, num classes), 可選) — 用於指示類別標籤條件。可選的類別標籤,將作為嵌入應用到 AdaLayerZeroNorm 中。
  • num_frames (int, 可選, 預設為 1) — 每批要處理的幀數。用於重塑隱藏狀態。
  • cross_attention_kwargs (dict, 可選) — 一個 kwargs 字典,如果指定,將作為引數傳遞給 diffusers.models.attention_processor 中定義的 self.processorAttentionProcessor
  • return_dict (bool, 可選, 預設為 True) — 是否返回 TransformerTemporalModelOutput 而不是普通元組。

返回

TransformerTemporalModelOutputtuple

如果 return_dict 為 True,則返回 TransformerTemporalModelOutput;否則返回 tuple,其中第一個元素是樣本張量。

TransformerTemporal 的 forward 方法。

TransformerTemporalModelOutput

class diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput

< >

( sample: Tensor )

引數

  • sample (torch.Tensor,形狀為 (batch_size x num_frames, num_channels, height, width)) — 在 encoder_hidden_states 輸入條件下輸出的隱藏狀態。

TransformerTemporalModel 的輸出。

< > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.