Diffusers documentation
Anima
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
< source >( 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
Pipeline modular automático para la generación de texto a imagen e imagen a imagen usando Anima.
Flujos de trabajo admitidos:
text2image: requierepromptimg2img: requiereimage,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 >( 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 >( 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.Tensorde forma(batch_size, source_sequence_length, source_dim)) — Estados ocultos del codificador de texto de Qwen3 sobre los que condicionar. - target_input_ids (
torch.Tensorde 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.