Buckets:

hf-doc-build/doc / diffusers /main /ru /api /models /sd3_transformer2d.md
mishig's picture
|
download
raw
8.3 kB

Модель SD3 Transformer

Модель Transformer, представленная в Stable Diffusion 3. Её новизна заключается в блоке трансформера MMDiT.

SD3Transformer2DModel[[diffusers.SD3Transformer2DModel]]

diffusers.SD3Transformer2DModel[[diffusers.SD3Transformer2DModel]]

diffusers.SD3Transformer2DModel(sample_size: int = 128, patch_size: int = 2, in_channels: int = 16, num_layers: int = 18, attention_head_dim: int = 64, num_attention_heads: int = 18, joint_attention_dim: int = 4096, caption_projection_dim: int = 1152, pooled_projection_dim: int = 2048, out_channels: int = 16, pos_embed_max_size: int = 96, dual_attention_layers: tuple[int, ...] = (), qk_norm: str | None = None)

Источник

Параметры:

sample_size (int, по умолчанию 128) : Ширина/высота латентов. Это значение фиксировано во время обучения, поскольку используется для обучения набора позиционных эмбеддингов.

patch_size (int, по умолчанию 2) : Размер патча для разбиения входных данных на небольшие патчи.

in_channels (int, по умолчанию 16) : Количество латентных каналов на входе.

num_layers (int, по умолчанию 18) : Количество используемых блоков трансформера.

attention_head_dim (int, по умолчанию 64) : Количество каналов в каждой голове.

num_attention_heads (int, по умолчанию 18) : Количество головок для использования в механизме внимания с несколькими головками.

joint_attention_dim (int, по умолчанию 4096) : Размерность эмбеддинга, используемая для совместного внимания текста и изображения.

caption_projection_dim (int, по умолчанию 1152) : Размерность встраиваний подписей.

pooled_projection_dim (int, по умолчанию 2048) : Размерность встраивания для пул-проекций текста.

out_channels (int, по умолчанию 16) : Количество латентных каналов в выводе.

pos_embed_max_size (int, по умолчанию 96) : Максимальная высота/ширина латентных векторов позиционных эмбеддингов.

dual_attention_layers (tuple[int, ...], по умолчанию ()) : Количество блоков трансформера с двойным потоком, которые следует использовать.

qk_norm (str, необязательный, по умолчанию None) : Нормализация, используемая для запроса и ключа в слое внимания. Если None, нормализация не применяется.

Модель Transformer, представленная в Stable Diffusion 3.

enable_forward_chunking[[diffusers.SD3Transformer2DModel.enable_forward_chunking]]

enable_forward_chunking(chunk_size: int | None = None, dim: int = 0)

Источник

Параметры:

chunk_size (int, optional) : Размер блока для полносвязных слоёв. Если не указан, полносвязный слой будет выполняться отдельно для каждого тензора с dim=dim.

dim (int, optional, по умолчанию 0) : Размерность, по которой вычисления в feed-forward слое должны быть разбиты на блоки. Выберите dim=0 (batch) или dim=1 (длина последовательности).

Устанавливает процессор внимания для использования feed forward chunking.

forward[[diffusers.SD3Transformer2DModel.forward]]

forward(hidden_states: Tensor, encoder_hidden_states: Tensor = None, pooled_projections: Tensor = None, timestep: LongTensor = None, block_controlnet_hidden_states: list = None, joint_attention_kwargs: dict[str, typing.Any] | None = None, return_dict: bool = True, skip_layers: list[int] | None = None)

Источник

Параметры:

hidden_states (torch.Tensor формы (batch size, channel, height, width)) : Входные hidden_states.

encoder_hidden_states (torch.Tensor формы (batch size, sequence_len, embed_dims)) : Условные эмбеддинги (эмбеддинги, вычисленные на основе входных условий, таких как промпты), которые следует использовать.

pooled_projections (torch.Tensor формы (batch_size, projection_dim)) : Векторы, полученные из эмбеддингов входных условий.

timestep (torch.LongTensor) : Используется для указания шага денойзинга.

block_controlnet_hidden_states (list из torch.Tensor) : Список тензоров, которые при указании добавляются к остаточным связям блоков трансформера.

joint_attention_kwargs (dict, необязательный) : Словарь kwargs, который при указании передается в AttentionProcessor, определенный в self.processor в diffusers.models.attention_processor.

return_dict (bool, необязательный, по умолчанию True) : Возвращать ли ~models.transformer_2d.Transformer2DModelOutput вместо обычного кортежа.

skip_layers (list из int, optional) : Список индексов слоёв, которые нужно пропустить при прямом проходе.

Возвращает:

Если return_dict равно True, возвращается ~models.transformer_2d.Transformer2DModelOutput, иначе — tuple, первым элементом которого является тензор выборки.

Метод forward модели SD3Transformer2DModel.

fuse_qkv_projections[[diffusers.SD3Transformer2DModel.fuse_qkv_projections]]

fuse_qkv_projections()

Источник

Включает объединённые проекции QKV. Для модулей само-внимания все матрицы проекций (т. е. запрос, ключ, значение) объединяются. Для модулей кросс-внимания объединяются матрицы проекций ключа и значения.

> Этот API 🧪 экспериментальный.

unfuse_qkv_projections[[diffusers.SD3Transformer2DModel.unfuse_qkv_projections]]

unfuse_qkv_projections()

Источник

Отключает объединенную проекцию QKV, если она включена.

> Этот API 🧪 экспериментальный.

Xet Storage Details

Size:
8.3 kB
·
Xet hash:
cb658a588024ebc6a0b6cec1166e4ea7c3897328fcac2fe4c248ff1724681f35

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.