Diffusers documentation

CogVideoX

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

LoRA

CogVideoX

CogVideoX es un modelo de difusión transformer de gran tamaño, disponible con 2B y 5B parámetros, diseñado para generar videos más largos y consistentes a partir de texto. Este modelo utiliza un autoencoder variacional causal 3D para procesar los datos de video de manera más eficiente, reduciendo la longitud de la secuencia (y el cómputo de entrenamiento asociado) y evitando el parpadeo en los videos generados. Un transformer “experto” con LayerNorm adaptativo mejora la alineación entre el texto y el video, y la atención completa 3D ayuda a capturar con precisión el movimiento y el tiempo en los videos generados.

Puedes encontrar todos los puntos de control originales de CogVideoX en la colección CogVideoX.

Haz clic en los modelos de CogVideoX en la barra lateral derecha para ver más ejemplos de otras tareas de generación de video.

El siguiente ejemplo demuestra cómo generar un video optimizado para la memoria o la velocidad de inferencia.

memoria
velocidad de inferencia

Consulte la guía Reduce memory usage para obtener más detalles sobre las diversas técnicas de ahorro de memoria.

El modelo CogVideoX 5B cuantizado de abajo requiere ~16GB de VRAM.

import torch
from diffusers import CogVideoXPipeline, AutoModel, TorchAoConfig
from diffusers.quantizers import PipelineQuantizationConfig
from diffusers.hooks import apply_group_offloading
from diffusers.utils import export_to_video
from torchao.quantization import Int8WeightOnlyConfig

# quantize weights to int8 with torchao
pipeline_quant_config = PipelineQuantizationConfig(
  quant_mapping={"transformer": TorchAoConfig(Int8WeightOnlyConfig())}
)

# fp8 layerwise weight-casting
transformer = AutoModel.from_pretrained(
    "THUDM/CogVideoX-5b",
    subfolder="transformer",
    dtype=torch.bfloat16
)
transformer.enable_layerwise_casting(
    storage_dtype=torch.float8_e4m3fn, compute_dtype=torch.bfloat16
)

pipeline = CogVideoXPipeline.from_pretrained(
    "THUDM/CogVideoX-5b",
    transformer=transformer,
    quantization_config=pipeline_quant_config,
    dtype=torch.bfloat16
)
pipeline.to("cuda")  # or "mps", "xpu", "cpu"

# model-offloading
pipeline.enable_model_cpu_offload()

prompt = """
A detailed wooden toy ship with intricately carved masts and sails is seen gliding smoothly over a plush, blue carpet that mimics the waves of the sea. 
The ship's hull is painted a rich brown, with tiny windows. The carpet, soft and textured, provides a perfect backdrop, resembling an oceanic expanse. 
Surrounding the ship are various other toys and children's items, hinting at a playful environment. The scene captures the innocence and imagination of childhood, 
with the toy ship's journey symbolizing endless adventures in a whimsical, indoor setting.
"""

video = pipeline(
    prompt=prompt,
    guidance_scale=6,
    num_inference_steps=50
).frames[0]
export_to_video(video, "output.mp4", fps=8)

Notas

  • CogVideoX admite LoRAs con load_lora_weights().

    Mostrar código de ejemplo
    import torch
    from diffusers import CogVideoXPipeline
    from diffusers.hooks import apply_group_offloading
    from diffusers.utils import export_to_video
    
    pipeline = CogVideoXPipeline.from_pretrained(
        "THUDM/CogVideoX-5b",
        dtype=torch.bfloat16
    )
    pipeline.to("cuda")  # or "mps", "xpu", "cpu"
    
    # load LoRA weights
    pipeline.load_lora_weights("finetrainers/CogVideoX-1.5-crush-smol-v0", adapter_name="crush-lora")
    pipeline.set_adapters("crush-lora", 0.9)
    
    # model-offloading
    pipeline.enable_model_cpu_offload()
    
    prompt = """
    PIKA_CRUSH A large metal cylinder is seen pressing down on a pile of Oreo cookies, flattening them as if they were under a hydraulic press.
    """
    negative_prompt = "inconsistent motion, blurry motion, worse quality, degenerate outputs, deformed outputs"
    
    video = pipeline(
        prompt=prompt, 
        negative_prompt=negative_prompt, 
        num_frames=81, 
        height=480,
        width=768,
        num_inference_steps=50
    ).frames[0]
    export_to_video(video, "output.mp4", fps=16)
  • Los puntos de control de texto a video (T2V) funcionan mejor con una resolución de 1360x768, ya que esa fue la resolución con la que se preentrenaron.

  • Los puntos de control de imagen a video (I2V) funcionan con múltiples resoluciones. El ancho puede variar de 768 a 1360, pero la altura debe ser 758. Tanto la altura como el ancho deben ser divisibles entre 16.

  • Los puntos de control de T2V e I2V funcionan mejor con 81 y 161 fotogramas. Se recomienda exportar el video generado a 16 fps.

  • Consulte la tabla siguiente para ver el uso de memoria cuando se habilitan diversas técnicas de ahorro de memoria.

    métodouso de memoria (habilitado)uso de memoria (deshabilitado)
    enable_model_cpu_offload19GB33GB
    enable_sequential_cpu_offload<4GB~33GB (velocidad de inferencia muy lenta)
    enable_tiling11GB (con enable_model_cpu_offload)---

CogVideoXPipeline

clase diffusers.CogVideoXPipeline

< >

( tokenizer: T5Tokenizertext_encoder: T5EncoderModelvae: AutoencoderKLCogVideoXtransformer: CogVideoXTransformer3DModelscheduler: diffusers.schedulers.scheduling_ddim_cogvideox.CogVideoXDDIMScheduler | diffusers.schedulers.scheduling_dpm_cogvideox.CogVideoXDPMScheduler )

Parámetros

  • vae (AutoencoderKL) — Modelo de Variational Auto-Encoder (VAE) para codificar y decodificar videos hacia y desde representaciones latentes.
  • text_encoder (T5EncoderModel) — Codificador de texto congelado. CogVideoX utiliza T5; específicamente la variante t5-v1_1-xxl.
  • tokenizer (T5Tokenizer) — Tokenizer de la clase T5Tokenizer.
  • transformer (CogVideoXTransformer3DModel) — Un CogVideoXTransformer3DModel condicionado por texto para desruidar los latentes de video codificados.
  • scheduler (SchedulerMixin) — Un scheduler para usar en combinación con transformer para desruidar los latentes de video codificados.

