# ConsistencyDecoderScheduler

Este programador forma parte de `ConsistencyDecoderPipeline` y fue introducido en [DALL-E 3](https://openai.com/dall-e-3).

El código original se puede encontrar en [openai/consistency_models](https://github.com/openai/consistency_models).

## ConsistencyDecoderScheduler[[diffusers.schedulers.ConsistencyDecoderScheduler]]

#### diffusers.schedulers.ConsistencyDecoderScheduler[[diffusers.schedulers.ConsistencyDecoderScheduler]]

```python
diffusers.schedulers.ConsistencyDecoderScheduler(num_train_timesteps: int = 1024, sigma_data: float = 0.5)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_consistency_decoder.py#L80)

**Parámetros:**

num_train_timesteps (`int`, *opcional*, valor predeterminado `1024`) : El número de pasos de difusión para entrenar el modelo.

sigma_data (`float`, *opcional*, valor predeterminado `0.5`) : La desviación estándar de la distribución de los datos. Se utiliza para calcular los factores de escala de salto y de salida.

Un programador para el decodificador de consistencia utilizado en las tuberías de Stable Diffusion.

Este programador implementa un proceso de desruido de dos pasos utilizando modelos de consistencia para decodificar representaciones latentes en imágenes.

Este modelo hereda de [SchedulerMixin](/docs/diffusers/main/es/api/schedulers/overview#diffusers.SchedulerMixin) y [ConfigMixin](/docs/diffusers/main/es/api/configuration#diffusers.ConfigMixin). Consulta la documentación de la clase superior para los métodos genéricos que la biblioteca implementa para todos los programadores, como la carga y el guardado.

#### scale_model_input[[diffusers.schedulers.ConsistencyDecoderScheduler.scale_model_input]]

```python
scale_model_input(sample: Tensor, timestep: int | None = None)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_consistency_decoder.py#L148)

**Parámetros:**

sample (`torch.Tensor`) : La muestra de entrada.

timestep (`int`, *opcional*) : El paso temporal actual en la cadena de difusión.

**Devuelve:** `torch.Tensor`

Una muestra de entrada escalada.

Garantiza la interoperabilidad con los programadores que necesitan escalar la entrada del modelo de desruido en función del paso temporal actual.

#### paso[[diffusers.schedulers.ConsistencyDecoderScheduler.step]]

```python
step(model_output: Tensor, timestep: typing.Union[float, torch.Tensor], sample: Tensor, generator: typing.Optional[torch.Generator] = None, return_dict: bool = True)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_consistency_decoder.py#L165)

**Parámetros:**

model_output (`torch.Tensor`) : La salida directa del modelo de difusión aprendido.

timestep (`float` o `torch.Tensor`) : El paso temporal actual en la cadena de difusión.

sample (`torch.Tensor`) : Una instancia actual de una muestra creada por el proceso de difusión.

generator (`torch.Generator`, *opcional*) : Un generador de números aleatorios para la reproducibilidad.

return_dict (`bool`, *opcional*, por defecto `True`) : Si se devuelve un `ConsistencyDecoderSchedulerOutput` o un `tuple`.

**Devuelve:** `ConsistencyDecoderSchedulerOutput` o `tuple`

Si `return_dict` es `True`, se devuelve `ConsistencyDecoderSchedulerOutput`; en caso contrario, se devuelve una tupla cuyo primer elemento es el tensor de la muestra.

Predice la muestra del paso de tiempo anterior invirtiendo el SDE. Esta función propaga el proceso de difusión desde las salidas del modelo aprendido (con mayor frecuencia, el ruido predicho).

