Diffusers documentation
Anima
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
< source >( 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
Auto Модульный конвейер для генерации изображений из текста и преобразования изображений с использованием Anima.
Поддерживаемые рабочие процессы:
text2image: требуетсяpromptimg2img: требуется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 >( 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 >( 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.