Pipeline para la generación de texto a video usando CogVideoX.

Este modelo hereda de DiffusionPipeline. Consulta la documentación de la clase superior para los métodos genéricos que la biblioteca implementa para todos los pipelines (como la descarga o el guardado, la ejecución en un dispositivo específico, etc.)

__call__

< >

( prompt: str | list[str] | None = Nonenegative_prompt: str | list[str] | None = Noneheight: int | None = Nonewidth: int | None = Nonenum_frames: int | None = Nonenum_inference_steps: int = 50timesteps: list[int] | None = Noneguidance_scale: float = 6use_dynamic_cfg: bool = Falsenum_videos_per_prompt: int = 1eta: float = 0.0generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonelatents: typing.Optional[torch.FloatTensor] = Noneprompt_embeds: typing.Optional[torch.FloatTensor] = Nonenegative_prompt_embeds: typing.Optional[torch.FloatTensor] = Noneoutput_type: str = 'pil'return_dict: bool = Trueattention_kwargs: dict[str, typing.Any] | None = Nonecallback_on_step_end: typing.Union[typing.Callable[[int, int], NoneType], diffusers.callbacks.PipelineCallback, diffusers.callbacks.MultiPipelineCallbacks, NoneType] = Nonecallback_on_step_end_tensor_inputs: list = ['latents']max_sequence_length: int = 226 ) → CogVideoXPipelineOutput or tuple

Parámetros

  • prompt (str o list[str], opcional) — El prompt o los prompts para guiar la generación de la imagen. Si no se define, hay que pasar prompt_embeds en su lugar.
  • negative_prompt (str o list[str], opcional) — El prompt o prompts que no deben guiar la generación de la imagen. Si no se define, se debe pasar negative_prompt_embeds en su lugar. Se ignora cuando no se usa guía (es decir, se ignora si guidance_scale es menor que 1).
  • height (int, opcional, por defecto self.transformer.config.sample_height * self.vae_scale_factor_spatial) — La altura en píxeles de la imagen generada. Por defecto, se establece en 480 para obtener los mejores resultados.
  • width (int, opcional, valor predeterminado self.transformer.config.sample_height * self.vae_scale_factor_spatial) — El ancho en píxeles de la imagen generada. Por defecto, se establece en 720 para obtener los mejores resultados.
  • num_frames (int, por defecto 48) — Número de fotogramas a generar. Debe ser divisible por self.vae_scale_factor_temporal. El video generado contendrá 1 fotograma extra porque CogVideoX se condiciona con (num_seconds * fps + 1) fotogramas, donde num_seconds es 6 y fps es 8. Sin embargo, dado que los videos se pueden guardar a cualquier fps, la única condición que debe cumplirse es la de divisibilidad mencionada anteriormente.
  • num_inference_steps (int, opcional, valor predeterminado 50) — El número de pasos de desruido. Más pasos de desruido suelen conducir a una imagen de mayor calidad a costa de una inferencia más lenta.
  • timesteps (list[int], opcional) — Pasos de tiempo personalizados para usar en el proceso de desruido con programadores que admiten un argumento timesteps en su método set_timesteps. Si no se define, se usará el comportamiento predeterminado cuando se pase num_inference_steps. Debe estar en orden descendente.
  • guidance_scale (float, opcional, valor predeterminado 7.0) — Escala de guía definida en Classifier-Free Diffusion Guidance. guidance_scale se define como w de la ecuación 2 del Imagen Paper. La escala de guía se habilita estableciendo guidance_scale > 1. Una escala de guía más alta fomenta la generación de imágenes estrechamente vinculadas al prompt de texto, generalmente a costa de una menor calidad de imagen.
  • use_dynamic_cfg (bool, opcional, valor predeterminado False) — Si es True, ajusta dinámicamente la escala de guía durante la inferencia.
  • num_videos_per_prompt (int, opcional, valor predeterminado 1) — El número de vídeos que se generarán por prompt.
  • eta (float, opcional, valor predeterminado 0.0) — Corresponde al parámetro eta (η) del artículo DDIM. Solo se aplica a DDIMScheduler y se ignora en otros programadores.
  • generator (torch.Generator o list[torch.Generator], opcional) — Un generador o una lista de generadores de torch para hacer la generación determinista.
  • latents (torch.FloatTensor, opcional) — Latentes ruidosos pregenerados, muestreados de una distribución gaussiana, que se usarán como entradas para la generación de imágenes. Se pueden utilizar para ajustar la misma generación con diferentes prompts. Si no se proporcionan, se generará un tensor de latentes mediante muestreo usando el generator aleatorio suministrado.
  • prompt_embeds (torch.FloatTensor, opcional) — Incrustaciones de texto pregeneradas. Se pueden usar para ajustar fácilmente las entradas de texto, p. ej. ponderación de prompts. Si no se proporcionan, las incrustaciones de texto se generarán a partir del argumento de entrada prompt.
  • negative_prompt_embeds (torch.FloatTensor, opcional) — Incrustaciones de texto negativo pregeneradas. Se pueden usar para ajustar fácilmente las entradas de texto, p. ej. el ponderado del prompt. Si no se proporciona, negative_prompt_embeds se generará a partir del argumento de entrada negative_prompt.
  • output_type (str, opcional, valor predeterminado "pil") — El formato de salida de la imagen generada. Elija entre PIL: PIL.Image.Image o np.array.
  • return_dict (bool, opcional, valor predeterminado True) — Indica si se debe devolver un ~pipelines.stable_diffusion_xl.StableDiffusionXLPipelineOutput en lugar de una tupla simple.
  • attention_kwargs (dict, opcional) — Un diccionario de kwargs que, si se especifica, se pasa al AttentionProcessor definido en self.processor dentro de diffusers.models.attention_processor.
  • callback_on_step_end (Callable, opcional) — Una función que se llama al final de cada paso de desruido durante la inferencia. La función se llama con los siguientes argumentos: callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict). callback_kwargs incluirá una lista de todos los tensores especificados por callback_on_step_end_tensor_inputs.
  • callback_on_step_end_tensor_inputs (list, opcional) — La lista de entradas de tensor para la función callback_on_step_end. Los tensores especificados en la lista se pasarán como argumento callback_kwargs. Solo podrás incluir variables listadas en el atributo ._callback_tensor_inputs de tu clase de pipeline.
  • max_sequence_length (int, por defecto 226) — Longitud máxima de la secuencia en el prompt codificado. Debe ser coherente con self.transformer.config.max_text_seq_length, de lo contrario puede dar lugar a resultados deficientes.

