Buckets:
| # QwenImage21Transformer2DModel | |
| Qwen-Image 2.1 tarafından kullanılan tek akışlı transformer. Metin ve görüntü latentleri tek bir diziyi paylaşır ve tek bir ortak `modulation` projeksiyonu tüm bloklara besleme sağlar. | |
| 2.1, önceki QwenImage dönüştürücülerinden iki davranışla ayrılır: | |
| - **Blok-nedensel dikkat** — dikkat, `(q_idx >= kv_idx) or same_image_block` koşulunu takip eder; böylece birleşik dizi nedensel olurken her görüntü bloğu içsel olarak çift yönlü kalır. `QwenImage21AttnProcessor`, bunu her önek segmenti için tek bir dikkat çağrısı olarak uygular ve varsayılandır. `QwenImage21FlexAttnProcessor`, bunu `BlockMask` tarafından yönlendirilen tek bir `flex_attention` çağrısı olarak uygular ve model derlendikten sonra daha hızlıdır. İkisi de aynı sonuçları üretir. | |
| - `causal_condition` — metin ve koşul-görüntü jetonları, örneklenen zaman adımından değil, `t = 0` değerinden modüle edilir. Aktivasyonları gürültü azaltma adımından bağımsız olduğundan, bu önekin anahtar ve değerleri `kv_cache` argümanı aracılığıyla adımlar arasında önbelleğe alınabilir. | |
| Bunu şu şekilde yükleyin: | |
| ```python | |
| import torch | |
| from diffusers import QwenImage21Transformer2DModel | |
| transformer = QwenImage21Transformer2DModel.from_pretrained( | |
| "Qwen/Qwen-Image-2.1", subfolder="transformer", dtype=torch.bfloat16 | |
| ) | |
| ``` | |
| ## QwenImage21Transformer2DModel[[diffusers.QwenImage21Transformer2DModel]] | |
| #### diffusers.QwenImage21Transformer2DModel[[diffusers.QwenImage21Transformer2DModel]] | |
| ```python | |
| diffusers.QwenImage21Transformer2DModel(patch_size: int = 1, in_channels: int = 64, out_channels: int | None = 64, num_layers: int = 32, attention_head_dim: int = 128, num_attention_heads: int = 32, context_in_dim: int = 4096, mlp_ratio: int = 3, axes_dims_rope: tuple = (16, 56, 56), eps: float = 1e-06, causal_condition: bool = True) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_qwenimage21.py#L716) | |
| **Parametreler:** | |
| patch_size (`int`, varsayılan `1`) : Kanal boyutuna katlanan latent yamanın kenar uzunluğu. 2.1, yamalanmamış latentleri kullanır. | |
| in_channels (`int`, varsayılan `64`) : Girdinin gizli kanalları. | |
| out_channels (`int`, *isteğe bağlı*, varsayılan `64`) : Çıktının gizli kanalları. `in_channels` değerine geri düşer. | |
| num_layers (`int`, varsayılan `32`) : Tek akış bloğu sayısı. | |
| attention_head_dim (`int`, varsayılan `128`) : Dikkat başı başına kanal sayısı. | |
| num_attention_heads (`int`, varsayılan `32`) : Dikkat başlarının sayısı. | |
| context_in_dim (`int`, varsayılan `4096`) : `encoder_hidden_states`'nin kanal boyutu. | |
| mlp_ratio (`int`, varsayılan `3`) : Feed-forward genişletme faktörü. | |
| axes_dims_rope (`tuple[int]`, varsayılan `(16, 56, 56)`) : Kare, yükseklik ve genişlik eksenleri için döner boyutlar. | |
| eps (`float`, varsayılan `1e-6`) : Norm katmanları için epsilon. | |
| causal_condition (`bool`, varsayılan `True`) : `t = 0`'dan itibaren metin ve koşul-görsel jetonlarını modüle eder. KV önbellekleme için gereklidir. | |
| Qwen-Image 2.1 tarafından kullanılan tek akışlı Transformer. | |
| Metin ve görüntü latentleri tek bir diziyi paylaşır: koşul-görüntü jetonları, görme-dil kodlayıcısının onlar için ayırdığı konumlarda metin akışına yerleştirilir ve hedef görüntünün jetonları eklenir. Tek bir ortak `modulation` projeksiyonu tüm bloklara besleme sağlar, bu nedenle blokların kendi modülasyon parametreleri yoktur. | |
| 2.1'i ayırt eden iki davranış vardır: | |
| - **Blok-nedensel dikkat** — dikkat, `(q_idx >= kv_idx) or same_image_block` koşulunu takip eder; böylece dizi nedensel olurken her görüntü bloğu içsel olarak çift yönlü kalır. `flex` dikkat arka ucu, verimli tek geçişli dikkat sağlar; bu arka uç yoksa model, her bloğu ayrı ayrı işleyen kesin çok geçişli SDPA ön doldurma kullanır. | |
| - `causal_condition` — metin ve koşul-görüntü jetonları, örneklenen zaman adımından değil `t = 0` değerinden modüle edilir; bu da aktivasyonlarını zaman adımından bağımsız hale getirir ve böylece gürültü azaltma adımları arasında önbelleğe alınabilir. | |
| #### build_token_metadata[[diffusers.QwenImage21Transformer2DModel.build_token_metadata]] | |
| ```python | |
| build_token_metadata(image_pad_mask: Tensor, img_shapes: list) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_qwenimage21.py#L822) | |
| **Parametreler:** | |
| image_pad_mask (`torch.Tensor`) : `(seq_len,)` bool, görüntü-token konumlarında `True`. | |
| img_shapes (`list[tuple[int, int, int]]`) : Latent tokenlerde görüntü başına `(frame, height, width)`, koşul görüntüleri önce ve hedef görüntü en sonda. | |
| **Dönüş:** `tuple[torch.Tensor, torch.Tensor]` | |
| `image_ids` `(seq_len,)` metin konumlarında `-1` ve her görüntü bloğu için benzersiz bir kimlik içerir; `target_token_mask` `(seq_len,)` ise hedef görüntünün jetonlarını işaretler. | |
| Birleşik dizideki her token'ı, ait olduğu görüntü bloğuyla etiketleyin. | |
| Blok sınırları, `image_pad_mask` içindeki `True` dizilerinden değil, `img_shapes` içindeki token sayılarından gelir: aralarında metin olmadan yan yana gelen iki koşul görüntüsü tek bir dizi oluşturur ancak ayrı bloklar olarak kalmalıdır, aksi takdirde birbirlerine çift yönlü dikkat (attention) uygularlar. | |
| #### forward[[diffusers.QwenImage21Transformer2DModel.forward]] | |
| ```python | |
| forward(hidden_states: Tensor, encoder_hidden_states: Tensor, timestep: Tensor, img_shapes: list, img_mask: Tensor, encoder_hidden_states_mask: typing.Optional[torch.Tensor] = None, attention_kwargs: dict[str, typing.Any] | None = None, kv_cache: diffusers.models.transformers.transformer_qwenimage21.QwenImage21KVCache | None = None, kv_cache_mode: str | None = None, return_dict: bool = True) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_qwenimage21.py#L862) | |
| **Parametreler:** | |
| hidden_states (`torch.Tensor`, şekli `(batch_size, image_sequence_length, in_channels)`) : Paketlenmiş latentler, önce koşul görüntüleri ve en sonda hedef görüntü. | |
| encoder_hidden_states (`torch.Tensor`, şekli `(batch_size, text_sequence_length, context_in_dim)`) : Görsel-dil kodlayıcısından gelen metin gömme değerleri. | |
| timestep (`torch.Tensor`) : `[0, 1]` aralığına ölçeklenmiş mevcut gürültü azaltma adımı. | |
| img_shapes (`list[list[tuple[int, int, int]]]`) : Her örnek için, latent token cinsinden `(frame, height, width)` değerlerinden oluşan liste; koşul görüntüleri önce, hedef görüntü en sonda gelir. Tüm örnekler aynı yerleşimi paylaşmalıdır. | |
| img_mask (`torch.Tensor`, şekli `(batch_size, vlm_sequence_length)`) : Görüntü-dil kodlayıcısının görüntü yuvalarında `True`, her biri `2x2` latent token grubunu temsil eder. | |
| encoder_hidden_states_mask (`torch.Tensor`, *isteğe bağlı*) : `(batch_size, text_sequence_length)` geçerli metin jetonlarını işaretleyen bool. Dolgu konumları dikkat (attention) işleminden hariç tutulur. | |
| kv_cache (`QwenImage21KVCache`, *isteğe bağlı*) : Önbellek kapsayıcısı. Önek KV önbelleklemeyi etkinleştirmek için `kv_cache_mode` ile birlikte iletin. | |
| kv_cache_mode (`str`, *isteğe bağlı*) : Önbelleği ön doldurmak için (ilk gürültü azaltma adımı) `"extract"`, ondan çözmek için (sonraki adımlar) `"cached"`. `causal_condition=True` gerektirir. | |
| attention_kwargs (`dict`, *isteğe bağlı*) : Dikkat işleyicilerine (attention processors) iletilir ve LoRA katmanları için `scale` değerini taşır. | |
| return_dict (`bool`, *isteğe bağlı*, varsayılan `True`) : Düz bir tuple yerine [Transformer2DModelOutput](/docs/diffusers/main/tr/api/models/cogview3plus_transformer2d#diffusers.models.modeling_outputs.Transformer2DModelOutput) döndürülecek mi? | |
| **Dönüş:** [Transformer2DModelOutput](/docs/diffusers/main/tr/api/models/cogview3plus_transformer2d#diffusers.models.modeling_outputs.Transformer2DModelOutput) veya `tuple` | |
| `return_dict` True ise [Transformer2DModelOutput](/docs/diffusers/main/tr/api/models/cogview3plus_transformer2d#diffusers.models.modeling_outputs.Transformer2DModelOutput), aksi halde ilk öğesi gürültüsü giderilmiş latentler olan düz bir `tuple`. | |
| ## Transformer2DModelOutput[[diffusers.models.modeling_outputs.Transformer2DModelOutput]] | |
| #### diffusers.models.modeling_outputs.Transformer2DModelOutput[[diffusers.models.modeling_outputs.Transformer2DModelOutput]] | |
| ```python | |
| diffusers.models.modeling_outputs.Transformer2DModelOutput(sample: torch.Tensor) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/modeling_outputs.py#L21) | |
| **Parametreler:** | |
| sample (`torch.Tensor`, şekli `(batch_size, num_channels, height, width)` veya [Transformer2DModel](/docs/diffusers/main/tr/api/models/transformer2d#diffusers.Transformer2DModel) ayrık (discrete) ise `(batch size, num_vector_embeds - 1, num_latent_pixels)`) : `encoder_hidden_states` girdisine koşullu gizli durum (hidden states) çıktısı. Ayrık (discrete) ise, gürültüsü olmayan (unnoised) gizli (latent) pikseller için olasılık dağılımlarını döndürür. | |
| [Transformer2DModel](/docs/diffusers/main/tr/api/models/transformer2d#diffusers.Transformer2DModel)'nin çıktısı. | |
Xet Storage Details
- Size:
- 9.49 kB
- Xet hash:
- 2952d537b71d170c0f5adfb1893698ce2a31935d63cf77e55ad242cc4472bf5b
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.