Diffusers documentation

Anima

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

Anima

Anima est un modèle de texte vers image qui réutilise le CosmosTransformer3DModel avec un encodeur de texte Qwen3, un conditionneur de texte T5-token et le 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

classe 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 pour Anima.

AnimaAutoBlocks

classe diffusers.AnimaAutoBlocks

< >

( )

Pipeline Auto modulaire pour la génération d'images à partir de texte et d'images à partir d'images à l'aide d'Anima.

Workflows pris en charge :

  • text2image : nécessite prompt
  • img2img : nécessite image, prompt

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

Entrées : prompt (str) : Le prompt ou les prompts pour guider la génération d'image. negative_prompt (str, facultatif) : Le prompt ou les prompts à ne pas utiliser pour guider la génération d'image. max_sequence_length (int, facultatif, par défaut 512) : Longueur de séquence maximale pour l'encodage du prompt. image (Image | list, facultatif) : Image(s) de référence pour le débruitage. Peut être une image unique ou une liste d'images. height (int, facultatif) : La hauteur en pixels de l'image générée. width (int, facultatif) : La largeur en pixels de l'image générée. generator (Generator, facultatif) : Générateur Torch pour une génération déterministe. num_images_per_prompt (int, facultatif, par défaut 1) : Le nombre d'images à générer par prompt. image_latents (Tensor, facultatif) : Latents d'image utilisés pour guider la génération d'image. Peuvent être générés à partir de l'étape vae_encoder. num_inference_steps (int) : Le nombre d'étapes de débruitage. sigmas (list, facultatif) : Sigmas personnalisés pour le processus de débruitage. strength (float, facultatif, par défaut 0.9) : Force pour img2img/inpainting. latents (Tensor) : Latents bruités pré-générés pour la génération d'image. *denoiser_input_fields (None,facultatif) : Les entrées du modèle conditionnel pour le débruiteur Anima. output_type (str,facultatif*, par défaut pil) : Format de sortie : ‘pil’, ‘np’, ‘pt’.

Sorties : images (list) : Images générées.

AnimaTextConditioner

classe 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 )

Conditionneur de texte utilisé par Anima pour mapper les états cachés de Qwen3 et les identifiants de jetons T5 vers les embeddings de texte Cosmos.

Anima réutilise le DiT de Cosmos Predict2. Le seul module de conditionnement spécifique au modèle est cet adaptateur LLM, qui effectue une attention croisée depuis les embeddings de jetons T5 appris vers les états cachés de l’encodeur de texte Qwen3 avant la boucle de diffusion. target_dim est la dimension de sortie du conditionneur et doit correspondre à text_embed_dim du transformeur.

forward

< >

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

Paramètres

  • source_hidden_states (torch.Tensor de forme (batch_size, source_sequence_length, source_dim)) — États cachés de l'encodeur texte Qwen3 sur lesquels conditionner.
  • target_input_ids (torch.Tensor de forme (batch_size, target_sequence_length)) — Identifiants de jetons T5 utilisés comme jetons de requête appris.
  • target_attention_mask (torch.Tensor, facultatif) — Masque d’attention pour les identifiants de jetons T5 cibles.
  • source_attention_mask (torch.Tensor, facultatif) — Masque d'attention pour les états cachés source de Qwen3.

Retourne

torch.Tensor

Embeddings de conditionnement de texte pour le transformer Cosmos.

Update on GitHub