Devuelve

CogVideoXPipelineOutput o tuple

CogVideoXPipelineOutput si return_dict es True, de lo contrario una tuple. Al devolver una tupla, el primer elemento es una lista con las imágenes generadas.

Función invocada al llamar a la pipeline para la generación.

Ejemplos:

>>> import torch
>>> from diffusers import CogVideoXPipeline
>>> from diffusers.utils import export_to_video

>>> # Models: "THUDM/CogVideoX-2b" or "THUDM/CogVideoX-5b"
>>> pipe = CogVideoXPipeline.from_pretrained("THUDM/CogVideoX-2b", torch_dtype=torch.float16).to("cuda")
>>> prompt = (
...     "A panda, dressed in a small, red jacket and a tiny hat, sits on a wooden stool in a serene bamboo forest. "
...     "The panda's fluffy paws strum a miniature acoustic guitar, producing soft, melodic tunes. Nearby, a few other "
...     "pandas gather, watching curiously and some clapping in rhythm. Sunlight filters through the tall bamboo, "
...     "casting a gentle glow on the scene. The panda's face is expressive, showing concentration and joy as it plays. "
...     "The background includes a small, flowing stream and vibrant green foliage, enhancing the peaceful and magical "
...     "atmosphere of this unique musical performance."
... )
>>> video = pipe(prompt=prompt, guidance_scale=6, num_inference_steps=50).frames[0]
>>> export_to_video(video, "output.mp4", fps=8)

encode_prompt

< >

( prompt: str | list[str]negative_prompt: str | list[str] | None = Nonedo_classifier_free_guidance: bool = Truenum_videos_per_prompt: int = 1prompt_embeds: typing.Optional[torch.Tensor] = Nonenegative_prompt_embeds: typing.Optional[torch.Tensor] = Nonemax_sequence_length: int = 226device: typing.Optional[torch.device] = Nonedtype: typing.Optional[torch.dtype] = None )

Parámetros

  • prompt (str o list[str], opcional) — prompt a codificar
  • negative_prompt (str o list[str], opcional) — El prompt o prompts que no deben guiar la generación de la imagen. Si no se define, se debe pasar negative_prompt_embeds en su lugar. Se ignora cuando no se usa guía (es decir, se ignora si guidance_scale es menor que 1).
  • do_classifier_free_guidance (bool, opcional, valor predeterminado True) — Si se debe usar classifier free guidance o no.
  • num_videos_per_prompt (int, opcional, valor predeterminado 1) — Número de videos que deben generarse por prompt. Dispositivo torch en el que colocar las incrustaciones resultantes
  • prompt_embeds (torch.Tensor, opcional) — Incrustaciones de texto pregeneradas. Se pueden usar para ajustar fácilmente las entradas de texto, p. ej. ponderación de prompts. Si no se proporcionan, las incrustaciones de texto se generarán a partir del argumento de entrada prompt.
  • negative_prompt_embeds (torch.Tensor, opcional) — Incrustaciones de texto negativo pregeneradas. Se pueden usar para ajustar fácilmente las entradas de texto, p. ej. el ponderado del prompt. Si no se proporciona, negative_prompt_embeds se generará a partir del argumento de entrada negative_prompt.
  • device — (torch.device, opcional): dispositivo de torch
  • dtype — (torch.dtype, opcional): dtype de torch

Codifica el prompt en estados ocultos del codificador de texto.

fuse_qkv_projections

< >

( )

Permite proyecciones QKV fusionadas.

unfuse_qkv_projections

< >

( )

Desactiva la fusión de proyección QKV si está habilitada.

CogVideoXImageToVideoPipeline

clase diffusers.CogVideoXImageToVideoPipeline

< >

( tokenizer: T5Tokenizertext_encoder: T5EncoderModelvae: AutoencoderKLCogVideoXtransformer: CogVideoXTransformer3DModelscheduler: diffusers.schedulers.scheduling_ddim_cogvideox.CogVideoXDDIMScheduler | diffusers.schedulers.scheduling_dpm_cogvideox.CogVideoXDPMScheduler )

Parámetros

  • vae (AutoencoderKL) — Modelo de Variational Auto-Encoder (VAE) para codificar y decodificar videos hacia y desde representaciones latentes.
  • text_encoder (T5EncoderModel) — Codificador de texto congelado. CogVideoX utiliza T5; específicamente la variante t5-v1_1-xxl.
  • tokenizer (T5Tokenizer) — Tokenizer de la clase T5Tokenizer.
  • transformer (CogVideoXTransformer3DModel) — Un CogVideoXTransformer3DModel condicionado por texto para desruidar los latentes de video codificados.
  • scheduler (SchedulerMixin) — Un scheduler para usar en combinación con transformer para desruidar los latentes de video codificados.

Pipeline para la generación de video a partir de imágenes usando CogVideoX.

Este modelo hereda de DiffusionPipeline. Consulta la documentación de la clase superior para los métodos genéricos que la biblioteca implementa para todos los pipelines (como la descarga o el guardado, la ejecución en un dispositivo específico, etc.)

__call__

< >

( image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]prompt: str | list[str] | None = Nonenegative_prompt: str | list[str] | None = Noneheight: int | None = Nonewidth: int | None = Nonenum_frames: int = 49num_inference_steps: int = 50timesteps: list[int] | None = Noneguidance_scale: float = 6use_dynamic_cfg: bool = Falsenum_videos_per_prompt: int = 1eta: float = 0.0generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonelatents: typing.Optional[torch.FloatTensor] = Noneprompt_embeds: typing.Optional[torch.FloatTensor] = Nonenegative_prompt_embeds: typing.Optional[torch.FloatTensor] = Noneoutput_type: str = 'pil'return_dict: bool = Trueattention_kwargs: dict[str, typing.Any] | None = Nonecallback_on_step_end: typing.Union[typing.Callable[[int, int], NoneType], diffusers.callbacks.PipelineCallback, diffusers.callbacks.MultiPipelineCallbacks, NoneType] = Nonecallback_on_step_end_tensor_inputs: list = ['latents']max_sequence_length: int = 226 ) → CogVideoXPipelineOutput or tuple

