Diffusers documentation
FluxTransformer2DModel
FluxTransformer2DModel
Một mô hình Transformer cho dữ liệu dạng ảnh từ Flux.
FluxTransformer2DModel
lớp 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) )
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ủaencoder_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
< 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 )
Tham số
- hidden_states (
torch.Tensorcó hình dạng(batch_size, image_sequence_length, in_channels)) —hidden_statesđầu vào. - encoder_hidden_states (
torch.Tensorcó 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.Tensorcó 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 (
listcủatorch.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 (
listcủatorch.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 đếnAttentionProcessornhư đã định nghĩa dướiself.processortrong 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.Transformer2DModelOutputthay vì một tuple thông thường hay không.
Phương thức forward của FluxTransformer2DModel.