Diffusers documentation
Flux3Transformer2DModel
Flux3Transformer2DModel
FLUX.3 kaynaklı, görüntü benzeri veriler için bir Transformer modeli; metinden görüntüye ve görüntüden görüntüye üretim için kullanılır. Üç token modu tek bir ortak diziyi paylaşır: gürültülü görüntü tokenları, VAE kodlanmış referans görüntü tokenları ve metin bağlamı. Her mod önce kendi moduna özgü transformer bloklarından geçer, ardından modlar ortak tek bloklar için birleştirilir ve görüntü tokenları çıktı katmanlarından geçer. Zaman adımları token başınadır: görüntü tokenları akış zaman adımını taşır, referans tokenları ve metin bağlamı ise 0 konumundadır.
import torch
from diffusers import Flux3Transformer2DModel
transformer = Flux3Transformer2DModel.from_pretrained(
"black-forest-labs/flux-3-image-klein-base", subfolder="transformer", dtype=torch.bfloat16
)Flux3Transformer2DModel
sınıf diffusers.Flux3Transformer2DModel
< source >( in_channels: int = 128cond_in_channels: int = 128num_layers: int = 5num_single_layers: int = 28attention_head_dim: int = 128num_attention_heads: int = 24joint_attention_dim: int = 20480timestep_channels: int = 256mlp_ratio: float = 3.0axes_dims_rope: tuple = (32, 32, 32, 32)rope_theta: int = 10000eps: float = 1e-06flow_map: bool = False )
Parametreler
- in_channels (
int, varsayılan128) — Görsel jetonlarının kanal genişliği (paketlenmiş VAE latentleri,latent_channels * 4). - cond_in_channels (
int, varsayılan128) — Referans görüntü jetonlarının kanal genişliği. - num_layers (
int, varsayılan5) — Mod başına dönüştürücü bloklarının sayısı. - num_single_layers (
int, varsayılan28) — Ortak tekil dönüştürücü bloklarının sayısı. - attention_head_dim (
int, varsayılan128) — Her dikkat başlığı için kullanılacak boyut sayısı. - num_attention_heads (
int, varsayılan24) — Kullanılacak dikkat başı sayısı. - joint_attention_dim (
int, varsayılan20480) —encoder_hidden_states'in (yığılmış Qwen3-VL gizli durumları) gömme/kanal boyutu. - timestep_channels (
int, varsayılan256) — Sinüzoidal zaman adımı gömme kanal sayısı. - mlp_ratio (
float, varsayılan3.0) — İleri beslemeli alt blokların genişletme oranı. - axes_dims_rope (
tuple[int], varsayılan(32, 32, 32, 32)) — Döner konumsal gömme (rotary positional embeddings) için(t, h, w, l)konum eksenleri başına kullanılacak boyutlar. - rope_theta (
int, varsayılan10000) — Döner konumsal gömme (rotary positional embeddings) taban frekansı. - eps (
float, varsayılan1e-6) — Katman normlarının ve QK normlarının epsilon değeri. - flow_map (
bool, varsayılanFalse) — Modelin bir akış haritası (adım-distilled) olup olmadığı:target_timestep_embedderekler ve ileri geçiştetarget_timestepgerektirir.
Metinden görüntüye ve görüntüden görüntüye üretim için FLUX.3'te tanıtılan Transformer modeli.
Üç token modu tek bir ortak diziyi paylaşır: gürültülü görüntü tokenları (hidden_states), isteğe bağlı VAE kodlanmış referans görüntü tokenları (image_cond_hidden_states) ve metin bağlamı (encoder_hidden_states). Her mod önce kendi moduna özgü dönüştürücü bloklarından geçer (görüntü modları için mode_blocks, metin bağlamı için txt_mode_blocks), ardından metin bağlamı ve etkin görüntü modları ortak tek bloklar için birleştirilir ve yalnızca görüntü tokenları çıktı katmanlarından geçer. Modülasyon mod başınadır: görüntü tokenları akış zaman adımıyla, referans görüntü tokenları ve metin bağlamı ise 0 zaman adımıyla modüle edilir. Bir akış haritası kontrol noktası (flow_map=True, adım damıtılmış modeller) ek olarak, her gürültü azaltma adımının atladığı zaman adımını gömme olarak kodlar ve bunu her modun modülasyonuna ekler.
forward
< source >( hidden_states: Tensorencoder_hidden_states: Tensortimestep: Tensorimg_ids: Tensortxt_ids: Tensorimage_cond_hidden_states: typing.Optional[torch.Tensor] = Noneimage_cond_ids: typing.Optional[torch.Tensor] = Nonetarget_timestep: typing.Optional[torch.Tensor] = Noneattention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = True )
Parametreler
- hidden_states (
torch.Tensor, şekli(batch_size, image_seq_len, in_channels)) — Gürültülü görüntü latent token'ları. - encoder_hidden_states (
torch.Tensor, şekli(batch_size, text_seq_len, joint_attention_dim)) — Metin bağlam gömme değerleri (yığılmış Qwen3-VL gizli durumları). - timestep (
torch.Tensor, şekli(batch_size,)) — Görsel jetonlarının[0, 1]aralığındaki akış zaman adımı. Referans görsel jetonları ve metin bağlamı0zaman adımında yer alır. - img_ids (
torch.Tensor, şekli(image_seq_len, 4)) — Görsel jetonlarının konum kimlikleri(t, h, w, l); döner konumsal gömme (rotary positional embeddings) için kullanılır ve parti (batch) içindeki tüm örnekler tarafından paylaşılır. - txt_ids (
torch.Tensor, şekli(text_seq_len, 4)) — Metin bağlamı belirteçlerinin konum kimlikleri. - image_cond_hidden_states (
torch.Tensor, şekli(batch_size, cond_seq_len, cond_in_channels), isteğe bağlı) — VAE kodlanmış referans görüntü jetonları (temiz koşullandırma içeriği, görüntüden görüntüye üretim için). - image_cond_ids (
torch.Tensor, şekli(cond_seq_len, 4), isteğe bağlı) — Referans görüntü belirteçlerinin konum kimlikleri.image_cond_hidden_statesile birlikte zorunludur. - target_timestep (
torch.Tensor, şekli(batch_size,), isteğe bağlı) — Mevcut gürültü azaltma adımının atlayacağı[0, 1]aralığındaki akış zaman adımı. Yalnızca bir akış haritası modeli (flow_map=True) tarafından zorunlu tutulur. - attention_kwargs (
dict, isteğe bağlı) — Belirtilirse, bu ileri geçiş için LoRA katmanlarını ölçekleyenscalegirdisine sahip bir kwargs sözlüğü. - return_dict (
bool, isteğe bağlı, varsayılanTrue) — Düz bir tuple yerine~models.transformer_2d.Transformer2DModelOutputdöndürülüp döndürülmemesi.
Flux3Transformer2DModel ileri yöntemi.
Transformer2DModelOutput
sınıf diffusers.models.modeling_outputs.Transformer2DModelOutput
< source >( sample: torch.Tensor )
Parametreler
- sample (
torch.Tensor, şekli(batch_size, num_channels, height, width)veya Transformer2DModel ayrık (discrete) ise(batch size, num_vector_embeds - 1, num_latent_pixels)) —encoder_hidden_statesgirdisine koşullu gizli durum (hidden states) çıktısı. Ayrık (discrete) ise, gürültüsü kaldırılmış (unnoised) gizli (latent) pikseller için olasılık dağıtımlarını döndürür.
Transformer2DModel'nin çıktısı.