Parámetros

  • image (PipelineImageInput) — La imagen de entrada para condicionar la generación. Debe ser una imagen, una lista de imágenes o un torch.Tensor.
  • prompt (str o list[str], opcional) — El prompt o los prompts para guiar la generación de la imagen. Si no se define, hay que pasar prompt_embeds en su lugar.
  • negative_prompt (str o list[str], opcional) — El prompt o prompts que no deben guiar la generación de la imagen. Si no se define, se debe pasar negative_prompt_embeds en su lugar. Se ignora cuando no se usa guía (es decir, se ignora si guidance_scale es menor que 1).
  • height (int, opcional, por defecto self.transformer.config.sample_height * self.vae_scale_factor_spatial) — La altura en píxeles de la imagen generada. Por defecto, se establece en 480 para obtener los mejores resultados.
  • width (int, opcional, valor predeterminado self.transformer.config.sample_height * self.vae_scale_factor_spatial) — El ancho en píxeles de la imagen generada. Por defecto, se establece en 720 para obtener los mejores resultados.
  • num_frames (int, por defecto 48) — Número de fotogramas a generar. Debe ser divisible por self.vae_scale_factor_temporal. El video generado contendrá 1 fotograma extra porque CogVideoX se condiciona con (num_seconds * fps + 1) fotogramas, donde num_seconds es 6 y fps es 8. Sin embargo, dado que los videos se pueden guardar a cualquier fps, la única condición que debe cumplirse es la de divisibilidad mencionada anteriormente.
  • num_inference_steps (int, opcional, valor predeterminado 50) — El número de pasos de desruido. Más pasos de desruido suelen conducir a una imagen de mayor calidad a costa de una inferencia más lenta.
  • timesteps (list[int], opcional) — Pasos de tiempo personalizados para usar en el proceso de desruido con programadores que admiten un argumento timesteps en su método set_timesteps. Si no se define, se usará el comportamiento predeterminado cuando se pase num_inference_steps. Debe estar en orden descendente.
  • guidance_scale (float, opcional, valor predeterminado 7.0) — Escala de guía definida en Classifier-Free Diffusion Guidance. guidance_scale se define como w de la ecuación 2 del Imagen Paper. La escala de guía se habilita estableciendo guidance_scale > 1. Una escala de guía más alta fomenta la generación de imágenes estrechamente vinculadas al prompt de texto, generalmente a costa de una menor calidad de imagen.
  • use_dynamic_cfg (bool, opcional, valor predeterminado False) — Si es True, ajusta dinámicamente la escala de guía durante la inferencia.
  • num_videos_per_prompt (int, opcional, valor predeterminado 1) — El número de vídeos que se generarán por prompt.
  • eta (float, opcional, valor predeterminado 0.0) — Corresponde al parámetro eta (η) del artículo DDIM. Solo se aplica a DDIMScheduler y se ignora en otros programadores.
  • generator (torch.Generator o list[torch.Generator], opcional) — Un generador o una lista de generadores de torch para hacer la generación determinista.
  • latents (torch.FloatTensor, opcional) — Latentes ruidosos pregenerados, muestreados de una distribución gaussiana, que se usarán como entradas para la generación de imágenes. Se pueden utilizar para ajustar la misma generación con diferentes prompts. Si no se proporcionan, se generará un tensor de latentes mediante muestreo usando el generator aleatorio suministrado.
  • prompt_embeds (torch.FloatTensor, opcional) — Incrustaciones de texto pregeneradas. Se pueden usar para ajustar fácilmente las entradas de texto, p. ej. ponderación de prompts. Si no se proporcionan, las incrustaciones de texto se generarán a partir del argumento de entrada prompt.
  • negative_prompt_embeds (torch.FloatTensor, opcional) — Incrustaciones de texto negativo pregeneradas. Se pueden usar para ajustar fácilmente las entradas de texto, p. ej. el ponderado del prompt. Si no se proporciona, negative_prompt_embeds se generará a partir del argumento de entrada negative_prompt.
  • output_type (str, opcional, valor predeterminado "pil") — El formato de salida de la imagen generada. Elija entre PIL: PIL.Image.Image o np.array.
  • return_dict (bool, opcional, valor predeterminado True) — Indica si se debe devolver un ~pipelines.stable_diffusion_xl.StableDiffusionXLPipelineOutput en lugar de una tupla simple.
  • attention_kwargs (dict, opcional) — Un diccionario de kwargs que, si se especifica, se pasa al AttentionProcessor definido en self.processor dentro de diffusers.models.attention_processor.
  • callback_on_step_end (Callable, opcional) — Una función que se llama al final de cada paso de desruido durante la inferencia. La función se llama con los siguientes argumentos: callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict). callback_kwargs incluirá una lista de todos los tensores especificados por callback_on_step_end_tensor_inputs.
  • callback_on_step_end_tensor_inputs (list, opcional) — La lista de entradas de tensor para la función callback_on_step_end. Los tensores especificados en la lista se pasarán como argumento callback_kwargs. Solo podrás incluir variables listadas en el atributo ._callback_tensor_inputs de tu clase de pipeline.
  • max_sequence_length (int, por defecto 226) — Longitud máxima de la secuencia en el prompt codificado. Debe ser coherente con self.transformer.config.max_text_seq_length, de lo contrario puede dar lugar a resultados deficientes.

Devuelve

CogVideoXPipelineOutput o tuple

CogVideoXPipelineOutput si return_dict es True, de lo contrario una tuple. Al devolver una tupla, el primer elemento es una lista con las imágenes generadas.

Función invocada al llamar a la pipeline para la generación.

Ejemplos:

>>> import torch
>>> from diffusers import CogVideoXImageToVideoPipeline
>>> from diffusers.utils import export_to_video, load_image

>>> pipe = CogVideoXImageToVideoPipeline.from_pretrained("THUDM/CogVideoX-5b-I2V", torch_dtype=torch.bfloat16)
>>> pipe.to("cuda")

