Buckets:
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 com um codificador de texto Qwen3, um condicionador de texto T5-token e o 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[[diffusers.AnimaModularPipeline]]
diffusers.AnimaModularPipeline[[diffusers.AnimaModularPipeline]]
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)
Uma ModularPipeline para Anima.
AnimaAutoBlocks[[diffusers.AnimaAutoBlocks]]
diffusers.AnimaAutoBlocks[[diffusers.AnimaAutoBlocks]]
diffusers.AnimaAutoBlocks()
Pipeline Modular Auto para geração de texto para imagem e imagem para imagem usando Anima.
Fluxos de trabalho suportados:
text2image: requerpromptimg2img: requerimage,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]]
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)
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]]
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)
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.