Diffusers documentation
TransformerTemporalModel
TransformerTemporalModel
Модель Transformer для данных, похожих на видео.
TransformerTemporalModel
класс diffusers.TransformerTemporalModel
< source >( num_attention_heads: int = 16attention_head_dim: int = 88in_channels: int | None = Noneout_channels: int | None = Nonenum_layers: int = 1dropout: float = 0.0norm_num_groups: int = 32cross_attention_dim: int | None = Noneattention_bias: bool = Falsesample_size: int | None = Noneactivation_fn: str = 'geglu'norm_elementwise_affine: bool = Truedouble_self_attention: bool = Truepositional_embeddings: str | None = Nonenum_positional_embeddings: int | None = None )
Параметры
- num_attention_heads (
int, необязательный, по умолчанию 16) — количество голов, используемых для многоголовного внимания. - attention_head_dim (
int, необязательный, по умолчанию 88) — количество каналов в каждой голове. - in_channels (
int, необязательный) — Количество каналов на входе и выходе (укажите, если вход непрерывный). - num_layers (
int, необязательный, по умолчанию 1) — Количество блоков Transformer, которые следует использовать. - dropout (
float, необязательный, по умолчанию 0.0) — Вероятность dropout, которую следует использовать. - cross_attention_dim (
int, необязательный) — Количество измеренийencoder_hidden_states, которые следует использовать. - attention_bias (
bool, необязательный) — Определяет, должен ли механизм внимания вTransformerBlockвключать параметр смещения (bias). - sample_size (
int, необязательный) — ширина латентных изображений (указывается, если вход дискретный). Это значение фиксировано во время обучения, поскольку используется для обучения набора позиционных эмбеддингов. - activation_fn (
str, необязательный, по умолчанию"geglu") — Функция активации, используемая в полносвязном слое. См.diffusers.models.activations.get_activationдля списка поддерживаемых функций активации. - norm_elementwise_affine (
bool, необязательный) — Определяет, следует ли блокуTransformerBlockиспользовать обучаемые параметры аффинного преобразования для нормализации. - double_self_attention (
bool, необязательный) — Определяет, должен ли каждыйTransformerBlockсодержать два слоя self-attention. - positional_embeddings — (
str, необязательный): Тип позиционных эмбеддингов, применяемых к входной последовательности перед использованием. - num_positional_embeddings — (
int, необязательный): Максимальная длина последовательности, для которой применяются позиционные эмбеддинги.
Модель Transformer для данных, похожих на видео.
forward
< source >( hidden_states: Tensorencoder_hidden_states: typing.Optional[torch.LongTensor] = Nonetimestep: typing.Optional[torch.LongTensor] = Noneclass_labels: LongTensor = Nonenum_frames: int = 1cross_attention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = True ) → TransformerTemporalModelOutput or tuple
Параметры
- hidden_states (
torch.LongTensorформы(batch size, num latent pixels)для дискретных,torch.Tensorформы(batch size, channel, height, width)для непрерывных) — Входные hidden_states. - encoder_hidden_states (
torch.LongTensorформы(batch size, encoder_hidden_states dim), необязательный) — Условные эмбеддинги для слоя кросс-внимания. Если не заданы, кросс-внимание по умолчанию заменяется на само-внимание. - timestep (
torch.LongTensor, необязательный) — Используется для указания шага денойзинга. Необязательный timestep, применяемый как эмбеддинг вAdaLayerNorm. - class_labels (
torch.LongTensorформы(batch size, num classes), необязательный) — Используется для указания условий по меткам классов. Необязательные метки классов, применяемые как эмбеддинг вAdaLayerZeroNorm. - num_frames (
int, необязательный, по умолчанию 1) — Количество кадров, обрабатываемых в одном батче. Используется для изменения формы скрытых состояний. - cross_attention_kwargs (
dict, необязательный) — Словарь kwargs, который при указании передается вAttentionProcessor, определенный вself.processorв модуле diffusers.models.attention_processor. - return_dict (
bool, необязательный, по умолчаниюTrue) — Определяет, следует ли возвращать TransformerTemporalModelOutput вместо обычного кортежа.
Возвращает
TransformerTemporalModelOutput или tuple
Если return_dict равно True, возвращается
TransformerTemporalModelOutput, иначе —
tuple, первым элементом которого является тензор выборки.
Метод forward класса TransformerTemporal.
TransformerTemporalModelOutput
класс diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput
< source >( sample: Tensor )
Вывод TransformerTemporalModel.