# ConsistencyDecoderScheduler

Этот планировщик является частью `ConsistencyDecoderPipeline` и был представлен в [DALL-E 3](https://openai.com/dall-e-3).

Исходный код можно найти в [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)
```

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_consistency_decoder.py#L80)

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

num_train_timesteps (`int`, *необязательный*, по умолчанию `1024`) : Количество шагов диффузии для обучения модели.

sigma_data (`float`, *необязательный*, по умолчанию `0.5`) : Стандартное отклонение распределения данных. Используется для вычисления коэффициентов масштабирования пропуска и вывода.

Планировщик для согласованного декодера, используемого в конвейерах Stable Diffusion.

Этот планировщик реализует двухшаговый процесс денуазинга с использованием моделей согласованности для декодирования латентных представлений в изображения.

Эта модель наследуется от [SchedulerMixin](/docs/diffusers/main/ru/api/schedulers/overview#diffusers.SchedulerMixin) и [ConfigMixin](/docs/diffusers/main/ru/api/configuration#diffusers.ConfigMixin). Общие методы, которые библиотека реализует для всех планировщиков, такие как загрузка и сохранение, описаны в документации суперкласса.

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

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

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_consistency_decoder.py#L148)

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

sample (`torch.Tensor`) : Входной образец.

timestep (`int`, *необязательный*) : Текущий шаг в цепочке диффузии.

**Возвращает:** `torch.Tensor`

Масштабированный входной образец.

Обеспечивает совместимость с планировщиками, которым необходимо масштабировать входную модель денуазинга в зависимости от текущего шага.

#### шаг[[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)
```

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_consistency_decoder.py#L165)

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

model_output (`torch.Tensor`) : Прямой вывод из обученной диффузионной модели.

timestep (`float` или `torch.Tensor`) : Текущий шаг (timestep) в цепочке диффузии.

sample (`torch.Tensor`) : Текущая инстанция сэмпла, созданная процессом диффузии.

generator (`torch.Generator`, *необязательный*) : Генератор случайных чисел для воспроизводимости.

return_dict (`bool`, *необязательный*, по умолчанию `True`) : Возвращать ли `ConsistencyDecoderSchedulerOutput` или `tuple`.

**Возвращает:** `ConsistencyDecoderSchedulerOutput` или `tuple`

Если `return_dict` равно `True`, возвращается `ConsistencyDecoderSchedulerOutput`, иначе возвращается кортеж, первым элементом которого является тензор выборки.

Предскажите образец из предыдущего шага времени, обращая SDE. Эта функция распространяет процесс диффузии от выходов обученной модели (чаще всего — предсказанного шума).

