Diffusers documentation

FluxTransformer2DModel

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

FluxTransformer2DModel

Một mô hình Transformer cho dữ liệu dạng ảnh từ Flux.

FluxTransformer2DModel

lớp diffusers.FluxTransformer2DModel

< >

( 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) )

Tham số

  • patch_size (int, mặc định là 1) — Kích thước patch để chuyển dữ liệu đầu vào thành các patch nhỏ.
  • in_channels (int, mặc định là 64) — Số lượng kênh trong đầu vào.
  • out_channels (int, tùy chọn, mặc định là None) — Số lượng kênh trong đầu ra. Nếu không được chỉ định, giá trị mặc định sẽ là in_channels.
  • num_layers (int, mặc định là 19) — Số lượng lớp của các khối DiT dual stream cần sử dụng.
  • num_single_layers (int, mặc định là 38) — Số lượng lớp của các khối DiT single stream cần sử dụng.
  • attention_head_dim (int, mặc định là 128) — Số chiều sử dụng cho mỗi đầu chú ý (attention head).
  • num_attention_heads (int, mặc định là 24) — Số lượng đầu attention cần sử dụng.
  • joint_attention_dim (int, mặc định là 4096) — Số chiều được sử dụng cho chú ý liên hợp (chiều nhúng/kênh của encoder_hidden_states).
  • pooled_projection_dim (int, mặc định là 768) — Số chiều sử dụng cho phép chiếu đã gộp (pooled projection).
  • guidance_embeds (bool, mặc định là False) — Có sử dụng guidance embeddings cho biến thể guidance-distilled của mô hình hay không.
  • axes_dims_rope (tuple[int], mặc định là (16, 56, 56)) — Các chiều cần sử dụng cho các nhúng vị trí quay (rotary positional embeddings).

Mô hình Transformer được giới thiệu trong Flux.

Tham khảo: https://blackforestlabs.ai/announcing-black-forest-labs/

forward

< >

( 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 )

Tham số

  • hidden_states (torch.Tensor có hình dạng (batch_size, image_sequence_length, in_channels)) — hidden_states đầu vào.
  • encoder_hidden_states (torch.Tensor có hình dạng (batch_size, text_sequence_length, joint_attention_dim)) — Các embedding điều kiện (các embedding được tính toán từ các điều kiện đầu vào như prompt) cần sử dụng.
  • pooled_projections (torch.Tensor có hình dạng (batch_size, projection_dim)) — Các embedding được chiếu từ các embedding của điều kiện đầu vào.
  • timestep ( torch.LongTensor) — Dùng để chỉ bước khử nhiễu.
  • img_ids (torch.Tensor) — Các id vị trí ảnh được sử dụng để tính các nhúng vị trí quay (rotary positional embeddings).
  • txt_ids (torch.Tensor) — Các id vị trí văn bản được sử dụng để tính các nhúng vị trí quay (rotary positional embeddings).
  • guidance (torch.Tensor, tùy chọn) — Nhúng thang độ dẫn hướng được sử dụng cho các biến thể mô hình đã được chưng cất dẫn hướng.
  • controlnet_block_samples (list của torch.Tensor, tùy chọn) — Một danh sách các tensor mà nếu được chỉ định sẽ được cộng vào phần dư (residuals) của các khối transformer.
  • controlnet_single_block_samples (list của torch.Tensor, tùy chọn) — Một danh sách các tensor mà nếu được chỉ định sẽ được cộng vào phần dư (residuals) của các khối transformer đơn lẻ.
  • controlnet_blocks_repeat (bool, tùy chọn, mặc định là False) — Có lặp lại các mẫu khối controlnet trên tất cả các khối transformer hay không.
  • joint_attention_kwargs (dict, tùy chọn) — Một từ điển kwargs, nếu được chỉ định, sẽ được truyền đến AttentionProcessor như đã định nghĩa dưới self.processor trong diffusers.models.attention_processor.
  • return_dict (bool, tùy chọn, mặc định là True) — Có nên trả về một ~models.transformer_2d.Transformer2DModelOutput thay vì một tuple thông thường hay không.

Phương thức forward của FluxTransformer2DModel.

Update on GitHub