# PiflowScheduler

`PiflowScheduler` es el programador de pocos pasos de los puntos de control destilados de Kandinsky 6, tanto del modelo de texto/imagen a video y audio como del modelo de superresolución de video, y de los puntos de control destilados de Kandinsky S2V 1.0. Implementa [π-Flow](https://huggingface.co/papers/2510.14974): el transformador predice `n_grid` estimaciones desruidadas por canal latente en un pequeño número de puntos de la cuadrícula, y el programador integra una política sin red entre ellos.

La implementación de referencia se puede encontrar en [Lakonik/LakonLab](https://github.com/Lakonik/LakonLab).

## PiflowScheduler[[diffusers.PiflowScheduler]]

#### diffusers.PiflowScheduler[[diffusers.PiflowScheduler]]

```python
diffusers.PiflowScheduler(num_train_timesteps: int = 1000, shift: float = 5.0, n_grid: int = 10, eps: float = 1e-06, final_step_size_scale: float = 0.5, num_policy_substeps: int = 128)
```

[Fuente](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/schedulers/scheduling_piflow.py#L144)

**Parámetros:**

num_train_timesteps (`int`, *opcional*, valor predeterminado 1000) : Número de pasos de difusión de entrenamiento.

shift (`float`, *opcional*, valor predeterminado 5.0) : Desplazamiento del paso temporal de flow-matching.

n_grid (`int`, *opcional*, valor predeterminado 10) : Número de predicciones en la salida ampliada del modelo.

eps (`float`, *opcional*, valor predeterminado 1e-6) : Paso temporal mínimo y denominador de la política.

final_step_size_scale (`float`, *opcional*, valor predeterminado 0.5) : Tamaño relativo del segmento final de paso en bruto.

num_policy_substeps (`int`, *opcional*, valor predeterminado 128) : Número máximo de subpasos de integración de la política por unidad de paso bruto.

Programador PiFlow de pocos pasos para transformadores de difusión con salida ampliada.

PiFlow evalúa el modelo de desruido en un pequeño número de puntos de la cuadrícula e integra una política sin red entre esas evaluaciones. El programador está diseñado para puntos de control destilados de Kandinsky 6, incluido el modelo principal de video/audios y el modelo de superresolución de video. La salida de su modelo contiene `n_grid` predicciones por canal de muestra.

Este programador hereda de [SchedulerMixin](/docs/diffusers/v0.43.0/es/api/schedulers/overview#diffusers.SchedulerMixin) y [ConfigMixin](/docs/diffusers/v0.43.0/es/api/configuration#diffusers.ConfigMixin). Consulta la documentación de la clase superclase para los métodos genéricos implementados en todos los programadores (carga, guardado, etc.).

#### set_timesteps[[diffusers.PiflowScheduler.set_timesteps]]

```python
set_timesteps(num_inference_steps: int | None = None, device: typing.Union[str, torch.device, NoneType] = None, sigmas: list[float] | None = None, mu: float | None = None, timesteps: list[float] | None = None)
```

[Fuente](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/schedulers/scheduling_piflow.py#L224)

**Parámetros:**

num_inference_steps (`int`) : Número de evaluaciones del modelo.

device (`str` o `torch.device`, *opcional*) : Dispositivo para la programación.

sigmas (`list[float]`, *opcional*) : Programa de sigma personalizado no compatible.

mu (`float`, *opcional*) : Parámetro de desplazamiento dinámico no compatible.

timesteps (`list[float]`, *opcional*) : Programa de pasos de tiempo personalizado no compatible.

Establece la programación de pasos de tiempo de PiFlow destilado.

#### paso[[diffusers.PiflowScheduler.step]]

```python
step(model_output: FloatTensor, timestep: typing.Union[float, torch.FloatTensor], sample: FloatTensor, return_dict: bool = True)
```

[Fuente](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/schedulers/scheduling_piflow.py#L331)

**Parámetros:**

model_output (*torch.FloatTensor*) : Salida del modelo ampliada que contiene `n_grid` predicciones por canal de muestra.

timestep (*float* o *torch.FloatTensor*) : Paso de tiempo actual del programador.

sample (*torch.FloatTensor*) : Muestra ruidosa actual.

return_dict (*bool*, *opcional*, predeterminado en True) : Si se debe devolver un [*PiflowSchedulerOutput*].

**Devuelve:** [*PiflowSchedulerOutput*] o *tuple*

Muestra actualizada.

Avance un paso integrando la política PiFlow.

## PiflowSchedulerOutput[[diffusers.schedulers.scheduling_piflow.PiflowSchedulerOutput]]

#### diffusers.schedulers.scheduling_piflow.PiflowSchedulerOutput[[diffusers.schedulers.scheduling_piflow.PiflowSchedulerOutput]]

```python
diffusers.schedulers.scheduling_piflow.PiflowSchedulerOutput(prev_sample: Tensor)
```

[Fuente](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/schedulers/scheduling_piflow.py#L30)

**Parámetros:**

prev_sample (`torch.Tensor`) : Muestra calculada en el siguiente punto de la cuadrícula de PiFlow. Debe usarse como la siguiente entrada de desruido.

Clase de salida para la salida de la función `step` del programador.

