Diffusers documentation

ChronoEditTransformer3DModel

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

ChronoEditTransformer3DModel

NVIDIAとトロント大学による、Jay Zhangjie Wu、Xuanchi Ren、Tianchang Shen、Tianshi Cao、Kai He、Yifan Lu、Ruiyuan Gao、Enze Xie、Shiyi Lan、Jose M. Alvarez、Jun Gao、Sanja Fidler、Zian Wang、Huan Ling 氏による ChronoEdit: Towards Temporal Reasoning for Image Editing and World Simulation に基づく、3D動画のようなデータ向けの Diffusion Transformer モデルです。

要点: ChronoEditは画像編集を動画生成タスクとして再定式化し、入力画像と編集済み画像をそれぞれ開始フレームと終了フレームとして用いることで、時間的一貫性を備えた事前学習済み動画モデルの活用を実現します。時間的推論ステージでは、物理的に妥当な編集を保証し、編集の軌道を可視化するために推論トークンを導入します。

モデルは、以下のコードスニペットで読み込むことができます。

from diffusers import ChronoEditTransformer3DModel

transformer = ChronoEditTransformer3DModel.from_pretrained("nvidia/ChronoEdit-14B-Diffusers", subfolder="transformer", dtype=torch.bfloat16)

ChronoEditTransformer3DModel

class diffusers.ChronoEditTransformer3DModel

< >

( patch_size: tuple = (1, 2, 2)num_attention_heads: int = 40attention_head_dim: int = 128in_channels: int = 16out_channels: int = 16text_dim: int = 4096freq_dim: int = 256ffn_dim: int = 13824num_layers: int = 40cross_attn_norm: bool = Trueqk_norm: str | None = 'rms_norm_across_heads'eps: float = 1e-06image_dim: int | None = Noneadded_kv_proj_dim: int | None = Nonerope_max_seq_len: int = 1024pos_embed_seq_len: int | None = Nonerope_temporal_skip_len: int = 8 )

パラメータ

  • patch_size (tuple[int]、デフォルトは (1, 2, 2)) — 動画埋め込み用の3Dパッチ次元 (t_patch, h_patch, w_patch)。
  • num_attention_heads (int、デフォルトは 40) — テキスト埋め込みの固定長です。
  • attention_head_dim (int、デフォルトは128) — 各ヘッドのチャネル数です。
  • in_channels (int, デフォルトは 16) — 入力におけるチャネル数。
  • out_channels (int、デフォルトは16) — 出力のチャネル数です。
  • text_dim (int、デフォルトは512) — テキスト埋め込みの入力次元数。
  • freq_dim (int、デフォルトは256) — 正弦波時間埋め込みの次元数。
  • ffn_dim (int、デフォルトは 13824) — フィードフォワードネットワークの中間次元数。
  • num_layers (int、デフォルトは40) — 使用するtransformerブロックの層数です。
  • window_size (tuple[int], デフォルトは (-1, -1)) — ローカルアテンションのウィンドウサイズです(-1 はグローバルアテンションを示します)。
  • cross_attn_norm (bool、デフォルトはTrue) — クロスアテンションの正規化を有効にします。
  • qk_norm (bool、デフォルトはTrue) — クエリ/キーの正規化を有効にします。
  • eps (float、デフォルト値は 1e-6) — 正規化レイヤー用のエプシロン値です。
  • add_img_emb (bool、デフォルトはFalse) — img_embを使用するかどうか。
  • added_kv_proj_dim (int、任意、デフォルトはNone) — 追加されるキーおよびバリューの投影に使用するチャネル数。Noneの場合、投影は使用されません。

ChronoEditモデルで使用される、動画のようなデータ向けのTransformerモデル。

forward

< >

( hidden_states: Tensortimestep: LongTensorencoder_hidden_states: Tensorencoder_hidden_states_image: typing.Optional[torch.Tensor] = Nonereturn_dict: bool = Trueattention_kwargs: dict[str, typing.Any] | None = None )

パラメータ

  • hidden_states (torch.Tensor、形状 (batch_size, num_channels, num_frames, height, width)) — 入力となる hidden_states。
  • timestep (torch.LongTensor) — デノイジングステップを示すために使用されます。
  • encoder_hidden_states (torch.Tensor、形状 (batch_size, sequence_len, embed_dims)) — 使用する条件埋め込み(プロンプトなどの入力条件から計算される埋め込み)。
  • encoder_hidden_states_image (torch.Tensor, 任意) — 画像条件付き生成のための条件付き画像埋め込み。
  • return_dict (bool、任意、デフォルトは True) — プレーンなタプルではなく ~models.transformer_2d.Transformer2DModelOutput を返すかどうか。
  • attention_kwargs (dict, 省略可) — 指定された場合、diffusers.models.attention_processor で定義されている self.processor 内の AttentionProcessor に渡される kwargs 辞書です。

ChronoEditTransformer3DModelのforwardメソッドです。

Transformer2DModelOutput

クラス diffusers.models.modeling_outputs.Transformer2DModelOutput

< >

( sample: torch.Tensor )

パラメータ

  • sample (torch.Tensor、形状 (batch_size, num_channels, height, width)、または Transformer2DModel が離散型の場合 (batch size, num_vector_embeds - 1, num_latent_pixels)) — encoder_hidden_states 入力を条件とする隠れ状態の出力です。離散型の場合、ノイズ除去されていない潜在ピクセルの確率分布を返します。

Transformer2DModelの出力です。

Update on GitHub