Diffusers documentation

Flux2Transformer2DModel

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

Flux2Transformer2DModel

Flux2의 이미지형 데이터용 Transformer 모델입니다.

Flux2Transformer2DModel

클래스 diffusers.Flux2Transformer2DModel

< >

( patch_size: int = 1in_channels: int = 128out_channels: int | None = Nonenum_layers: int = 8num_single_layers: int = 48attention_head_dim: int = 128num_attention_heads: int = 48joint_attention_dim: int = 15360timestep_guidance_channels: int = 256mlp_ratio: float = 3.0axes_dims_rope: tuple = (32, 32, 32, 32)rope_theta: int = 2000eps: float = 1e-06guidance_embeds: bool = True )

매개변수

  • patch_size (int, 기본값 1) — 입력 데이터를 작은 패치로 변환하기 위한 패치 크기.
  • in_channels (int, 기본값 128) — 입력의 채널 수입니다.
  • out_channels (int, 선택 사항, 기본값 None) — 출력의 채널 수입니다. 지정하지 않으면 기본값으로 in_channels가 사용됩니다.
  • num_layers (int, 기본값 8) — 사용할 dual stream DiT 블록의 레이어 수입니다.
  • num_single_layers (int, 기본값 48) — 사용할 단일 스트림 DiT 블록의 레이어 수입니다.
  • attention_head_dim (int, 기본값 128) — 각 attention head에 사용할 차원의 수입니다.
  • num_attention_heads (int, 기본값 48) — 사용할 attention head의 수입니다.
  • joint_attention_dim (int, 기본값 15360) — encoder_hidden_states의 임베딩/채널 차원)에 사용할 joint attention의 차원 수입니다.
  • pooled_projection_dim (int, 기본값 768) — 풀링된 투영에 사용할 차원의 수입니다.
  • guidance_embeds (bool, 기본값 True) — 모델의 guidance-distilled 변형에 guidance embeddings를 사용할지 여부입니다.
  • axes_dims_rope (tuple[int], 기본값 (32, 32, 32, 32)) — 회전 위치 임베딩에 사용할 차원입니다.

Flux 2에 소개된 Transformer 모델.

참고: https://blackforestlabs.ai/announcing-black-forest-labs/

forward

< >

( hidden_states: Tensorencoder_hidden_states: Tensor = Nonetimestep: LongTensor = Noneimg_ids: Tensor = Nonetxt_ids: Tensor = Noneguidance: Tensor = Nonejoint_attention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = Truekv_cache: Flux2KVCache | None = Nonekv_cache_mode: str | None = Nonenum_ref_tokens: int = 0ref_fixed_timestep: float = 0.0 )

매개변수

  • hidden_states (torch.Tensor, shape (batch_size, image_sequence_length, in_channels)) — 입력 hidden_states.
  • encoder_hidden_states (torch.Tensor, shape (batch_size, text_sequence_length, joint_attention_dim)) — 사용할 조건 임베딩(프롬프트와 같은 입력 조건에서 계산된 임베딩).
  • timestep (torch.LongTensor) — 디노이징 단계를 나타내는 데 사용됩니다.
  • img_ids (torch.Tensor) — 회전 위치 임베딩을 계산하는 데 사용되는 이미지 위치 id입니다.
  • txt_ids (torch.Tensor) — 회전 위치 임베딩을 계산하는 데 사용되는 텍스트 위치 id입니다.
  • guidance (torch.Tensor, optional) — Guidance scale embedding used for guidance-distilled variants of the model.
  • joint_attention_kwargs (dict, 선택 사항) — 지정된 경우 diffusers.models.attention_processor의 self.processor에서 정의된 AttentionProcessor로 전달되는 kwargs 사전입니다.
  • return_dict (bool, 선택 사항, 기본값 True) — 단순 tuple 대신 ~models.transformer_2d.Transformer2DModelOutput를 반환할지 여부.
  • kv_cache (Flux2KVCache, 선택 사항) — 참조 이미지 토큰을 위한 KV 캐시입니다. kv_cache_mode가 “extract”인 경우 새로운 캐시가 생성되어 반환됩니다. “cached”인 경우, 제공된 캐시가 attention 과정에서 참조 K/V를 주입하는 데 사용됩니다.
  • kv_cache_mode (str, 선택 사항) — “extract”(ref 토큰을 사용하는 첫 단계) 또는 “cached”(캐시된 ref K/V를 사용하는 후속 단계) 중 하나입니다. None인 경우 KV 캐싱 없이 표준 forward pass를 수행합니다.
  • num_ref_tokens (int, 기본값 0) — hidden_states 앞에 추가되는 참조 이미지 토큰의 수(kv_cache_mode="extract"일 때만 사용).
  • ref_fixed_timestep (float, 기본값 0.0) — 참조 토큰 변조를 위한 고정 타임스텝(kv_cache_mode="extract"일 때만 사용).

Flux2Transformer2DModel의 forward 메서드입니다.

Flux2Transformer2DModelOutput

class diffusers.models.transformers.transformer_flux2.Flux2Transformer2DModelOutput

< >

( sample: torch.Tensorkv_cache: Flux2KVCache | None = None )

매개변수

  • sample (torch.Tensor, shape (batch_size, num_channels, height, width)) — encoder_hidden_states 입력에 조건부인 히든 스테이트 출력입니다.
  • kv_cache (Flux2KVCache, 선택 사항) — 참조 이미지 토큰에 대한 채워진 KV 캐시입니다. kv_cache_mode="extract"인 경우에만 반환됩니다.

Flux2Transformer2DModel의 출력입니다.

Update on GitHub