Diffusers documentation
ChronoEditTransformer3DModel
ChronoEditTransformer3DModel
Un modelo Diffusion Transformer para datos de video 3D de ChronoEdit: Towards Temporal Reasoning for Image Editing and World Simulation de NVIDIA y la Universidad de Toronto, de 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.
Resumen: ChronoEdit redefine la edición de imágenes como una tarea de generación de video, utilizando las imágenes de entrada y editadas como fotogramas inicial y final para aprovechar los modelos de video preentrenados con consistencia temporal. Una etapa de razonamiento temporal introduce tokens de razonamiento para garantizar ediciones físicamente plausibles y visualizar la trayectoria de la edición.
El modelo se puede cargar con el siguiente fragmento de código.
from diffusers import ChronoEditTransformer3DModel
transformer = ChronoEditTransformer3DModel.from_pretrained("nvidia/ChronoEdit-14B-Diffusers", subfolder="transformer", dtype=torch.bfloat16)ChronoEditTransformer3DModel
clase 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 )
Parámetros
- patch_size (
tuple[int], por defecto(1, 2, 2)) — Dimensiones del parche 3D para la incrustación de video (t_patch, h_patch, w_patch). - num_attention_heads (
int, por defecto40) — Longitud fija para las incrustaciones de texto. - attention_head_dim (
int, por defecto128) — El número de canales en cada cabeza. - in_channels (
int, por defecto16) — El número de canales en la entrada. - out_channels (
int, por defecto16) — El número de canales en la salida. - text_dim (
int, por defecto512) — Dimensión de entrada para las incrustaciones de texto. - freq_dim (
int, por defecto256) — Dimensión para las incrustaciones sinusoidales de tiempo. - ffn_dim (
int, por defecto13824) — Dimensión intermedia en la red feed-forward. - num_layers (
int, por defecto40) — El número de capas de bloques de transformador a utilizar. - window_size (
tuple[int], por defecto(-1, -1)) — Tamaño de la ventana para la atención local (-1 indica atención global). - cross_attn_norm (
bool, por defectoTrue) — Habilita la normalización de atención cruzada. - qk_norm (
bool, por defectoTrue) — Habilita la normalización de query/key. - eps (
float, por defecto1e-6) — Valor de epsilon para las capas de normalización. - add_img_emb (
bool, por defectoFalse) — Si se debe usar img_emb. - added_kv_proj_dim (
int, opcional, valor predeterminadoNone) — El número de canales a utilizar para las proyecciones de clave y valor añadidas. Si esNone, no se utiliza ninguna proyección.
Un modelo Transformer para datos tipo video utilizado en el modelo 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 )
Parámetros
- hidden_states (
torch.Tensorde forma(batch_size, num_channels, num_frames, height, width)) — Entradahidden_states. - timestep (
torch.LongTensor) — Se utiliza para indicar el paso de desruido. - encoder_hidden_states (
torch.Tensorde forma(batch_size, sequence_len, embed_dims)) — Incrustaciones condicionales (incrustaciones calculadas a partir de las condiciones de entrada, como los prompts) que se deben utilizar. - encoder_hidden_states_image (
torch.Tensor, opcional) — Incrustaciones de imagen condicionales para la generación condicionada por imagen. - return_dict (
bool, opcional, valor predeterminadoTrue) — Indica si se debe devolver un~models.transformer_2d.Transformer2DModelOutputen lugar de una tupla simple. - attention_kwargs (
dict, opcional) — Un diccionario de kwargs que, si se especifica, se pasa alAttentionProcessordefinido enself.processordentro de diffusers.models.attention_processor.
El método forward de ChronoEditTransformer3DModel.
Transformer2DModelOutput
clase diffusers.models.modeling_outputs.Transformer2DModelOutput
< source >( sample: torch.Tensor )
Parámetros
- sample (
torch.Tensorde forma(batch_size, num_channels, height, width)o(batch size, num_vector_embeds - 1, num_latent_pixels)si Transformer2DModel es discreto) — La salida de estados ocultos condicionada a la entradaencoder_hidden_states. Si es discreto, devuelve distribuciones de probabilidad para los píxeles latentes sin ruido.
La salida de Transformer2DModel.