Diffusers documentation
Flux2Transformer2DModel
Flux2Transformer2DModel
Flux2의 이미지형 데이터용 Transformer 모델입니다.
Flux2Transformer2DModel
클래스 diffusers.Flux2Transformer2DModel
< source >( 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
< source >( 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
< source >( sample: torch.Tensorkv_cache: Flux2KVCache | None = None )
Flux2Transformer2DModel의 출력입니다.