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
以了解支持的激活函数。
用于视频类型数据的 Transformer 模型。
forward
< source > ( 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 而不是普通元组。
返回值
如果 return_dict
为 True,则返回 TransformerTemporalModelOutput,否则返回一个元组,其中第一个元素是样本张量。
TransformerTemporal
的前向方法。
TransformerTemporalModelOutput
class diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput
< source >( sample: Tensor )
TransformerTemporalModel
的输出。