Buckets:

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

ChronoEditTransformer3DModel

Модель Diffusion Transformer для 3D-видеоподобных данных из статьи ChronoEdit: Towards Temporal Reasoning for Image Editing and World Simulation от NVIDIA и Университета Торонто, авторы: Jay Zhangjie Wu, Xuanchi Ren, Tianchang Shen, Tianshi Cao, Kai He, Yifan Lu, Ruiyuan Gao, Enze Xie, Shiyi Lan, Jose M. Alvarez, Jun Gao, Sanja Fidler, Zian Wang, Huan Ling.

Кратко: ChronoEdit переосмысляет редактирование изображений как задачу генерации видео, используя исходное и отредактированное изображения в качестве начального и конечного кадров, чтобы задействовать предобученные видеомодели с временной согласованностью. Этап временного рассуждения вводит токены рассуждения для обеспечения физически правдоподобных правок и визуализации траектории редактирования.

Модель можно загрузить с помощью следующего фрагмента кода.

from diffusers import ChronoEditTransformer3DModel

transformer = ChronoEditTransformer3DModel.from_pretrained("nvidia/ChronoEdit-14B-Diffusers", subfolder="transformer", dtype=torch.bfloat16)

ChronoEditTransformer3DModel[[diffusers.ChronoEditTransformer3DModel]]

diffusers.ChronoEditTransformer3DModel[[diffusers.ChronoEditTransformer3DModel]]

diffusers.ChronoEditTransformer3DModel(patch_size: tuple[int] = (1, 2, 2), num_attention_heads: int = 40, attention_head_dim: int = 128, in_channels: int = 16, out_channels: int = 16, text_dim: int = 4096, freq_dim: int = 256, ffn_dim: int = 13824, num_layers: int = 40, cross_attn_norm: bool = True, qk_norm: str | None = 'rms_norm_across_heads', eps: float = 1e-06, image_dim: int | None = None, added_kv_proj_dim: int | None = None, rope_max_seq_len: int = 1024, pos_embed_seq_len: int | None = None, rope_temporal_skip_len: int = 8)

Источник

Параметры:

patch_size (tuple[int], по умолчанию (1, 2, 2)) : размеры 3D-патчей для встраивания видео (t_patch, h_patch, w_patch).

num_attention_heads (int, по умолчанию 40) : фиксированная длина для текстовых эмбеддингов.

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

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

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

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

freq_dim (int, по умолчанию 256) : Размерность для синусоидных временных эмбеддингов.

ffn_dim (int, по умолчанию 13824) : Промежуточное измерение в полносвязной сети.

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

window_size (tuple[int], по умолчанию (-1, -1)) : Размер окна для локального внимания (-1 означает глобальное внимание).

cross_attn_norm (bool, по умолчанию True) : Включает нормализацию кросс-внимания.

qk_norm (bool, по умолчанию True) : Включает нормализацию запросов/ключей.

eps (float, по умолчанию 1e-6) : Значение эпсилона для слоёв нормализации.

add_img_emb (bool, по умолчанию False) : Использовать ли img_emb.

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

Модель Transformer для видеоподобных данных, используемая в модели ChronoEdit.

forward[[diffusers.ChronoEditTransformer3DModel.forward]]

forward(hidden_states: Tensor, timestep: LongTensor, encoder_hidden_states: Tensor, encoder_hidden_states_image: typing.Optional[torch.Tensor] = None, return_dict: bool = True, attention_kwargs: dict[str, typing.Any] | None = None)

Источник

Параметры:

hidden_states (torch.Tensor формы (batch_size, num_channels, num_frames, height, width)) : входные hidden_states.

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

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

encoder_hidden_states_image (torch.Tensor, необязательный) : Условные эмбеддинги изображений для генерации с условием на изображение.

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

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

Возвращает:

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

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

Transformer2DModelOutput[[diffusers.models.modeling_outputs.Transformer2DModelOutput]]

diffusers.models.modeling_outputs.Transformer2DModelOutput[[diffusers.models.modeling_outputs.Transformer2DModelOutput]]

diffusers.models.modeling_outputs.Transformer2DModelOutput(sample: torch.Tensor)

Источник

Параметры:

sample (torch.Tensor формы (batch_size, num_channels, height, width) или (batch size, num_vector_embeds - 1, num_latent_pixels), если Transformer2DModel дискретный): выходные скрытые состояния, обусловленные входом encoder_hidden_states. Если модель дискретная, возвращает распределения вероятностей для ненашумленных латентных пикселей.

Вывод Transformer2DModel.

Xet Storage Details

Size:
8.18 kB
·
Xet hash:
d762e669ed026515ea200ec9238e7e8a1531b883b23204decb2b03cf18b322c3

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