Diffusers 文档
TransformerTemporalModel
并获得增强的文档体验
开始使用
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 ) → TransformerTemporalModelOutput 或 tuple
参数
- 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.processor
的AttentionProcessor
。 - return_dict (
bool
, 可选, 默认为True
) — 是否返回 TransformerTemporalModelOutput 而不是普通元组。
返回
TransformerTemporalModelOutput 或 tuple
如果 return_dict
为 True,则返回 TransformerTemporalModelOutput;否则返回 tuple
,其中第一个元素是样本张量。
TransformerTemporal
的 forward 方法。
TransformerTemporalModelOutput
class diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput
< 来源 >( sample: Tensor )
TransformerTemporalModel 的输出。