Diffusers documentation

TransformerTemporalModel

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

TransformerTemporalModel

動画のようなデータ向けの Transformer モデル。

TransformerTemporalModel

クラス diffusers.TransformerTemporalModel

< >

( num_attention_heads: int = 16attention_head_dim: int = 88in_channels: int | None = Noneout_channels: int | None = Nonenum_layers: int = 1dropout: float = 0.0norm_num_groups: int = 32cross_attention_dim: int | None = Noneattention_bias: bool = Falsesample_size: int | None = Noneactivation_fn: str = 'geglu'norm_elementwise_affine: bool = Truedouble_self_attention: bool = Truepositional_embeddings: str | None = Nonenum_positional_embeddings: int | None = 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 の attention に bias パラメータを含めるかどうかを設定します。
  • sample_size (int、任意) — 潜在画像の幅(入力がdiscreteの場合に指定します)。 これは、位置埋め込みの数を学習するために使用されるため、学習中は固定されます。
  • activation_fn (str、任意、デフォルトは "geglu") — フィードフォワード層で使用する活性化関数です。サポートされている活性化関数については、diffusers.models.activations.get_activation を参照してください。
  • norm_elementwise_affine (bool, 省略可) — TransformerBlock が正規化に学習可能な要素ごとのアフィンパラメータを使用するかどうかを設定します。
  • double_self_attention (bool, 省略可) — 各 TransformerBlock に 2 つの self-attention レイヤーを含めるかどうかを設定します。
  • positional_embeddings — (str、任意): シーケンス入力に適用する位置埋め込みのタイプ。
  • num_positional_embeddings — (int、省略可): 位置埋め込みを適用するシーケンスの最大長。

動画のようなデータ向けの Transformer モデル。

forward

< >

( hidden_states: Tensorencoder_hidden_states: typing.Optional[torch.LongTensor] = Nonetimestep: typing.Optional[torch.LongTensor] = Noneclass_labels: LongTensor = Nonenum_frames: int = 1cross_attention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = True ) → TransformerTemporalModelOutput or tuple

パラメータ

  • hidden_states(離散型の場合は torch.LongTensor(shape: (batch size, num latent pixels))、連続型の場合は torch.Tensor(shape: (batch size, channel, height, width))) — 入力となる hidden_states。
  • 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、省略可) — 指定された場合、diffusers.models.attention_processor で定義されている self.processor 配下の AttentionProcessor に渡される kwargs の辞書です。
  • return_dict (bool、任意、デフォルトは True) — True の場合、通常のタプルではなく TransformerTemporalModelOutput を返します。

戻り値

TransformerTemporalModelOutput または tuple

return_dictがTrueの場合、TransformerTemporalModelOutputが返され、それ以外の場合は、最初の要素がサンプルテンソルであるtupleが返されます。

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