Diffusers documentation

Anima

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
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