Diffusers documentation

ChromaTransformer2DModel

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

ChromaTransformer2DModel

Model Transformer flux yang dimodifikasi dari Chroma

ChromaTransformer2DModel

kelas diffusers.ChromaTransformer2DModel

< >

( patch_size: int = 1in_channels: int = 64out_channels: int | None = Nonenum_layers: int = 19num_single_layers: int = 38attention_head_dim: int = 128num_attention_heads: int = 24joint_attention_dim: int = 4096axes_dims_rope: tuple = (16, 56, 56)approximator_num_channels: int = 64approximator_hidden_dim: int = 5120approximator_layers: int = 5 )

Parameter

  • patch_size (int, defaultnya 1) — Ukuran patch untuk mengubah data input menjadi patch kecil.
  • in_channels (int, defaultnya 64) — Jumlah channel pada input.
  • out_channels (int, opsional, defaultnya None) — Jumlah channel pada output. Jika tidak ditentukan, defaultnya adalah in_channels.
  • num_layers (int, defaultnya 19) — Jumlah lapisan blok DiT dual stream yang akan digunakan.
  • num_single_layers (int, defaultnya 38) — Jumlah lapisan blok DiT single stream yang akan digunakan.
  • attention_head_dim (int, defaultnya 128) — Jumlah dimensi yang digunakan untuk setiap kepala perhatian (attention head).
  • num_attention_heads (int, defaultnya 24) — Jumlah attention heads yang akan digunakan.
  • joint_attention_dim (int, defaultnya 4096) — Jumlah dimensi yang digunakan untuk joint attention (dimensi embedding/channel dari encoder_hidden_states).
  • axes_dims_rope (tuple[int], defaultnya (16, 56, 56)) — Dimensi yang digunakan untuk penyematan posisi rotasi.

Model Transformer yang diperkenalkan dalam Flux, dimodifikasi untuk Chroma.

Referensi: https://huggingface.co/lodestones/Chroma1-HD

forward

< >

( hidden_states: Tensorencoder_hidden_states: Tensor = Nonetimestep: LongTensor = Noneimg_ids: Tensor = Nonetxt_ids: Tensor = Noneattention_mask: Tensor = Nonejoint_attention_kwargs: dict[str, typing.Any] | None = Nonecontrolnet_block_samples = Nonecontrolnet_single_block_samples = Nonereturn_dict: bool = Truecontrolnet_blocks_repeat: bool = False )

Parameter

  • hidden_states (torch.Tensor dengan bentuk (batch_size, image_sequence_length, in_channels)) — hidden_states masukan.
  • encoder_hidden_states (torch.Tensor dengan bentuk (batch_size, text_sequence_length, joint_attention_dim)) — Embedding kondisional (embedding yang dihitung dari kondisi input seperti prompt) yang akan digunakan.
  • timestep ( torch.LongTensor) — Digunakan untuk menunjukkan langkah denoising.
  • img_ids (torch.Tensor) — ID posisi gambar yang digunakan untuk menghitung embedding posisi rotasi.
  • txt_ids (torch.Tensor) — ID posisi teks yang digunakan untuk menghitung embedding posisi rotasi.
  • attention_mask (torch.Tensor, opsional) — Mask yang diterapkan pada encoder_hidden_states selama attention.
  • controlnet_block_samples (list dari torch.Tensor, opsional) — Daftar tensor yang, jika ditentukan, akan ditambahkan ke residual dari blok transformer.
  • controlnet_single_block_samples (list dari torch.Tensor, opsional) — Daftar tensor yang, jika ditentukan, akan ditambahkan ke residual dari blok transformer tunggal.
  • controlnet_blocks_repeat (bool, opsional, default False) — Apakah sampel blok controlnet akan diulang di seluruh blok transformer.
  • joint_attention_kwargs (dict, opsional) — Kamus kwargs yang jika ditentukan akan diteruskan ke AttentionProcessor seperti yang didefinisikan di bawah self.processor dalam diffusers.models.attention_processor.
  • return_dict (bool, opsional, default True) — Apakah akan mengembalikan ~models.transformer_2d.Transformer2DModelOutput alih-alih tuple biasa.

Metode forward dari FluxTransformer2DModel.

Update on GitHub