Diffusers documentation
ChromaTransformer2DModel
ChromaTransformer2DModel
Mô hình Transformer flux đã được chỉnh sửa từ Chroma
ChromaTransformer2DModel
lớp diffusers.ChromaTransformer2DModel
< 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 = 4096axes_dims_rope: tuple = (16, 56, 56)approximator_num_channels: int = 64approximator_hidden_dim: int = 5120approximator_layers: int = 5 )
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). - 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, đã được sửa đổi cho Chroma.
Tham khảo: https://huggingface.co/lodestones/Chroma1-HD
forward
< source >( hidden_states: Tensorencoder_hidden_states: Tensor = Nonetimestep: LongTensor = Noneimg_ids: Tensor = Nonetxt_ids: Tensor = Noneattention_mask: 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. - 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). - attention_mask (
torch.Tensor, tùy chọn) — Mặt nạ được áp dụng choencoder_hidden_statestrong quá trình chú ý. - 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.