Diffusers documentation

DiTTransformer2DModel

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

DiTTransformer2DModel

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

DiTTransformer2DModel

lớp diffusers.DiTTransformer2DModel

< >

( num_attention_heads: int = 16attention_head_dim: int = 72in_channels: int = 4out_channels: int | None = Nonenum_layers: int = 28dropout: float = 0.0norm_num_groups: int = 32attention_bias: bool = Truesample_size: int = 32patch_size: int = 2activation_fn: str = 'gelu-approximate'num_embeds_ada_norm: int | None = 1000upcast_attention: bool = Falsenorm_type: str = 'ada_norm_zero'norm_elementwise_affine: bool = Falsenorm_eps: float = 1e-05 )

Tham số

  • num_attention_heads (int, tùy chọn, mặc định là 16) — Số lượng đầu (heads) được sử dụng cho cơ chế chú ý đa đầu (multi-head attention).
  • attention_head_dim (int, tùy chọn, mặc định là 72) — Số kênh trong mỗi head.
  • in_channels (int, mặc định là 4) — Số lượng kênh trong đầu vào.
  • out_channels (int, optional) — Số lượng kênh trong đầu ra. Chỉ định tham số này nếu số lượng kênh đầu ra khác với đầu vào.
  • num_layers (int, tùy chọn, mặc định là 28) — Số lượng lớp khối Transformer cần sử dụng.
  • dropout (float, tùy chọn, mặc định là 0.0) — Xác suất dropout được sử dụng bên trong các khối Transformer.
  • norm_num_groups (int, tùy chọn, mặc định là 32) — Số lượng nhóm cho chuẩn hóa nhóm (group normalization) bên trong các khối Transformer.
  • attention_bias (bool, tùy chọn, mặc định là True) — Cấu hình xem chú ý (attention) của các khối Transformer có nên chứa tham số bias hay không.
  • sample_size (int, mặc định là 32) — Chiều rộng của các ảnh tiềm ẩn. Tham số này được cố định trong quá trình huấn luyện.
  • patch_size (int, mặc định là 2) — Kích thước của các patch mà mô hình xử lý, liên quan đến các kiến trúc làm việc với dữ liệu không tuần tự.
  • activation_fn (str, optional, mặc định là “gelu-approximate”) — Hàm kích hoạt được sử dụng trong các mạng feed-forward bên trong các khối Transformer.
  • num_embeds_ada_norm (int, optional, mặc định là 1000) — Số lượng embeddings cho AdaLayerNorm, được cố định trong quá trình huấn luyện và ảnh hưởng đến số bước khử nhiễu tối đa trong suy luận.
  • upcast_attention (bool, tùy chọn, mặc định là False) — Nếu là true, sẽ tăng độ chính xác của các chiều trong cơ chế attention để có thể cải thiện hiệu suất.
  • norm_type (str, tùy chọn, mặc định là “ada_norm_zero”) — Chỉ định loại chuẩn hóa được sử dụng, có thể là ‘ada_norm_zero’.
  • norm_elementwise_affine (bool, tùy chọn, mặc định là False) — Nếu là true, sẽ bật các tham số affine theo từng phần tử trong các lớp chuẩn hóa.
  • norm_eps (float, tùy chọn, mặc định là 1e-5) — Một hằng số nhỏ được cộng vào mẫu số trong các lớp chuẩn hóa để ngăn chặn phép chia cho không.

Mô hình Transformer 2D như được giới thiệu trong DiT (https://huggingface.co/papers/2212.09748).

forward

< >

( hidden_states: Tensortimestep: typing.Optional[torch.LongTensor] = Noneclass_labels: typing.Optional[torch.LongTensor] = Nonecross_attention_kwargs: dict = Nonereturn_dict: bool = True )

Tham số

  • hidden_states (torch.LongTensor có hình dạng (batch size, num latent pixels) nếu rời rạc, torch.FloatTensor có hình dạng (batch size, channel, height, width) nếu liên tục) — Đầu vào hidden_states.
  • timestep ( torch.LongTensor, tùy chọn) — Dùng để chỉ bước khử nhiễu. Timestep tùy chọn được áp dụng dưới dạng embedding trong AdaLayerNorm.
  • class_labels ( torch.LongTensor có shape (batch size, num classes), tùy chọn) — Dùng để chỉ định nhãn lớp điều kiện. Các nhãn lớp tùy chọn sẽ được áp dụng dưới dạng embedding trong AdaLayerZeroNorm.
  • cross_attention_kwargs ( dict[str, Any], tùy chọn) — Một từ điển kwargs mà 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 UNet2DConditionOutput thay vì một tuple thông thường hay không.

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

Update on GitHub