Diffusers 文档
TransformerTemporalModel
并获得增强的文档体验
开始使用
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
< source >( 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_processor 中self.processor
下定义的AttentionProcessor
。 - return_dict (
bool
, optional, defaults toTrue
) — 是否返回 TransformerTemporalModelOutput 而不是普通的元组。
Returns
TransformerTemporalModelOutput or tuple
如果 return_dict
为 True,则返回 TransformerTemporalModelOutput,否则返回 tuple
,其中第一个元素是 sample tensor。
TransformerTemporal
的 forward 方法。
TransformerTemporalModelOutput
class diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput
< source >( sample: Tensor )
TransformerTemporalModel
的输出。