>>> prompt = "An astronaut hatching from an egg, on the surface of the moon, the darkness and depth of space realised in the background. High quality, ultrarealistic detail and breath-taking movie-like camera shot."
>>> image = load_image(
...     "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/astronaut.jpg"
... )
>>> video = pipe(image, prompt, use_dynamic_cfg=True)
>>> export_to_video(video.frames[0], "output.mp4", fps=8)

encode_prompt

< >

( prompt: str | list[str]negative_prompt: str | list[str] | None = Nonedo_classifier_free_guidance: bool = Truenum_videos_per_prompt: int = 1prompt_embeds: typing.Optional[torch.Tensor] = Nonenegative_prompt_embeds: typing.Optional[torch.Tensor] = Nonemax_sequence_length: int = 226device: typing.Optional[torch.device] = Nonedtype: typing.Optional[torch.dtype] = None )

Parámetros

  • prompt (str o list[str], opcional) — prompt a codificar
  • negative_prompt (str o list[str], opcional) — El prompt o prompts que no deben guiar la generación de la imagen. Si no se define, se debe pasar negative_prompt_embeds en su lugar. Se ignora cuando no se usa guía (es decir, se ignora si guidance_scale es menor que 1).
  • do_classifier_free_guidance (bool, opcional, valor predeterminado True) — Si se debe usar classifier free guidance o no.
  • num_videos_per_prompt (int, opcional, valor predeterminado 1) — Número de videos que deben generarse por prompt. Dispositivo torch en el que colocar las incrustaciones resultantes
  • prompt_embeds (torch.Tensor, opcional) — Incrustaciones de texto pregeneradas. Se pueden usar para ajustar fácilmente las entradas de texto, p. ej. ponderación de prompts. Si no se proporcionan, las incrustaciones de texto se generarán a partir del argumento de entrada prompt.
  • negative_prompt_embeds (torch.Tensor, opcional) — Incrustaciones de texto negativo pregeneradas. Se pueden usar para ajustar fácilmente las entradas de texto, p. ej. el ponderado del prompt. Si no se proporciona, negative_prompt_embeds se generará a partir del argumento de entrada negative_prompt.
  • device — (torch.device, opcional): dispositivo de torch
  • dtype — (torch.dtype, opcional): dtype de torch

Codifica el prompt en estados ocultos del codificador de texto.

fuse_qkv_projections

< >

( )

Permite proyecciones QKV fusionadas.

unfuse_qkv_projections

< >

( )

Desactiva la fusión de proyección QKV si está habilitada.

CogVideoXVideoToVideoPipeline

clase diffusers.CogVideoXVideoToVideoPipeline

< >

( tokenizer: T5Tokenizertext_encoder: T5EncoderModelvae: AutoencoderKLCogVideoXtransformer: CogVideoXTransformer3DModelscheduler: diffusers.schedulers.scheduling_ddim_cogvideox.CogVideoXDDIMScheduler | diffusers.schedulers.scheduling_dpm_cogvideox.CogVideoXDPMScheduler )

Parámetros

  • vae (AutoencoderKL) — Modelo de Variational Auto-Encoder (VAE) para codificar y decodificar videos hacia y desde representaciones latentes.
  • text_encoder (T5EncoderModel) — Codificador de texto congelado. CogVideoX utiliza T5; específicamente la variante t5-v1_1-xxl.
  • tokenizer (T5Tokenizer) — Tokenizer de la clase T5Tokenizer.
  • transformer (CogVideoXTransformer3DModel) — Un CogVideoXTransformer3DModel condicionado por texto para desruidar los latentes de video codificados.
  • scheduler (SchedulerMixin) — Un scheduler para usar en combinación con transformer para desruidar los latentes de video codificados.

Pipeline para la generación de video a video usando CogVideoX.

Este modelo hereda de DiffusionPipeline. Consulta la documentación de la clase superior para los métodos genéricos que la biblioteca implementa para todos los pipelines (como la descarga o el guardado, la ejecución en un dispositivo específico, etc.)

__call__

< >

( video: list = Noneprompt: str | list[str] | None = Nonenegative_prompt: str | list[str] | None = Noneheight: int | None = Nonewidth: int | None = Nonenum_inference_steps: int = 50timesteps: list[int] | None = Nonestrength: float = 0.8guidance_scale: float = 6use_dynamic_cfg: bool = Falsenum_videos_per_prompt: int = 1eta: float = 0.0generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonelatents: typing.Optional[torch.FloatTensor] = Noneprompt_embeds: typing.Optional[torch.FloatTensor] = Nonenegative_prompt_embeds: typing.Optional[torch.FloatTensor] = Noneoutput_type: str = 'pil'return_dict: bool = Trueattention_kwargs: dict[str, typing.Any] | None = Nonecallback_on_step_end: typing.Union[typing.Callable[[int, int], NoneType], diffusers.callbacks.PipelineCallback, diffusers.callbacks.MultiPipelineCallbacks, NoneType] = Nonecallback_on_step_end_tensor_inputs: list = ['latents']max_sequence_length: int = 226 ) → CogVideoXPipelineOutput or tuple

