Diffusers documentation
Anima
Anima
Anima는 Qwen3 텍스트 인코더, T5-token 텍스트 컨디셔너, AutoencoderKLQwenImage VAE와 함께 CosmosTransformer3DModel을 재사용하는 텍스트-이미지 생성 모델입니다.
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 )
Anima용 ModularPipeline.
AnimaAutoBlocks
Anima를 사용하여 텍스트-이미지 및 이미지-이미지 생성을 위한 Auto Modular 파이프라인.
지원되는 워크플로:
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 generator입니다.
num_images_per_prompt (int, 선택 사항, 기본값 1):
프롬프트당 생성할 이미지의 수입니다.
image_latents (Tensor, 선택 사항):
이미지 생성을 안내하는 데 사용되는 image latents입니다. vae_encoder 단계에서 생성할 수 있습니다.
num_inference_steps (int):
디노이징 단계의 수입니다.
sigmas (list, 선택 사항):
디노이징 프로세스를 위한 사용자 지정 sigmas입니다.
strength (float, 선택 사항, 기본값 0.9):
img2img/inpainting의 강도입니다.
latents (Tensor):
이미지 생성을 위한 사전 생성된 노이즈 latents입니다.
*denoiser_input_fields (None,선택 사항):
Anima denoiser의 조건부 모델 입력입니다.
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의 토큰 ID를 Cosmos 텍스트 임베딩으로 매핑하는 데 사용하는 텍스트 컨디셔너입니다.
Anima는 Cosmos Predict2 DiT를 재사용합니다. 모델에 특화된 유일한 조건화 모듈은 이 LLM 어댑터이며, diffusion 루프 전에 학습된 T5 토큰 임베딩에서 Qwen3 텍스트 인코더의 hidden states로 cross-attention을 수행합니다. target_dim은 conditioner의 출력 차원이며 transformer의 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, shape(batch_size, source_sequence_length, source_dim)) — 조건부로 사용할 Qwen3 텍스트 인코더의 hidden states입니다. - target_input_ids (
torch.Tensor, shape(batch_size, target_sequence_length)) — 학습된 query token으로 사용되는 T5 token id입니다. - target_attention_mask (
torch.Tensor, 선택 사항) — 타겟 T5 토큰 ID에 대한 어텐션 마스크입니다. - source_attention_mask (
torch.Tensor, 선택 사항) — 소스 Qwen3 hidden states에 대한 attention mask입니다.
반환값
torch.Tensor
Cosmos transformer의 텍스트 조건화 임베딩.