# BriaFibo2Transformer2DModel

El transformer de flujo único de Fibo 2.0 de [Bria](https://huggingface.co/briaai), construido sobre el bloque Z-Image. Su condicionamiento de texto proviene de Qwen3-VL de dos maneras: un re-muestreador Perceptor convierte los estados ocultos del codificador de texto en tokens de resumen que comparten el flujo con los tokens de imagen, y cinco bloques añaden una atención cruzada con puerta a su propio conjunto de capas de Qwen3-VL. Para editar, los latentes de las imágenes a editar se unen al flujo como tokens limpios, cada imagen en su propio plano 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 = (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 = (32, 48, 48), axes_lens: tuple = (2048, 512, 512))
```

[Fuente](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)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_bria_fibo2.py#L500)

**Parámetros:**

hidden_states (`torch.Tensor` de forma `(batch_size, in_channels, height, width)`) : Latentes normalizados del VAE de la imagen que se está generando.

timestep (`torch.Tensor` de forma `(batch_size,)`) : Nivel de ruido en `[0, 1]`: 1 es ruido puro, 0 es una imagen limpia.

encoder_hidden_states (`torch.Tensor` de forma `(batch_size, 1 + len(injection_layer_ids), text_len, cap_feat_dim)`) : Características del codificador de texto: primero el paquete del Perceiver y luego un paquete por bloque de inyección.

encoder_attention_mask (`torch.Tensor` de forma `(batch_size, text_len)`, *opcional*) : Máscara booleana de los tokens de texto reales, para un lote de prompts rellenados hasta la misma longitud. Déjalo como `None` cuando no se haya rellenado nada.

context_latents (`list[torch.Tensor]`, *opcional*) : Latentes normalizados del VAE de las imágenes a editar, un tensor de forma `(batch_size, in_channels, height, width)` por imagen, en orden. Cada imagen puede tener su propio tamaño. Sus tokens condicionan la generación como tokens limpios y no se predicen.

return_dict (`bool`, por defecto `True`) : Si se debe devolver un [Transformer2DModelOutput](/docs/diffusers/main/es/api/models/cogview3plus_transformer2d#diffusers.models.modeling_outputs.Transformer2DModelOutput) en lugar de una tupla.

**Devuelve:** [Transformer2DModelOutput](/docs/diffusers/main/es/api/models/cogview3plus_transformer2d#diffusers.models.modeling_outputs.Transformer2DModelOutput) o `tuple`

La velocidad predicha, con la forma de `hidden_states`. Si `return_dict` es `False`, una tupla cuyo primer elemento es ese tensor.

