# ConsistencyDecoderScheduler

Ce planificateur fait partie du `ConsistencyDecoderPipeline` et a été introduit dans [DALL-E 3](https://openai.com/dall-e-3).

Le code source original peut être trouvé sur [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)
```

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

**Paramètres :**

num_train_timesteps (`int`, *facultatif*, valeur par défaut `1024`) : Le nombre d'étapes de diffusion pour entraîner le modèle.

sigma_data (`float`, *facultatif*, valeur par défaut `0.5`) : L'écart-type de la distribution des données. Utilisé pour calculer les facteurs d'échelle de saut et de sortie.

Un planificateur pour le décodeur de cohérence utilisé dans les pipelines Stable Diffusion.

Ce planificateur met en œuvre un processus de débruitage en deux étapes en utilisant des modèles de cohérence pour décoder les représentations latentes en images.

Ce modèle hérite de [SchedulerMixin](/docs/diffusers/main/fr/api/schedulers/overview#diffusers.SchedulerMixin) et [ConfigMixin](/docs/diffusers/main/fr/api/configuration#diffusers.ConfigMixin). Consultez la documentation de la classe parente pour les méthodes génériques que la bibliothèque implémente pour tous les planificateurs, telles que le chargement et l'enregistrement.

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

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

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

**Paramètres :**

sample (`torch.Tensor`) : L'échantillon d'entrée.

timestep (`int`, *facultatif*) : L'étape temporelle actuelle dans la chaîne de diffusion.

**Retourne :** `torch.Tensor`

Un échantillon d'entrée mis à l'échelle.

Assure l'interchangeabilité avec les planificateurs qui doivent mettre à l'échelle l'entrée du modèle de débruitage en fonction de l'étape temporelle actuelle.

#### étape[[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)
```

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

**Paramètres :**

model_output (`torch.Tensor`) : La sortie directe du modèle de diffusion appris.

timestep (`float` ou `torch.Tensor`) : L'étape temporelle actuelle dans la chaîne de diffusion.

sample (`torch.Tensor`) : Une instance actuelle d'un échantillon créé par le processus de diffusion.

generator (`torch.Generator`, *facultatif*) : Un générateur de nombres aléatoires pour la reproductibilité.

return_dict (`bool`, *facultatif*, par défaut `True`) : Indique s'il faut retourner un `ConsistencyDecoderSchedulerOutput` ou un `tuple`.

**Retourne :** `ConsistencyDecoderSchedulerOutput` ou `tuple`

Si `return_dict` est `True`, `ConsistencyDecoderSchedulerOutput` est renvoyé, sinon un tuple est renvoyé dont le premier élément est le tenseur d'échantillon.

Prédit l'échantillon de l'étape temporelle précédente en inversant l'EDS. Cette fonction propage le processus de diffusion à partir des sorties du modèle appris (le plus souvent le bruit prédit).

