Diffusers documentation
Anima
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
< 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 pour Anima.
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écessitepromptimg2img: nécessiteimage,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 >( 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 >( 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.Tensorde forme(batch_size, source_sequence_length, source_dim)) — États cachés de l'encodeur texte Qwen3 sur lesquels conditionner. - target_input_ids (
torch.Tensorde 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.