Diffusers documentation

Anima

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Anima

Anima — это модель text-to-image, которая переиспользует CosmosTransformer3DModel с текстовым энкодером Qwen3, текстовым кондиционером T5-token и 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

< >

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

Модульный ModularPipeline для Anima.

AnimaAutoBlocks

класс diffusers.AnimaAutoBlocks

< >

( )

Auto Модульный конвейер для генерации изображений из текста и преобразования изображений с использованием Anima.

Поддерживаемые рабочие процессы:

  • text2image: требуется prompt
  • img2img: требуется image, prompt

Компоненты: text_encoder (Qwen3Model) tokenizer (Qwen2Tokenizer) t5_tokenizer (T5Tokenizer) guider (ClassifierFreeGuidance) vae (AutoencoderKLQwenImage) image_processor (VaeImageProcessor) text_conditioner (AnimaTextConditioner) transformer (CosmosTransformer3DModel) scheduler (FlowMatchEulerDiscreteScheduler)

Входные данные: prompt (str): Промпт или промпты для управления генерацией изображения. negative_prompt (str, необязательный): Промпт или промпты, которые не должны влиять на генерацию изображения. max_sequence_length (int, необязательный, по умолчанию 512): Максимальная длина последовательности для кодирования промпта. image (Image | list, необязательный): Референсное изображение или изображения для процесса денойзинга. Может быть одним изображением или списком изображений. height (int, необязательный): Высота генерируемого изображения в пикселях. width (int, необязательный): Ширина генерируемого изображения в пикселях. generator (Generator, необязательный): Генератор PyTorch для детерминированной генерации. num_images_per_prompt (int, необязательный, по умолчанию 1): Количество изображений, генерируемых на один промпт. image_latents (Tensor, необязательный): Латенты изображения, используемые для управления генерацией. Могут быть получены на шаге vae_encoder. num_inference_steps (int): Количество шагов денойзинга. sigmas (list, необязательный): Пользовательские сигмы для процесса денойзинга. strength (float, необязательный, по умолчанию 0.9): Сила для img2img/inpainting. latents (Tensor): Предварительно сгенерированные шумовые латенты для генерации изображения. *denoiser_input_fields (None,необязательный): Условные входные данные для денойзера Anima. output_type (str,необязательный*, по умолчанию pil): Формат вывода: ‘pil’, ‘np’, ‘pt’.

Вывод: images (list): Сгенерированные изображения.

AnimaTextConditioner

класс 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 )

Текстовый кондиционер, используемый Anima для отображения скрытых состояний Qwen3 и идентификаторов токенов T5 в текстовые эмбеддинги Cosmos.

Anima повторно использует Cosmos Predict2 DiT. Единственным модулем специфичного для модели обусловливания является этот LLM-адаптер, который выполняет кросс-внимание от обученных эмбеддингов токенов T5 к скрытым состояниям текстового энкодера Qwen3 перед циклом диффузии. target_dim — это размерность выхода обусловливателя, и она должна совпадать с text_embed_dim трансформера.

forward

< >

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

Параметры

  • source_hidden_states (torch.Tensor формы (batch_size, source_sequence_length, source_dim)) — скрытые состояния текстового энкодера Qwen3, используемые для условного формирования.
  • target_input_ids (torch.Tensor формы (batch_size, target_sequence_length)) — идентификаторы токенов T5, используемые в качестве обучаемых токенов запроса.
  • target_attention_mask (torch.Tensor, необязательный) — Маска внимания для целевых идентификаторов токенов T5.
  • source_attention_mask (torch.Tensor, необязательный) — Маска внимания для скрытых состояний исходного Qwen3.

Возвращает

torch.Tensor

Встраивания для текстового обусловливания трансформера Cosmos.

Update on GitHub