Parámetros

  • video (list[PIL.Image.Image]) — El video de entrada sobre el que condicionar la generación. Debe ser una lista de imágenes o fotogramas del video.
  • prompt (str o list[str], opcional) — El prompt o los prompts para guiar la generación de la imagen. Si no se define, hay que pasar prompt_embeds en su lugar.
  • negative_prompt (str o list[str], opcional) — El prompt o prompts que no deben guiar la generación de la imagen. Si no se define, se debe pasar negative_prompt_embeds en su lugar. Se ignora cuando no se usa guía (es decir, se ignora si guidance_scale es menor que 1).
  • height (int, opcional, por defecto self.transformer.config.sample_height * self.vae_scale_factor_spatial) — La altura en píxeles de la imagen generada. Por defecto, se establece en 480 para obtener los mejores resultados.
  • width (int, opcional, valor predeterminado self.transformer.config.sample_height * self.vae_scale_factor_spatial) — El ancho en píxeles de la imagen generada. Por defecto, se establece en 720 para obtener los mejores resultados.
  • num_inference_steps (int, opcional, valor predeterminado 50) — El número de pasos de desruido. Más pasos de desruido suelen conducir a una imagen de mayor calidad a costa de una inferencia más lenta.
  • timesteps (list[int], opcional) — Pasos de tiempo personalizados para usar en el proceso de desruido con programadores que admiten un argumento timesteps en su método set_timesteps. Si no se define, se usará el comportamiento predeterminado cuando se pase num_inference_steps. Debe estar en orden descendente.
  • strength (float, opcional, valor predeterminado 0.8) — Un valor de strength más alto produce más diferencias entre el video original y el video generado.
  • guidance_scale (float, opcional, valor predeterminado 7.0) — Escala de guía definida en Classifier-Free Diffusion Guidance. guidance_scale se define como w de la ecuación 2 del Imagen Paper. La escala de guía se habilita estableciendo guidance_scale > 1. Una escala de guía más alta fomenta la generación de imágenes estrechamente vinculadas al prompt de texto, generalmente a costa de una menor calidad de imagen.
  • use_dynamic_cfg (bool, opcional, valor predeterminado False) — Si es True, ajusta dinámicamente la escala de guía durante la inferencia.
  • num_videos_per_prompt (int, opcional, valor predeterminado 1) — El número de vídeos que se generarán por prompt.
  • eta (float, opcional, valor predeterminado 0.0) — Corresponde al parámetro eta (η) del artículo DDIM. Solo se aplica a DDIMScheduler y se ignora en otros programadores.
  • generator (torch.Generator o list[torch.Generator], opcional) — Un generador o una lista de generadores de torch para hacer la generación determinista.
  • latents (torch.FloatTensor, opcional) — Latentes ruidosos pregenerados, muestreados de una distribución gaussiana, que se usarán como entradas para la generación de imágenes. Se pueden utilizar para ajustar la misma generación con diferentes prompts. Si no se proporcionan, se generará un tensor de latentes mediante muestreo usando el generator aleatorio suministrado.
  • prompt_embeds (torch.FloatTensor, opcional) — Incrustaciones de texto pregeneradas. Se pueden usar para ajustar fácilmente las entradas de texto, p. ej. ponderación de prompts. Si no se proporcionan, las incrustaciones de texto se generarán a partir del argumento de entrada prompt.
  • negative_prompt_embeds (torch.FloatTensor, opcional) — Incrustaciones de texto negativo pregeneradas. Se pueden usar para ajustar fácilmente las entradas de texto, p. ej. el ponderado del prompt. Si no se proporciona, negative_prompt_embeds se generará a partir del argumento de entrada negative_prompt.
  • output_type (str, opcional, valor predeterminado "pil") — El formato de salida de la imagen generada. Elija entre PIL: PIL.Image.Image o np.array.
  • return_dict (bool, opcional, valor predeterminado True) — Indica si se debe devolver un ~pipelines.stable_diffusion_xl.StableDiffusionXLPipelineOutput en lugar de una tupla simple.
  • attention_kwargs (dict, opcional) — Un diccionario de kwargs que, si se especifica, se pasa al AttentionProcessor definido en self.processor dentro de diffusers.models.attention_processor.
  • callback_on_step_end (Callable, opcional) — Una función que se llama al final de cada paso de desruido durante la inferencia. La función se llama con los siguientes argumentos: callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict). callback_kwargs incluirá una lista de todos los tensores especificados por callback_on_step_end_tensor_inputs.
  • callback_on_step_end_tensor_inputs (list, opcional) — La lista de entradas de tensor para la función callback_on_step_end. Los tensores especificados en la lista se pasarán como argumento callback_kwargs. Solo podrás incluir variables listadas en el atributo ._callback_tensor_inputs de tu clase de pipeline.
  • max_sequence_length (int, por defecto 226) — Longitud máxima de la secuencia en el prompt codificado. Debe ser coherente con self.transformer.config.max_text_seq_length, de lo contrario puede dar lugar a resultados deficientes.

Devuelve

CogVideoXPipelineOutput o tuple

CogVideoXPipelineOutput si return_dict es True, de lo contrario una tuple. Al devolver una tupla, el primer elemento es una lista con las imágenes generadas.

Función invocada al llamar a la pipeline para la generación.

Ejemplos:

>>> import torch
>>> from diffusers import CogVideoXDPMScheduler, CogVideoXVideoToVideoPipeline
>>> from diffusers.utils import export_to_video, load_video

>>> # Models: "THUDM/CogVideoX-2b" or "THUDM/CogVideoX-5b"
>>> pipe = CogVideoXVideoToVideoPipeline.from_pretrained("THUDM/CogVideoX-5b", torch_dtype=torch.bfloat16)
>>> pipe.to("cuda")
>>> pipe.scheduler = CogVideoXDPMScheduler.from_config(pipe.scheduler.config)

>>> input_video = load_video(
...     "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/hiker.mp4"
... )
>>> prompt = (
...     "An astronaut stands triumphantly at the peak of a towering mountain. Panorama of rugged peaks and "
...     "valleys. Very futuristic vibe and animated aesthetic. Highlights of purple and golden colors in "
...     "the scene. The sky is looks like an animated/cartoonish dream of galaxies, nebulae, stars, planets, "
...     "moons, but the remainder of the scene is mostly realistic."
... )

>>> video = pipe(
...     video=input_video, prompt=prompt, strength=0.8, guidance_scale=6, num_inference_steps=50
... ).frames[0]
>>> export_to_video(video, "output.mp4", fps=8)

encode_prompt

< >

( prompt: str | list[str]negative_prompt: str | list[str] | None = Nonedo_classifier_free_guidance: bool = Truenum_videos_per_prompt: int = 1prompt_embeds: typing.Optional[torch.Tensor] = Nonenegative_prompt_embeds: typing.Optional[torch.Tensor] = Nonemax_sequence_length: int = 226device: typing.Optional[torch.device] = Nonedtype: typing.Optional[torch.dtype] = None )

Parámetros

  • prompt (str o list[str], opcional) — prompt a codificar
  • negative_prompt (str o list[str], opcional) — El prompt o prompts que no deben guiar la generación de la imagen. Si no se define, se debe pasar negative_prompt_embeds en su lugar. Se ignora cuando no se usa guía (es decir, se ignora si guidance_scale es menor que 1).
  • do_classifier_free_guidance (bool, opcional, valor predeterminado True) — Si se debe usar classifier free guidance o no.
  • num_videos_per_prompt (int, opcional, valor predeterminado 1) — Número de videos que deben generarse por prompt. Dispositivo torch en el que colocar las incrustaciones resultantes
  • prompt_embeds (torch.Tensor, opcional) — Incrustaciones de texto pregeneradas. Se pueden usar para ajustar fácilmente las entradas de texto, p. ej. ponderación de prompts. Si no se proporcionan, las incrustaciones de texto se generarán a partir del argumento de entrada prompt.
  • negative_prompt_embeds (torch.Tensor, opcional) — Incrustaciones de texto negativo pregeneradas. Se pueden usar para ajustar fácilmente las entradas de texto, p. ej. el ponderado del prompt. Si no se proporciona, negative_prompt_embeds se generará a partir del argumento de entrada negative_prompt.
  • device — (torch.device, opcional): dispositivo de torch
  • dtype — (torch.dtype, opcional): dtype de torch

