Buckets:
PixArtTransformer2DModel
Mô hình Transformer cho dữ liệu dạng ảnh từ PixArt-Alpha và PixArt-Sigma.
PixArtTransformer2DModel[[diffusers.PixArtTransformer2DModel]]
diffusers.PixArtTransformer2DModel[[diffusers.PixArtTransformer2DModel]]
diffusers.PixArtTransformer2DModel(num_attention_heads: int = 16, attention_head_dim: int = 72, in_channels: int = 4, out_channels: int | None = 8, num_layers: int = 28, dropout: float = 0.0, norm_num_groups: int = 32, cross_attention_dim: int | None = 1152, attention_bias: bool = True, sample_size: int = 128, patch_size: int = 2, activation_fn: str = 'gelu-approximate', num_embeds_ada_norm: int | None = 1000, upcast_attention: bool = False, norm_type: str = 'ada_norm_single', norm_elementwise_affine: bool = False, norm_eps: float = 1e-06, interpolation_scale: int | None = None, use_additional_conditions: bool | None = None, caption_channels: int | None = None, attention_type: str | None = 'default')
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 chú ý đa đầu (multi-head attention).
attention_head_dim (int, tùy chọn, mặc định là 72) : Số lượng kênh trong mỗi đầu.
in_channels (int, mặc định là 4) : Số kênh trong đầu vào.
out_channels (int, tùy chọn) : 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 để 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.
cross_attention_dim (int, tùy chọn) : Độ chiều cho các lớp cross-attention, thường khớp với độ chiều ẩn của encoder.
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à 128) : Độ 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 hoạt động trên dữ liệu không tuần tự.
activation_fn (str, tùy chọn, 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, tùy chọn, 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 quá trình suy luận.
upcast_attention (bool, tùy chọn, mặc định là False) : Nếu là true, sẽ tăng cấp các chiều của cơ chế chú ý để có thể cải thiện hiệu suất.
norm_type (str, tùy chọn, mặc định là "ada_norm_zero") : Xác đị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, kích hoạ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-6) : 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.
interpolation_scale (int, tùy chọn) : Hệ số tỷ lệ để sử dụng khi nội suy các nhúng vị trí.
use_additional_conditions (bool, tùy chọn) : Nếu chúng ta đang sử dụng các điều kiện bổ sung làm đầu vào.
attention_type (str, tùy chọn, mặc định là "default") : Loại cơ chế chú ý sẽ được sử dụng.
caption_channels (int, tùy chọn, mặc định là None) : Số lượng kênh được sử dụng để chiếu các embedding mô tả.
use_linear_projection (bool, tùy chọn, mặc định là False) : Tham số đã bị ngừng hỗ trợ. Sẽ bị loại bỏ trong một phiên bản tương lai.
num_vector_embeds (bool, tùy chọn, mặc định là False) : Tham số đã bị ngừng hỗ trợ. Sẽ bị loại bỏ trong một phiên bản tương lai.
Một mô hình Transformer 2D như được giới thiệu trong họ mô hình PixArt (https://huggingface.co/papers/2310.00426, https://huggingface.co/papers/2403.04692).
forward[[diffusers.PixArtTransformer2DModel.forward]]
forward(hidden_states: Tensor, encoder_hidden_states: typing.Optional[torch.Tensor] = None, timestep: typing.Optional[torch.LongTensor] = None, added_cond_kwargs: dict[str, torch.Tensor] = None, cross_attention_kwargs: dict[str, typing.Any] = None, attention_mask: typing.Optional[torch.Tensor] = None, encoder_attention_mask: typing.Optional[torch.Tensor] = None, return_dict: bool = True)
Tham số:
hidden_states (torch.FloatTensor có hình dạng (batch size, channel, height, width)) : hidden_states đầu vào.
encoder_hidden_states (torch.FloatTensor có shape (batch size, sequence len, embed dims), optional) : Các embedding điều kiện cho lớp cross attention. Nếu không được cung cấp, cross-attention sẽ mặc định là self-attention.
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.
added_cond_kwargs : (dict[str, Any], tùy chọn): Các điều kiện bổ sung được sử dụng làm đầu vào.
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.
attention_mask ( torch.Tensor, tùy chọn) : Một attention mask có shape (batch, key_tokens) được áp dụng cho encoder_hidden_states. Nếu 1, mask được giữ lại, ngược lại nếu 0, nó sẽ bị loại bỏ. Mask sẽ được chuyển đổi thành một bias, thêm các giá trị âm lớn vào các điểm attention tương ứng với các token "loại bỏ".
encoder_attention_mask ( torch.Tensor, tùy chọn) : Mặt nạ chú ý chéo (cross-attention mask) được áp dụng cho encoder_hidden_states. Hỗ trợ hai định dạng: * Mặt nạ (batch, sequence_length) True = giữ lại, False = loại bỏ. * Thiên lệch (bias) (batch, 1, sequence_length) 0 = giữ lại, -10000 = loại bỏ. Nếu ndim == 2: sẽ được hiểu là một mặt nạ, sau đó được chuyển đổi thành một thiên lệch nhất quán với định dạng ở trên. Thiên lệch này sẽ được cộng vào các điểm chú ý chéo (cross-attention scores).
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.
Trả về:
Nếu return_dict là True, một ~models.transformer_2d.Transformer2DModelOutput sẽ được trả về, ngược lại một tuple trong đó phần tử đầu tiên là tensor mẫu.
Phương thức forward của PixArtTransformer2DModel.
fuse_qkv_projections[[diffusers.PixArtTransformer2DModel.fuse_qkv_projections]]
fuse_qkv_projections()
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 🧪 đang ở giai đoạn thử nghiệm.
set_default_attn_processor[[diffusers.PixArtTransformer2DModel.set_default_attn_processor]]
set_default_attn_processor()
Tắt các bộ xử lý chú ý tùy chỉnh và đặt cài đặt chú ý mặc định.
An toàn khi chỉ cần sử dụng AttnProcessor() vì PixArt không có bất kỳ bộ xử lý chú ý đặc biệt nào trong mô hình mặc định.
unfuse_qkv_projections[[diffusers.PixArtTransformer2DModel.unfuse_qkv_projections]]
unfuse_qkv_projections()
Tắt dự phóng QKV hợp nhất nếu đã được bật.
> API này 🧪 đang ở giai đoạn thử nghiệm.
Xet Storage Details
- Size:
- 9.79 kB
- Xet hash:
- 92da824cf3132023f44640dafb8f23658d6b944a108de78295f9a6f5a3bde191
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.