Diffusers documentation

Anima

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Anima

Anima es un modelo de texto a imagen que reutiliza el CosmosTransformer3DModel con un codificador de texto Qwen3, un condicionador de texto T5-token y el VAE AutoencoderKLQwenImage.

import torch
from diffusers import ModularPipeline

pipe = ModularPipeline.from_pretrained("circlestone-labs/Anima-Base-v1.0-Diffusers")
pipe.load_components(dtype=torch.bfloat16)
pipe.to("cuda")  # or "mps", "xpu", "cpu"

image = pipe(prompt="masterpiece, best quality, 1girl, solo, city lights").images[0]

AnimaModularPipeline

clase diffusers.AnimaModularPipeline

< >

( blocks: diffusers.modular_pipelines.modular_pipeline.ModularPipelineBlocks | None = Nonepretrained_model_name_or_path: str | os.PathLike | None = Nonecomponents_manager: diffusers.modular_pipelines.components_manager.ComponentsManager | None = Nonecollection: str | None = Noneworkflow: str | None = Nonemodular_config_dict: dict[str, typing.Any] | None = Noneconfig_dict: dict[str, typing.Any] | None = None**kwargs )

Un ModularPipeline para Anima.

AnimaAutoBlocks

clase diffusers.AnimaAutoBlocks

< >

( )

Pipeline modular automático para la generación de texto a imagen e imagen a imagen usando Anima.

Flujos de trabajo admitidos:

  • text2image: requiere prompt
  • img2img: requiere image, prompt

Componentes: text_encoder (Qwen3Model) tokenizer (Qwen2Tokenizer) t5_tokenizer (T5Tokenizer) guider (ClassifierFreeGuidance) vae (AutoencoderKLQwenImage) image_processor (VaeImageProcessor) text_conditioner (AnimaTextConditioner) transformer (CosmosTransformer3DModel) scheduler (FlowMatchEulerDiscreteScheduler)

Entradas: prompt (str): El prompt o prompts para guiar la generación de imágenes. negative_prompt (str, opcional): El prompt o prompts que no deben guiar la generación de imágenes. max_sequence_length (int, opcional, valor predeterminado 512): Longitud máxima de secuencia para la codificación del prompt. image (Image | list, opcional): Imagen(es) de referencia para el desruido. Puede ser una sola imagen o una lista de imágenes. height (int, opcional): La altura en píxeles de la imagen generada. width (int, opcional): El ancho en píxeles de la imagen generada. generator (Generator, opcional): Generador de Torch para una generación determinista. num_images_per_prompt (int, opcional, valor predeterminado 1): El número de imágenes a generar por prompt. image_latents (Tensor, opcional): Latentes de imagen utilizados para guiar la generación de imágenes. Pueden generarse desde el paso vae_encoder. num_inference_steps (int): El número de pasos de desruido. sigmas (list, opcional): Sigmas personalizados para el proceso de desruido. strength (float, opcional, valor predeterminado 0.9): Fuerza para img2img/inpainting. latents (Tensor): Latentes ruidosos pregenerados para la generación de imágenes. *denoiser_input_fields (None,opcional): Entradas del modelo condicional para el desruidos de Anima. output_type (str,opcional*, valor predeterminado pil): Formato de salida: ‘pil’, ‘np’, ‘pt’.

Salidas: images (list): Imágenes generadas.

AnimaTextConditioner

clase diffusers.AnimaTextConditioner

< >

( source_dim: int = 1024target_dim: int = 1024model_dim: int = 1024num_layers: int = 6num_attention_heads: int = 16mlp_ratio: float = 4.0target_vocab_size: int = 32128use_self_attention: bool = Trueuse_layer_norm: bool = Falsemin_sequence_length: int = 512 )

Condicionador de texto utilizado por Anima para mapear los estados ocultos de Qwen3 y los ids de tokens de T5 a las incrustaciones de texto de Cosmos.

Anima reutiliza el DiT de Cosmos Predict2. El único módulo de condicionamiento específico del modelo es este adaptador de LLM, que realiza una atención cruzada desde los embeddings de tokens de T5 aprendidos hacia los estados ocultos del codificador de texto Qwen3 antes del bucle de difusión. target_dim es la dimensión de salida del condicionador y debe coincidir con text_embed_dim del transformer.

forward

< >

( source_hidden_states: Tensortarget_input_ids: Tensortarget_attention_mask: typing.Optional[torch.Tensor] = Nonesource_attention_mask: typing.Optional[torch.Tensor] = None ) → torch.Tensor

Parámetros

  • source_hidden_states (torch.Tensor de forma (batch_size, source_sequence_length, source_dim)) — Estados ocultos del codificador de texto de Qwen3 sobre los que condicionar.
  • target_input_ids (torch.Tensor de forma (batch_size, target_sequence_length)) — ids de tokens de T5 utilizados como tokens de consulta aprendidos.
  • target_attention_mask (torch.Tensor, opcional) — Máscara de atención para los ids de tokens objetivo de T5.
  • source_attention_mask (torch.Tensor, opcional) — Máscara de atención para los estados ocultos de Qwen3 de origen.

Devuelve

torch.Tensor

Embeddings de condicionamiento de texto para el transformer de Cosmos.

Update on GitHub