Codifica el prompt en estados ocultos del codificador de texto.

fuse_qkv_projections

< >

( )

Permite proyecciones QKV fusionadas.

unfuse_qkv_projections

< >

( )

Desactiva la fusión de proyección QKV si está habilitada.

CogVideoXFunControlPipeline

clase diffusers.CogVideoXFunControlPipeline

< >

( tokenizer: T5Tokenizertext_encoder: T5EncoderModelvae: AutoencoderKLCogVideoXtransformer: CogVideoXTransformer3DModelscheduler: KarrasDiffusionSchedulers )

Parámetros

  • vae (AutoencoderKL) — Modelo de Variational Auto-Encoder (VAE) para codificar y decodificar videos hacia y desde representaciones latentes.
  • text_encoder (T5EncoderModel) — Codificador de texto congelado. CogVideoX utiliza T5; específicamente la variante t5-v1_1-xxl.
  • tokenizer (T5Tokenizer) — Tokenizer de la clase T5Tokenizer.
  • transformer (CogVideoXTransformer3DModel) — Un CogVideoXTransformer3DModel condicionado por texto para desruidar los latentes de video codificados.
  • scheduler (SchedulerMixin) — Un scheduler para usar en combinación con transformer para desruidar los latentes de video codificados.

Pipeline para la generación controlada de texto a video usando CogVideoX Fun.

Este modelo hereda de DiffusionPipeline. Consulta la documentación de la clase superior para los métodos genéricos que la biblioteca implementa para todos los pipelines (como la descarga o el guardado, la ejecución en un dispositivo específico, etc.)

__call__

< >

( prompt: str | list[str] | None = Nonenegative_prompt: str | list[str] | None = Nonecontrol_video: list[PIL.Image.Image] | None = Noneheight: int | None = Nonewidth: int | None = Nonenum_inference_steps: int = 50timesteps: list[int] | None = Noneguidance_scale: float = 6use_dynamic_cfg: bool = Falsenum_videos_per_prompt: int = 1eta: float = 0.0generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonelatents: typing.Optional[torch.Tensor] = Nonecontrol_video_latents: typing.Optional[torch.Tensor] = Noneprompt_embeds: typing.Optional[torch.Tensor] = Nonenegative_prompt_embeds: typing.Optional[torch.Tensor] = Noneoutput_type: str = 'pil'return_dict: bool = Trueattention_kwargs: dict[str, typing.Any] | None = Nonecallback_on_step_end: typing.Union[typing.Callable[[int, int], NoneType], diffusers.callbacks.PipelineCallback, diffusers.callbacks.MultiPipelineCallbacks, NoneType] = Nonecallback_on_step_end_tensor_inputs: list = ['latents']max_sequence_length: int = 226 ) → CogVideoXPipelineOutput or tuple

Parámetros

  • prompt (str o list[str], opcional) — El prompt o los prompts para guiar la generación de la imagen. Si no se define, hay que pasar prompt_embeds en su lugar.
  • negative_prompt (str o list[str], opcional) — El prompt o prompts que no deben guiar la generación de la imagen. Si no se define, se debe pasar negative_prompt_embeds en su lugar. Se ignora cuando no se usa guía (es decir, se ignora si guidance_scale es menor que 1).
  • control_video (list[PIL.Image.Image]) — El video de control sobre el que condicionar la generación. Debe ser una lista de imágenes o fotogramas del video. Si no se proporciona, control_video_latents debe proporcionarse.
  • height (int, opcional, por defecto self.transformer.config.sample_height * self.vae_scale_factor_spatial) — La altura en píxeles de la imagen generada. Por defecto, se establece en 480 para obtener los mejores resultados.
  • width (int, opcional, valor predeterminado self.transformer.config.sample_height * self.vae_scale_factor_spatial) — El ancho en píxeles de la imagen generada. Por defecto, se establece en 720 para obtener los mejores resultados.
  • num_inference_steps (int, opcional, valor predeterminado 50) — El número de pasos de desruido. Más pasos de desruido suelen conducir a una imagen de mayor calidad a costa de una inferencia más lenta.
  • timesteps (list[int], opcional) — Pasos de tiempo personalizados para usar en el proceso de desruido con programadores que admiten un argumento timesteps en su método set_timesteps. Si no se define, se usará el comportamiento predeterminado cuando se pase num_inference_steps. Debe estar en orden descendente.
  • guidance_scale (float, opcional, valor predeterminado 6.0) — Escala de guía definida en Classifier-Free Diffusion Guidance. guidance_scale se define como w de la ecuación 2 del Imagen Paper. La escala de guía se habilita estableciendo guidance_scale > 1. Una escala de guía más alta fomenta la generación de imágenes estrechamente vinculadas al prompt de texto, generalmente a costa de una menor calidad de imagen.
  • use_dynamic_cfg (bool, opcional, valor predeterminado False) — Si es True, ajusta dinámicamente la escala de guía durante la inferencia.
  • num_videos_per_prompt (int, opcional, valor predeterminado 1) — El número de vídeos que se generarán por prompt.
  • eta (float, opcional, valor predeterminado 0.0) — Corresponde al parámetro eta (η) del artículo DDIM. Solo se aplica a DDIMScheduler y se ignora en otros programadores.
  • generator (torch.Generator o list[torch.Generator], opcional) — Un generador o una lista de generadores de torch para hacer la generación determinista.
  • latents (torch.Tensor, opcional) — Latentes ruidosos pregenerados, muestreados de una distribución gaussiana, que se usarán como entradas para la generación de video. Se pueden utilizar para ajustar la misma generación con diferentes prompts. Si no se proporcionan, se generará un tensor de latentes mediante muestreo usando el generator aleatorio suministrado.
  • control_video_latents (torch.Tensor, opcional) — Latentes de control pregenerados, muestreados de una distribución gaussiana, que se utilizarán como entradas para la generación de video controlada. Si no se proporcionan, se debe proporcionar control_video.
  • prompt_embeds (torch.Tensor, opcional) — Incrustaciones de texto pregeneradas. Se pueden usar para ajustar fácilmente las entradas de texto, p. ej. ponderación de prompts. Si no se proporcionan, las incrustaciones de texto se generarán a partir del argumento de entrada prompt.
  • negative_prompt_embeds (torch.Tensor, opcional) — Incrustaciones de texto negativo pregeneradas. Se pueden usar para ajustar fácilmente las entradas de texto, p. ej. el ponderado del prompt. Si no se proporciona, negative_prompt_embeds se generará a partir del argumento de entrada negative_prompt.
  • output_type (str, opcional, valor predeterminado "pil") — El formato de salida de la imagen generada. Elija entre PIL: PIL.Image.Image o np.array.
  • return_dict (bool, opcional, valor predeterminado True) — Indica si se debe devolver un ~pipelines.stable_diffusion_xl.StableDiffusionXLPipelineOutput en lugar de una tupla simple.
  • attention_kwargs (dict, opcional) — Un diccionario de kwargs que, si se especifica, se pasa al AttentionProcessor definido en self.processor dentro de diffusers.models.attention_processor.
  • callback_on_step_end (Callable, opcional) — Una función que se llama al final de cada paso de desruido durante la inferencia. La función se llama con los siguientes argumentos: callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict). callback_kwargs incluirá una lista de todos los tensores especificados por callback_on_step_end_tensor_inputs.
  • callback_on_step_end_tensor_inputs (list, opcional) — La lista de entradas de tensor para la función callback_on_step_end. Los tensores especificados en la lista se pasarán como argumento callback_kwargs. Solo podrás incluir variables listadas en el atributo ._callback_tensor_inputs de tu clase de pipeline.
  • max_sequence_length (int, por defecto 226) — Longitud máxima de la secuencia en el prompt codificado. Debe ser coherente con self.transformer.config.max_text_seq_length, de lo contrario puede dar lugar a resultados deficientes.

