Diffusers documentation
AuraFlowTransformer2DModel
AuraFlowTransformer2DModel
Một mô hình Transformer cho dữ liệu dạng ảnh từ AuraFlow.
AuraFlowTransformer2DModel
lớp diffusers.AuraFlowTransformer2DModel
< source >( sample_size: int = 64patch_size: int = 2in_channels: int = 4num_mmdit_layers: int = 4num_single_dit_layers: int = 32attention_head_dim: int = 256num_attention_heads: int = 12joint_attention_dim: int = 2048caption_projection_dim: int = 3072out_channels: int = 4pos_embed_max_size: int = 1024 )
Tham số
- sample_size (
int) — Độ rộng của các ảnh tiềm ẩn. Giá trị này được cố định trong quá trình huấn luyện vì nó được dùng để học một số lượng embedding vị trí. - 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à 4) — Số lượng kênh trong đầu vào. - num_mmdit_layers (
int, tùy chọn, mặc định là 4) — Số lượng lớp của các khối Transformer MMDiT cần sử dụng. - num_single_dit_layers (
int, tuỳ chọn, mặc định là 32) — Số lượng lớp của các khối Transformer cần sử dụng. Các khối này sử dụng các biểu diễn hình ảnh và văn bản được nối (concatenated) với nhau. - attention_head_dim (
int, tùy chọn, mặc định là 256) — Số lượng kênh trong mỗi head. - num_attention_heads (
int, tùy chọn, mặc định là 12) — 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. - caption_projection_dim (
int) — Số chiều được sử dụng khi chiếuencoder_hidden_states. - out_channels (
int, mặc định là 4) — Số lượng kênh đầu ra. - pos_embed_max_size (
int, mặc định là 1024) — Số vị trí tối đa để nhúng từ các latent của ảnh.
Một mô hình Transformer 2D như được giới thiệu trong AuraFlow (https://blog.fal.ai/auraflow/).
forward
< source >( hidden_states: FloatTensorencoder_hidden_states: FloatTensor = Nonetimestep: LongTensor = Noneattention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = True )
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. - timestep (
torch.LongTensor) — Dùng để chỉ bước khử nhiễu. - 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 AuraFlowTransformer2DModel.
Bật các phép chiếu QKV đã hợp nhất. Đối với các module tự chú ý, tất cả các ma trận chiếu (tức là truy vấn, khóa, giá trị) đều được hợp nhất. Đối với các module chú ý chéo, các ma trận chiếu khóa và giá trị được hợp nhất.
> API này 🧪 mang tính thử nghiệm.
Tắt dự phóng QKV hợp nhất nếu đã được bật.
> API này 🧪 mang tính thử nghiệm.