Diffusers 文档

TransformerTemporalModel

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

TransformerTemporalModel

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

TransformerTemporalModel

diffusers.models.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, optional) — 潜在图像的宽度(如果输入是 discrete,请指定)。这在训练期间是固定的,因为它用于学习位置嵌入的数量。
  • activation_fn (str, optional, defaults to "geglu") — 前馈网络中使用的激活函数。 有关支持的激活函数,请参阅 diffusers.models.activations.get_activation
  • norm_elementwise_affine (bool, optional) — 配置 TransformerBlock 是否应使用可学习的逐元素仿射参数进行归一化。
  • double_self_attention (bool, optional) — 配置每个 TransformerBlock 是否应包含两个自注意力层。
  • positional_embeddings — (str, optional): 要在传递使用之前应用于序列输入的位置嵌入类型。
  • num_positional_embeddings — (int, optional): 应用位置嵌入的序列的最大长度。

用于视频类数据的 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 ) TransformerTemporalModelOutput or tuple

参数

  • hidden_states (torch.LongTensor,如果离散,则形状为 (batch size, num latent pixels);如果连续,则形状为 (batch size, channel, height, width)) — 输入 hidden_states。
  • encoder_hidden_states ( torch.LongTensor,形状为 (batch size, encoder_hidden_states dim)optional) — 用于交叉注意力层的条件嵌入。 如果未给出,则交叉注意力默认为自注意力。
  • timestep ( torch.LongTensor, optional) — 用于指示去噪步骤。 可选的时间步,用作 AdaLayerNorm 中的嵌入。
  • class_labels ( torch.LongTensor,形状为 (batch size, num classes)optional) — 用于指示类别标签条件。 可选的类别标签,用作 AdaLayerZeroNorm 中的嵌入。
  • num_frames (int, optional, defaults to 1) — 每个批次要处理的帧数。 这用于重塑隐藏状态。
  • cross_attention_kwargs (dict, optional) — 一个 kwargs 字典,如果指定,则会传递给 diffusers.models.attention_processorself.processor 下定义的 AttentionProcessor
  • return_dict (bool, optional, defaults to True) — 是否返回 TransformerTemporalModelOutput 而不是普通的元组。

Returns

TransformerTemporalModelOutput or tuple

如果 return_dict 为 True,则返回 TransformerTemporalModelOutput,否则返回 tuple,其中第一个元素是 sample tensor。

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 的输出。

< > Update on GitHub