Diffusers documentation

GlmImageTransformer2DModel

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

GlmImageTransformer2DModel

[GlmImageTransformer2DModel]からの2次元データ向けのDiffusion Transformerモデル(TODO)。

GlmImageTransformer2DModel

class diffusers.GlmImageTransformer2DModel

< >

( patch_size: int = 2in_channels: int = 16out_channels: int = 16num_layers: int = 30attention_head_dim: int = 40num_attention_heads: int = 64text_embed_dim: int = 1472time_embed_dim: int = 512condition_dim: int = 256prior_vq_quantizer_codebook_size: int = 16384 )

パラメータ

  • patch_size (int, デフォルトは 2) — パッチ埋め込み層で使用するパッチのサイズです。
  • in_channels (int, デフォルトは 16) — 入力におけるチャネル数。
  • num_layers (int、デフォルトは 30) — 使用する Transformer ブロックの層数です。
  • attention_head_dim (int、デフォルトは40) — 各ヘッドのチャネル数です。
  • num_attention_heads (int、デフォルトは64) — マルチヘッドアテンションで使用するヘッドの数。
  • out_channels (int、デフォルトは16) — 出力のチャネル数です。
  • text_embed_dim (int、デフォルトは 1472) — テキストエンコーダーからのテキスト埋め込みの入力次元数。
  • time_embed_dim (int、デフォルトは 512) — タイムステップ埋め込みの出力次元数。
  • condition_dim (int、デフォルトは 256) — 入力される SDXL 形式の解像度条件 (original_size, target_size, crop_coords) の埋め込み次元です。
  • pos_embed_max_size (int、デフォルト値は 128) — 位置埋め込みの最大解像度です。入力されたパッチ化された潜在変数に、H x W の形状のスライスが切り出されて加算されます。ここで H と W はそれぞれ潜在変数の高さおよび幅です。値が 128 である場合、画像生成でサポートされる最大の高さと幅は 128 * vae_scale_factor * patch_size => 128 * 8 * 2 => 2048 となります。
  • sample_size (int、デフォルトは 128) — 入力ラテンツのベース解像度です。生成時に高さ/幅が指定されない場合、この値を使用して解像度を sample_size * vae_scale_factor => 128 * 8 => 1024 と決定します。

forward

< >

( hidden_states: Tensorencoder_hidden_states: Tensorprior_token_id: Tensorprior_token_drop: Tensortimestep: LongTensortarget_size: Tensorcrop_coords: Tensorattention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = Trueattention_mask: typing.Optional[torch.Tensor] = Nonekv_caches: diffusers.models.transformers.transformer_glm_image.GlmImageKVCache | None = Noneimage_rotary_emb: tuple[torch.Tensor, torch.Tensor] | list[tuple[torch.Tensor, torch.Tensor]] | None = None )

パラメータ

  • hidden_states (torch.Tensor、形状 (batch_size, in_channels, height, width)) — 入力となる hidden_states。
  • encoder_hidden_states (torch.Tensor、形状 (batch_size, sequence_len, embed_dims)) — 使用する条件埋め込み(プロンプトなどの入力条件から計算される埋め込み)。
  • prior_token_id (torch.Tensor) — 事前埋め込みの参照に使用するトークン ID。
  • prior_token_drop (torch.Tensor) — どの先行埋め込みをドロップ(ゼロ化)するかを示すブールマスク。
  • timestep (torch.LongTensor) — デノイジングステップを示すために使用されます。
  • target_size (torch.Tensor) — ターゲット画像サイズ条件付け。
  • crop_coords (torch.Tensor) — クロップ座標の条件付け。
  • attention_kwargs (dict, 省略可) — 指定された場合、diffusers.models.attention_processor で定義されている self.processor 内の AttentionProcessor に渡される kwargs 辞書です。
  • return_dict (bool、任意、デフォルトは True) — プレーンなタプルではなく ~models.transformer_2d.Transformer2DModelOutput を返すかどうか。
  • attention_mask (torch.Tensor, 任意) — アテンションスコアに適用されるマスク。
  • kv_caches (GlmImageKVCache、任意) — 推論を高速化するために使用される、事前計算済みのキー/バリューキャッシュ。
  • image_rotary_emb (tuple of torch.Tensor, 任意) — 事前計算されたロータリー位置埋め込み。

GlmImageTransformer2DModel の forward メソッドです。

Update on GitHub