Diffusers documentation

CogView4Transformer2DModel

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

CogView4Transformer2DModel

CogView4の2次元データ向けのDiffusion Transformerモデル

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

from diffusers import CogView4Transformer2DModel

transformer = CogView4Transformer2DModel.from_pretrained("THUDM/CogView4-6B", subfolder="transformer", dtype=torch.bfloat16).to("cuda")  # or "mps", "xpu", "cpu"

CogView4Transformer2DModel

class diffusers.CogView4Transformer2DModel

< >

( patch_size: int = 2in_channels: int = 16out_channels: int = 16num_layers: int = 30attention_head_dim: int = 40num_attention_heads: int = 64text_embed_dim: int = 4096time_embed_dim: int = 512condition_dim: int = 256pos_embed_max_size: int = 128sample_size: int = 128rope_axes_dim: tuple = (256, 256) )

パラメータ

  • 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、デフォルトは 4096) — テキストエンコーダーからのテキスト埋め込みの入力次元数。
  • 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: Tensortimestep: LongTensororiginal_size: Tensortarget_size: Tensorcrop_coords: Tensorattention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = Trueattention_mask: typing.Optional[torch.Tensor] = 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)) — 使用する条件埋め込み(プロンプトなどの入力条件から計算される埋め込み)。
  • timestep (torch.LongTensor) — デノイジングステップを示すために使用されます。
  • original_size (torch.Tensor) — 元の画像サイズによる条件付け。
  • 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, 任意) — アテンションスコアに適用されるマスク。
  • image_rotary_emb (tuple of torch.Tensor, 任意) — 事前計算されたロータリー位置埋め込み。

CogView4Transformer2DModel の 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