Buckets:

mishig's picture
|
download
raw
6.47 kB
#
# Licenciado sob a Apache License, Versão 2.0 (a "Licença");
# você não pode usar este arquivo, exceto em conformidade com a Licença.
# Você pode obter uma cópia da Licença em
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# A menos que exigido pela lei aplicável ou acordado por escrito, o software
# distribuído sob a Licença é distribuído em uma base "COMO ESTÁ",
# SEM GARANTIAS OU CONDIÇÕES DE QUALQUER TIPO, expressas ou implícitas.
# Consulte a Licença para o idioma específico que rege as permissões e
# limitações sob a Licença. -->
# Anima
Anima é um modelo de texto para imagem que reutiliza o [CosmosTransformer3DModel](/docs/diffusers/main/pt/api/models/cosmos_transformer3d#diffusers.CosmosTransformer3DModel) com um codificador de texto Qwen3, um condicionador de texto T5-token e o VAE [AutoencoderKLQwenImage](/docs/diffusers/main/pt/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)
```
[Fonte](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/anima/modular_pipeline.py#L19)
Uma ModularPipeline para Anima.
## AnimaAutoBlocks[[diffusers.AnimaAutoBlocks]]
#### diffusers.AnimaAutoBlocks[[diffusers.AnimaAutoBlocks]]
```python
diffusers.AnimaAutoBlocks()
```
[Fonte](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/anima/modular_blocks_anima.py#L312)
Pipeline Modular Auto para geração de texto para imagem e imagem para imagem usando Anima.
Fluxos de trabalho suportados:
- `text2image`: requer `prompt`
- `img2img`: requer `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`)
Inputs: prompt (`str`): O prompt ou prompts para orientar a geração de imagem. negative_prompt (`str`, *opcional*): O prompt ou prompts que não devem orientar a geração de imagem. max_sequence_length (`int`, *opcional*, padrão 512): Comprimento máximo da sequência para a codificação do prompt. image (`Image | list`, *opcional*): Imagem(ns) de referência para o desruidamento. Pode ser uma única imagem ou uma lista de imagens. height (`int`, *opcional*): A altura em pixels da imagem gerada. width (`int`, *opcional*): A largura em pixels da imagem gerada. generator (`Generator`, *opcional*): Gerador do Torch para geração determinística. num_images_per_prompt (`int`, *opcional*, padrão 1): O número de imagens a serem geradas por prompt. image_latents (`Tensor`, *opcional*): latents de imagem usados para orientar a geração de imagem. Podem ser gerados a partir da etapa vae_encoder. num_inference_steps (`int`): O número de etapas de desruidamento. sigmas (`list`, *opcional*): Sigmas personalizados para o processo de desruidamento. strength (`float`, *opcional*, padrão 0.9): Força para img2img/inpainting. latents (`Tensor`): Latents ruidosos pré-gerados para a geração de imagem. **denoiser_input_fields (`None`, *opcional*): As entradas condicionais do modelo para o desruidador Anima. output_type (`str`, *opcional*, padrão pil): Formato de saída: 'pil', 'np', 'pt'.
Saídas: imagens (`list`): Imagens geradas.
## 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)
```
[Fonte](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/condition_embedders/condition_embedder_anima.py#L229)
Condicionador de texto usado pelo Anima para mapear os estados ocultos do Qwen3 e os ids de tokens do T5 para embeddings de texto do Cosmos.
Anima reutiliza o Cosmos Predict2 DiT. O único módulo de condicionamento específico do modelo é este adaptador de LLM, que realiza cross-attention a partir dos embeddings de tokens T5 aprendidos para os estados ocultos do codificador de texto Qwen3 antes do loop de difusão. `target_dim` é a dimensão de saída do condicionador e deve corresponder ao `text_embed_dim` do 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)
```
[Fonte](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 do codificador de texto Qwen3 para condicionar.
target_input_ids (`torch.Tensor` de forma `(batch_size, target_sequence_length)`) : ids de tokens T5 usados como tokens de consulta aprendidos.
target_attention_mask (`torch.Tensor`, *opcional*) : Máscara de atenção para os ids de tokens T5 de destino.
source_attention_mask (`torch.Tensor`, *opcional*) : Máscara de atenção para os estados ocultos de origem do Qwen3.
**Retorna:** `torch.Tensor`
Embeddings de condicionamento de texto para o transformer Cosmos.

Xet Storage Details

Size:
6.47 kB
·
Xet hash:
3d68fe9cf61b9f038a91e3016a67921261058133f751f6d808381f3833746266

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