Buckets:

mishig's picture
|
download
raw
8.95 kB
#
# Лицензия Apache License, Version 2.0 («Лицензия»);
# вы можете использовать этот файл только в соответствии с Лицензией.
# Вы можете получить копию Лицензии по адресу
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Если это не требуется применимым законодательством или не оговорено письменно, программное
# распространяется по Лицензии на условиях «КАК ЕСТЬ»,
# БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ ИЛИ УСЛОВИЙ, прямо указанных или подразумеваемых.
# См. Лицензию для получения конкретных условий, регулирующих разрешения и
# ограничениями Лицензии. -->
# Anima
Anima — это модель text-to-image, которая переиспользует [CosmosTransformer3DModel](/docs/diffusers/main/ru/api/models/cosmos_transformer3d#diffusers.CosmosTransformer3DModel) с текстовым энкодером Qwen3, текстовым кондиционером T5-token и VAE [AutoencoderKLQwenImage](/docs/diffusers/main/ru/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)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/anima/modular_pipeline.py#L19)
Модульный ModularPipeline для Anima.
## AnimaAutoBlocks[[diffusers.AnimaAutoBlocks]]
#### diffusers.AnimaAutoBlocks[[diffusers.AnimaAutoBlocks]]
```python
diffusers.AnimaAutoBlocks()
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/anima/modular_blocks_anima.py#L312)
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`, *необязательный*): Генератор Torch для детерминированной генерации. 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'.
Вывод: изображения (`list`): сгенерированные изображения.
## 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)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/condition_embedders/condition_embedder_anima.py#L229)
Текстовый кондиционер, используемый Anima для отображения скрытых состояний Qwen3 и идентификаторов токенов T5 в текстовые эмбеддинги Cosmos.
Anima повторно использует Cosmos Predict2 DiT. Единственным модулем специфичного для модели обусловливания является этот LLM-адаптер, который выполняет кросс-внимание от обученных эмбеддингов токенов T5 к скрытым состояниям текстового энкодера Qwen3 перед циклом диффузии. `target_dim` — это размерность выхода обусловливателя, и она должна совпадать с `text_embed_dim` трансформера.
#### 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)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/condition_embedders/condition_embedder_anima.py#L285)
**Параметры:**
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.

Xet Storage Details

Size:
8.95 kB
·
Xet hash:
6154abfd88353b59f68906edc073942b07d3ae2353b5d92c61c7470d36e7c756

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