# BriaFibo2Transformer2DModel

Однопоточный трансформер [Bria](https://huggingface.co/briaai) Fibo 2.0, построенный на блоке Z-Image. Текстовое условие (text conditioning) поступает от Qwen3-VL двумя способами: Perceiver resampler преобразует скрытые состояния текстового энкодера в gist-токены, которые разделяют поток с изображенческими токенами, а пять блоков добавляют в свой набор слоев Qwen3-VL шлюзовое кросс-внимание (gated cross-attention). Для редактирования латенты изображений, подлежащих правке, добавляются в поток как чистые токены, при этом каждое изображение размещается на собственной плоскости RoPE.

## BriaFibo2Transformer2DModel[[diffusers.BriaFibo2Transformer2DModel]]

#### diffusers.BriaFibo2Transformer2DModel[[diffusers.BriaFibo2Transformer2DModel]]

```python
diffusers.BriaFibo2Transformer2DModel(in_channels: int = 32, patch_size: int = 2, dim: int = 3584, n_layers: int = 44, n_refiner_layers: int = 2, n_heads: int = 28, norm_eps: float = 1e-05, cap_feat_dim: int = 7680, injection_layer_ids: tuple[int, ...] = (6, 14, 22, 30, 38), perceiver_num_layers: int = 2, min_num_gist_tokens: int = 256, max_num_gist_tokens: int = 512, gist_step: int = 64, gist_min_text_len: int = 256, gist_max_text_len: int = 2048, rope_theta: float = 256.0, t_scale: float = 1000.0, axes_dims: tuple[int, ...] = (32, 48, 48), axes_lens: tuple[int, ...] = (2048, 512, 512))
```

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_bria_fibo2.py#L430)

#### forward[[diffusers.BriaFibo2Transformer2DModel.forward]]

```python
forward(hidden_states: Tensor, timestep: Tensor, encoder_hidden_states: Tensor, encoder_attention_mask: typing.Optional[torch.Tensor] = None, context_latents: list[torch.Tensor] | None = None, return_dict: bool = True)
```

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_bria_fibo2.py#L500)

**Параметры:**

hidden_states (`torch.Tensor` формы `(batch_size, in_channels, height, width)`) : Нормализованные VAE-латенты изображения, которое генерируется.

timestep (`torch.Tensor` формы `(batch_size,)`) : Уровень шума в диапазоне `[0, 1]`: 1 — чистый шум, 0 — чистое изображение.

encoder_hidden_states (`torch.Tensor` формы `(batch_size, 1 + len(injection_layer_ids), text_len, cap_feat_dim)`) : Функции текстового кодировщика: сначала пакет Perceiver, затем по одному пакету на каждый блок инъекции.

encoder_attention_mask (`torch.Tensor` формы `(batch_size, text_len)`, *необязательный*) : Булева маска реальных токенов текста для батча промптов, дополненных до одинаковой длины. Оставьте `None`, если дополнения не требуется.

context_latents (`list[torch.Tensor]`, *optional*) : Нормализованные латенты VAE изображений для редактирования, по одному тензору формы `(batch_size, in_channels, height, width)` на изображение, в порядке следования. Каждое изображение может иметь свой размер. Их токены используются как чистые токены для обусловливания генерации и не предсказываются.

return_dict (`bool`, по умолчанию `True`) : следует ли возвращать [Transformer2DModelOutput](/docs/diffusers/main/ru/api/models/cogview3plus_transformer2d#diffusers.models.modeling_outputs.Transformer2DModelOutput) вместо кортежа.

**Возвращает:** [Transformer2DModelOutput](/docs/diffusers/main/ru/api/models/cogview3plus_transformer2d#diffusers.models.modeling_outputs.Transformer2DModelOutput) или `tuple`

Предсказанная скорость, имеющая форму `hidden_states`. Если `return_dict` равно `False`, возвращается кортеж, первым элементом которого является этот тензор.

