Diffusers 文档

TransformerTemporalModel

Hugging Face's logo
加入 Hugging Face 社区

并获得增强型文档体验

开始使用

TransformerTemporalModel

用于视频类型数据的 Transformer 模型。

TransformerTemporalModel

class diffusers.models.TransformerTemporalModel

< >

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

参数

  • num_attention_heads (int, 可选, 默认值为 16) — 多头注意力机制中使用的头数量。
  • attention_head_dim (int, 可选, 默认值为 88) — 每个头中的通道数量。
  • in_channels (int, 可选) — 输入和输出中的通道数量(如果输入是连续的,请指定)。
  • num_layers (int, 可选, 默认值为 1) — 要使用的 Transformer 块层数。
  • dropout (float, 可选, 默认值为 0.0) — 要使用的丢弃概率。
  • cross_attention_dim (int, 可选) — 要使用的 encoder_hidden_states 维度数量。
  • attention_bias (bool, 可选) — 配置 TransformerBlock 注意力是否应包含偏差参数。
  • sample_size (int, 可选) — 潜在图像的宽度(如果输入是离散的,请指定)。 由于它用于学习一定数量的位置嵌入,因此在训练期间是固定的。
  • activation_fn (str, 可选, 默认值为 "geglu") — 前馈中使用的激活函数。 请参阅 diffusers.models.activations.get_activation 以了解支持的激活函数。
  • double_self_attention (bool, 可选) — 配置每个 TransformerBlock 是否应包含两个自注意力层。positional_embeddings — (str, 可选): 在传递使用之前应用于序列输入的positional embeddings 类型。 num_positional_embeddings — (int, 可选): 应用 positional embeddings 的序列最大长度。

用于视频类型数据的 Transformer 模型。

forward

< >

( hidden_states: Tensor encoder_hidden_states: Optional = None timestep: Optional = None class_labels: LongTensor = None num_frames: int = 1 cross_attention_kwargs: Optional = None return_dict: bool = True ) TransformerTemporalModelOutput元组

参数

  • hidden_states (torch.LongTensor 形状为 (批次大小,潜在像素数量) 如果离散,torch.Tensor 形状为 (批次大小,通道,高度,宽度) 如果连续) — 输入 hidden_states。
  • encoder_hidden_states (torch.LongTensor 形状为 (批次大小,encoder_hidden_states 维度), 可选) — 用于交叉注意力层的条件embeddings。如果没有给出,交叉注意力将默认为自注意力。
  • timestep (torch.LongTensor, 可选) — 用于指示去噪步骤。可选 timestep,将在 AdaLayerNorm 中作为embeddings 应用。
  • class_labels (torch.LongTensor 形状为 (批次大小,类别数量), 可选) — 用于指示类别标签条件。可选类别标签,将在 AdaLayerZeroNorm 中作为embeddings 应用。
  • num_frames (int, 可选,默认值为 1) — 每个批次要处理的帧数。这用于重塑 hidden states。
  • cross_attention_kwargs (dict, 可选) — 如果指定,将作为 kwargs 字典传递给 AttentionProcessor,如 diffusers.models.attention_processor 中的 self.processor 所定义。
  • return_dict (bool, 可选,默认值为 True) — 是否返回 TransformerTemporalModelOutput 而不是普通元组。

返回值

TransformerTemporalModelOutput元组

如果 return_dict 为 True,则返回 TransformerTemporalModelOutput,否则返回一个元组,其中第一个元素是样本张量。

TransformerTemporal 的前向方法。

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 上更新