Buckets:

mishig's picture
|
download
raw
6.61 kB
#
# Bajo licencia Apache License, versión 2.0 (la "Licencia");
# no puede usar este archivo excepto en cumplimiento de la Licencia.
# Puede obtener una copia de la Licencia en
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# A menos que la ley aplicable lo exija o se haya acordado por escrito, el software
# distribuido bajo la Licencia se distribuye en una base "TAL CUAL",
# SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ya sea expresa o implícita.
# Consulte la Licencia para el lenguaje específico que rige los permisos y
# limitaciones de la Licencia. -->
# Anima
Anima es un modelo de texto a imagen que reutiliza el [CosmosTransformer3DModel](/docs/diffusers/main/es/api/models/cosmos_transformer3d#diffusers.CosmosTransformer3DModel) con un codificador de texto Qwen3, un condicionador de texto T5-token y el VAE [AutoencoderKLQwenImage](/docs/diffusers/main/es/api/models/autoencoderkl_qwenimage#diffusers.AutoencoderKLQwenImage).
```python
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[[diffusers.AnimaModularPipeline]]
#### diffusers.AnimaModularPipeline[[diffusers.AnimaModularPipeline]]
```python
diffusers.AnimaModularPipeline(blocks: diffusers.modular_pipelines.modular_pipeline.ModularPipelineBlocks | None = None, pretrained_model_name_or_path: str | os.PathLike | None = None, components_manager: diffusers.modular_pipelines.components_manager.ComponentsManager | None = None, collection: str | None = None, workflow: str | None = None, modular_config_dict: dict[str, typing.Any] | None = None, config_dict: dict[str, typing.Any] | None = None, **kwargs)
```
[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/anima/modular_pipeline.py#L19)
Un ModularPipeline para Anima.
## AnimaAutoBlocks[[diffusers.AnimaAutoBlocks]]
#### diffusers.AnimaAutoBlocks[[diffusers.AnimaAutoBlocks]]
```python
diffusers.AnimaAutoBlocks()
```
[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/anima/modular_blocks_anima.py#L312)
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: imágenes (`list`): Imágenes generadas.
## AnimaTextConditioner[[diffusers.AnimaTextConditioner]]
#### diffusers.AnimaTextConditioner[[diffusers.AnimaTextConditioner]]
```python
diffusers.AnimaTextConditioner(source_dim: int = 1024, target_dim: int = 1024, model_dim: int = 1024, num_layers: int = 6, num_attention_heads: int = 16, mlp_ratio: float = 4.0, target_vocab_size: int = 32128, use_self_attention: bool = True, use_layer_norm: bool = False, min_sequence_length: int = 512)
```
[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/condition_embedders/condition_embedder_anima.py#L229)
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[[diffusers.AnimaTextConditioner.forward]]
```python
forward(source_hidden_states: Tensor, target_input_ids: Tensor, target_attention_mask: typing.Optional[torch.Tensor] = None, source_attention_mask: typing.Optional[torch.Tensor] = None)
```
[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/condition_embedders/condition_embedder_anima.py#L285)
**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 origen de Qwen3.
**Devuelve:** `torch.Tensor`
Embeddings de condicionamiento de texto para el transformer de Cosmos.

Xet Storage Details

Size:
6.61 kB
·
Xet hash:
0b9d094f220a70c6ab197fea893e413cdb61feea3d4316b5dc8292d14ee8eae0

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.