Diffusers documentation
FluxTransformer2DModel
FluxTransformer2DModel
Model Transformer untuk data seperti gambar dari Flux.
FluxTransformer2DModel
kelas diffusers.FluxTransformer2DModel
< source >( 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 = 4096pooled_projection_dim: int = 768guidance_embeds: bool = Falseaxes_dims_rope: tuple[int, int, int] = (16, 56, 56) )
Parameter
- patch_size (
int, defaultnya1) — Ukuran patch untuk mengubah data input menjadi patch kecil. - in_channels (
int, defaultnya64) — Jumlah channel pada input. - out_channels (
int, opsional, defaultnyaNone) — Jumlah channel pada output. Jika tidak ditentukan, defaultnya adalahin_channels. - num_layers (
int, defaultnya19) — Jumlah lapisan blok DiT dual stream yang akan digunakan. - num_single_layers (
int, defaultnya38) — Jumlah lapisan blok DiT single stream yang akan digunakan. - attention_head_dim (
int, defaultnya128) — Jumlah dimensi yang digunakan untuk setiap kepala perhatian (attention head). - num_attention_heads (
int, defaultnya24) — Jumlah attention heads yang akan digunakan. - joint_attention_dim (
int, defaultnya4096) — Jumlah dimensi yang digunakan untuk joint attention (dimensi embedding/channel dariencoder_hidden_states). - pooled_projection_dim (
int, defaultnya768) — Jumlah dimensi yang digunakan untuk proyeksi pooled. - guidance_embeds (
bool, defaultnyaFalse) — Apakah akan menggunakan guidance embeddings untuk varian model yang telah melalui guidance-distillation. - axes_dims_rope (
tuple[int], defaultnya(16, 56, 56)) — Dimensi yang digunakan untuk penyematan posisi rotasi.
Model Transformer yang diperkenalkan dalam Flux.
Referensi: https://blackforestlabs.ai/announcing-black-forest-labs/
forward
< source >( hidden_states: Tensorencoder_hidden_states: Tensor = Nonepooled_projections: Tensor = Nonetimestep: LongTensor = Noneimg_ids: Tensor = Nonetxt_ids: Tensor = Noneguidance: 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.Tensordengan bentuk(batch_size, image_sequence_length, in_channels)) —hidden_statesmasukan. - encoder_hidden_states (
torch.Tensordengan bentuk(batch_size, text_sequence_length, joint_attention_dim)) — Embedding kondisional (embedding yang dihitung dari kondisi input seperti prompt) yang akan digunakan. - pooled_projections (
torch.Tensordengan bentuk(batch_size, projection_dim)) — Embedding yang diproyeksikan dari embedding kondisi input. - 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. - guidance (
torch.Tensor, opsional) — Embedding skala panduan yang digunakan untuk varian model yang telah melalui distilasi panduan. - controlnet_block_samples (
listdaritorch.Tensor, opsional) — Daftar tensor yang, jika ditentukan, akan ditambahkan ke residual dari blok transformer. - controlnet_single_block_samples (
listdaritorch.Tensor, opsional) — Daftar tensor yang, jika ditentukan, akan ditambahkan ke residual dari blok transformer tunggal. - controlnet_blocks_repeat (
bool, opsional, defaultFalse) — Apakah sampel blok controlnet akan diulang di seluruh blok transformer. - joint_attention_kwargs (
dict, opsional) — Kamus kwargs yang jika ditentukan akan diteruskan keAttentionProcessorseperti yang didefinisikan di bawahself.processordalam diffusers.models.attention_processor. - return_dict (
bool, opsional, defaultTrue) — Apakah akan mengembalikan~models.transformer_2d.Transformer2DModelOutputalih-alih tuple biasa.
Metode forward dari FluxTransformer2DModel.