Diffusers documentation
ChronoEditTransformer3DModel
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
< source >( patch_size: tuple[int] = (1, 2, 2)num_attention_heads: int = 40attention_head_dim: int = 128in_channels: int = 16out_channels: int = 16text_dim: int = 4096freq_dim: int = 256ffn_dim: int = 13824num_layers: int = 40cross_attn_norm: bool = Trueqk_norm: str | None = 'rms_norm_across_heads'eps: float = 1e-06image_dim: int | None = Noneadded_kv_proj_dim: int | None = Nonerope_max_seq_len: int = 1024pos_embed_seq_len: int | None = Nonerope_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) — Включает нормализацию query/key. - eps (
float, по умолчанию1e-6) — Значение эпсилона для слоёв нормализации. - add_img_emb (
bool, по умолчаниюFalse) — Использовать ли img_emb. - added_kv_proj_dim (
int, необязательный, по умолчаниюNone) — Количество каналов, используемых для добавленных проекций ключей и значений. ЕслиNone, проекция не используется.
Модель Transformer для видеоподобных данных, используемая в модели ChronoEdit.
forward
< source >( hidden_states: Tensortimestep: LongTensorencoder_hidden_states: Tensorencoder_hidden_states_image: typing.Optional[torch.Tensor] = Nonereturn_dict: bool = Trueattention_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.
Метод forward модели ChronoEditTransformer3DModel.
Transformer2DModelOutput
класс diffusers.models.modeling_outputs.Transformer2DModelOutput
< source >( 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.