Devuelve

CogVideoXPipelineOutput o tuple

CogVideoXPipelineOutput si return_dict es True, de lo contrario una tuple. Al devolver una tupla, el primer elemento es una lista con las imágenes generadas.

Función invocada al llamar a la pipeline para la generación.

Ejemplos:

>>> import torch
>>> from diffusers import CogVideoXFunControlPipeline, DDIMScheduler
>>> from diffusers.utils import export_to_video, load_video

>>> pipe = CogVideoXFunControlPipeline.from_pretrained(
...     "alibaba-pai/CogVideoX-Fun-V1.1-5b-Pose", torch_dtype=torch.bfloat16
... )
>>> pipe.scheduler = DDIMScheduler.from_config(pipe.scheduler.config)
>>> pipe.to("cuda")

>>> control_video = load_video(
...     "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/hiker.mp4"
... )
>>> prompt = (
...     "An astronaut stands triumphantly at the peak of a towering mountain. Panorama of rugged peaks and "
...     "valleys. Very futuristic vibe and animated aesthetic. Highlights of purple and golden colors in "
...     "the scene. The sky is looks like an animated/cartoonish dream of galaxies, nebulae, stars, planets, "
...     "moons, but the remainder of the scene is mostly realistic."
... )

>>> video = pipe(prompt=prompt, control_video=control_video).frames[0]
>>> export_to_video(video, "output.mp4", fps=8)

encode_prompt

< >

( prompt: str | list[str]negative_prompt: str | list[str] | None = Nonedo_classifier_free_guidance: bool = Truenum_videos_per_prompt: int = 1prompt_embeds: typing.Optional[torch.Tensor] = Nonenegative_prompt_embeds: typing.Optional[torch.Tensor] = Nonemax_sequence_length: int = 226device: typing.Optional[torch.device] = Nonedtype: typing.Optional[torch.dtype] = None )

Parámetros

  • prompt (str o list[str], opcional) — prompt a codificar
  • negative_prompt (str o list[str], opcional) — El prompt o prompts que no deben guiar la generación de la imagen. Si no se define, se debe pasar negative_prompt_embeds en su lugar. Se ignora cuando no se usa guía (es decir, se ignora si guidance_scale es menor que 1).
  • do_classifier_free_guidance (bool, opcional, valor predeterminado True) — Si se debe usar classifier free guidance o no.
  • num_videos_per_prompt (int, opcional, valor predeterminado 1) — Número de videos que deben generarse por prompt. Dispositivo torch en el que colocar las incrustaciones resultantes
  • prompt_embeds (torch.Tensor, opcional) — Incrustaciones de texto pregeneradas. Se pueden usar para ajustar fácilmente las entradas de texto, p. ej. ponderación de prompts. Si no se proporcionan, las incrustaciones de texto se generarán a partir del argumento de entrada prompt.
  • negative_prompt_embeds (torch.Tensor, opcional) — Incrustaciones de texto negativo pregeneradas. Se pueden usar para ajustar fácilmente las entradas de texto, p. ej. el ponderado del prompt. Si no se proporciona, negative_prompt_embeds se generará a partir del argumento de entrada negative_prompt.
  • device — (torch.device, opcional): dispositivo de torch
  • dtype — (torch.dtype, opcional): dtype de torch

Codifica el prompt en estados ocultos del codificador de texto.

fuse_qkv_projections

< >

( )

Permite proyecciones QKV fusionadas.

unfuse_qkv_projections

< >

( )

Desactiva la fusión de proyección QKV si está habilitada.

CogVideoXPipelineOutput

clase diffusers.pipelines.cogvideo.pipeline_output.CogVideoXPipelineOutput

< >

( frames: Tensor )

Parámetros

  • frames (torch.Tensor, np.ndarray o list[list[PIL.Image.Image]]) — lista de salidas de video. Puede ser una lista anidada de longitud batch_size, donde cada sublista contiene secuencias de imágenes PIL desruidas de longitud num_frames. También puede ser un array de NumPy o un tensor de Torch de forma (batch_size, num_frames, channels, height, width).

Clase de salida para las pipelines de CogVideo.

Update on GitHub