Diffusers documentation
BriaTransformer2DModel
BriaTransformer2DModel
Mô hình Transformer flux đã được chỉnh sửa từ Bria
BriaTransformer2DModel
lớp diffusers.BriaTransformer2DModel
< source >( patch_size: int = 1in_channels: int = 64num_layers: int = 19num_single_layers: int = 38attention_head_dim: int = 128num_attention_heads: int = 24joint_attention_dim: int = 4096pooled_projection_dim: int = Noneguidance_embeds: bool = Falseaxes_dims_rope: list = [16, 56, 56]rope_theta = 10000time_theta = 10000 )
Tham số
- patch_size (
int) — Kích thước patch để chuyển dữ liệu đầu vào thành các patch nhỏ. - in_channels (
int, tùy chọn, mặc định là 16) — Số lượng kênh trong đầu vào. - num_layers (
int, tùy chọn, mặc định là 18) — Số lượng lớp của các khối MMDiT được sử dụng. - num_single_layers (
int, tùy chọn, mặc định là 18) — Số lượng lớp của các khối DiT đơn cần sử dụng. - attention_head_dim (
int, tùy chọn, mặc định là 64) — Số lượng kênh trong mỗi head. - num_attention_heads (
int, tùy chọn, mặc định là 18) — Số lượng đầu (heads) được sử dụng cho chú ý đa đầu (multi-head attention). - joint_attention_dim (
int, tùy chọn) — Số chiều củaencoder_hidden_statescần sử dụng. - pooled_projection_dim (
int) — Số chiều được sử dụng khi chiếupooled_projections. - guidance_embeds (
bool, mặc định là False) — Có sử dụng guidance embeddings hay không.
Mô hình Transformer được giới thiệu trong Flux. Dựa trên FluxPipeline với một số thay đổi:
- không có embedding được pool
- Chúng tôi sử dụng zero padding cho prompts
- Không có guidance embedding vì đây không phải là phiên bản đã được chưng cất 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 = Noneattention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = Truecontrolnet_block_samples = Nonecontrolnet_single_block_samples = None )
Tham số
- hidden_states (
torch.FloatTensorcó hình dạng(batch size, channel, height, width)) —hidden_statesđầu vào. - encoder_hidden_states (
torch.FloatTensorcó hình dạng(batch size, sequence_len, embed_dims)) — Các embedding điều kiện (embedding được tính từ các điều kiện đầu vào như prompt) cần sử dụng. - pooled_projections (
torch.FloatTensorcó 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ẻ. - 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 BriaTransformer2DModel.