Buckets:
| # EDMEulerScheduler | |
| Формулировка Karras для планировщика Euler (алгоритм 2) из статьи [Elucidating the Design Space of Diffusion-Based Generative Models](https://huggingface.co/papers/2206.00364) авторов Karras et al. Это быстрый планировщик, который часто позволяет получать качественные результаты за 20–30 шагов. Планировщик основан на исходной реализации [k-diffusion](https://github.com/crowsonkb/k-diffusion/blob/481677d114f6ea445aa009cf5bd7a9cdee909e47/k_diffusion/sampling.py#L51) от [Katherine Crowson](https://github.com/crowsonkb/). | |
| ## EDMEulerScheduler[[diffusers.EDMEulerScheduler]] | |
| #### diffusers.EDMEulerScheduler[[diffusers.EDMEulerScheduler]] | |
| ```python | |
| diffusers.EDMEulerScheduler(sigma_min: float = 0.002, sigma_max: float = 80.0, sigma_data: float = 0.5, sigma_schedule: typing.Literal['karras', 'exponential'] = 'karras', num_train_timesteps: int = 1000, prediction_type: typing.Literal['epsilon', 'v_prediction'] = 'epsilon', rho: float = 7.0, final_sigmas_type: typing.Literal['zero', 'sigma_min'] = 'zero') | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_edm_euler.py#L49) | |
| **Параметры:** | |
| sigma_min (`float`, *optional*, по умолчанию `0.002`) : Минимальная величина шума в расписании сигм. В статье EDM [1] это значение было установлено в 0.002; разумный диапазон — [0, 10]. | |
| sigma_max (`float`, *optional*, по умолчанию `80.0`) : Максимальная величина шума в расписании сигм. В статье EDM [1] это значение было установлено в 80.0; разумный диапазон — [0.2, 80.0]. | |
| sigma_data (`float`, *необязательный*, по умолчанию `0.5`) : Стандартное отклонение распределения данных. В статье EDM [1] это значение установлено в 0.5. | |
| sigma_schedule (`Literal["karras", "exponential"]`, *optional*, по умолчанию `"karras"`) : Расписание сигм для вычисления `sigmas`. По умолчанию используется расписание, предложенное в статье EDM (https://huggingface.co/papers/2206.00364). Расписание `"exponential"` было добавлено в эту модель: https://huggingface.co/stabilityai/cosxl. | |
| num_train_timesteps (`int`, *необязательный*, по умолчанию `1000`) : Количество шагов диффузии для обучения модели. | |
| prediction_type (`Literal["epsilon", "v_prediction"]`, *необязательный*, по умолчанию `"epsilon"`) : Тип предсказания функции планировщика. `"epsilon"` предсказывает шум диффузионного процесса, а `"v_prediction"` (см. раздел 2.4 статьи [Imagen Video](https://huggingface.co/papers/2210.02303)). | |
| rho (`float`, *optional*, по умолчанию `7.0`) : Параметр rho, используемый для расчёта расписания сигм Karras, который установлен в 7.0 в статье EDM [1]. | |
| final_sigmas_type (`Literal["zero", "sigma_min"]`, *необязательный*, по умолчанию `"zero"`) : Значение конечного `sigma` для расписания шума в процессе выборки. Если указано `"sigma_min"`, конечное sigma совпадает с последним sigma в расписании обучения. Если указано `"zero"`, конечное sigma устанавливается в 0. | |
| Реализует планировщик Эйлера в формулировке EDM, представленной в работе Karras et al. 2022 [1]. | |
| [1] Karras, Tero, et al. "Elucidating the Design Space of Diffusion-Based Generative Models." https://huggingface.co/papers/2206.00364 | |
| Эта модель наследуется от [SchedulerMixin](/docs/diffusers/main/ru/api/schedulers/overview#diffusers.SchedulerMixin) и [ConfigMixin](/docs/diffusers/main/ru/api/configuration#diffusers.ConfigMixin). Общие методы, которые библиотека реализует для всех планировщиков, такие как загрузка и сохранение, описаны в документации суперкласса. | |
| #### add_noise[[diffusers.EDMEulerScheduler.add_noise]] | |
| ```python | |
| add_noise(original_samples: Tensor, noise: Tensor, timesteps: Tensor) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_edm_euler.py#L536) | |
| **Параметры:** | |
| original_samples (`torch.Tensor`) : исходные образцы, к которым будет добавлен шум. | |
| noise (`torch.Tensor`) : тензор шума, который нужно добавить к исходным образцам. | |
| timesteps (`torch.Tensor`) : Шаги, на которых добавляется шум, определяющие уровень шума по расписанию. | |
| **Возвращает:** `torch.Tensor` | |
| Шумовые образцы с добавленным шумом, масштабированным в соответствии с расписанием шагов времени. | |
| Добавьте шум к исходным образцам в соответствии с расписанием шума на указанных временных шагах. | |
| #### index_for_timestep[[diffusers.EDMEulerScheduler.index_for_timestep]] | |
| ```python | |
| index_for_timestep(timestep: typing.Union[float, torch.Tensor], schedule_timesteps: typing.Optional[torch.Tensor] = None) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_edm_euler.py#L381) | |
| **Параметры:** | |
| timestep (`float` или `torch.Tensor`) : значение шага времени, которое нужно найти в расписании. | |
| schedule_timesteps (`torch.Tensor`, *необязательный*) : Расписание временных шагов, в котором выполняется поиск. Если `None`, используется `self.timesteps`. | |
| **Возвращает:** `int` | |
| Индекс шага времени в расписании. Для самого первого шага возвращает второй индекс, если существует несколько совпадений, чтобы избежать пропуска сигмы при начале с середины расписания (например, для image-to-image). | |
| Найдите индекс заданного шага времени в расписании шагов времени. | |
| #### precondition_inputs[[diffusers.EDMEulerScheduler.precondition_inputs]] | |
| ```python | |
| precondition_inputs(sample: Tensor, sigma: typing.Union[float, torch.Tensor]) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_edm_euler.py#L177) | |
| **Параметры:** | |
| sample (`torch.Tensor`) : входной тензор образца для предварительной обработки. | |
| sigma (`float` или `torch.Tensor`) : текущее значение сигмы (уровня шума). | |
| **Возвращает:** `torch.Tensor` | |
| Масштабированный входной образец. | |
| Предварительно обработайте входной образец, масштабируя его в соответствии с формулировкой EDM. | |
| #### precondition_noise[[diffusers.EDMEulerScheduler.precondition_noise]] | |
| ```python | |
| precondition_noise(sigma: typing.Union[float, torch.Tensor]) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_edm_euler.py#L195) | |
| **Параметры:** | |
| sigma (`float` или `torch.Tensor`) : значение сигмы (уровня шума) для предварительной обработки. | |
| **Возвращает:** `torch.Tensor` | |
| Значение предобусловленного шума, вычисленное как `0.25 * log(sigma)`. | |
| Предварительно обработайте уровень шума, применив логарифмическое преобразование. | |
| #### precondition_outputs[[diffusers.EDMEulerScheduler.precondition_outputs]] | |
| ```python | |
| precondition_outputs(sample: Tensor, model_output: Tensor, sigma: typing.Union[float, torch.Tensor]) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_edm_euler.py#L214) | |
| **Параметры:** | |
| sample (`torch.Tensor`) : Тензор входной выборки. | |
| model_output (`torch.Tensor`) : Прямой вывод из обученной диффузионной модели. | |
| sigma (`float` или `torch.Tensor`) : текущее значение сигмы (уровня шума). | |
| **Возвращает:** `torch.Tensor` | |
| Образец после шумоподавления, вычисленный путём объединения skip-соединения и масштабирования вывода. | |
| Предварительно обрабатывайте выходные модели в соответствии с формулировкой EDM. | |
| #### scale_model_input[[diffusers.EDMEulerScheduler.scale_model_input]] | |
| ```python | |
| scale_model_input(sample: Tensor, timestep: typing.Union[float, torch.Tensor]) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_edm_euler.py#L249) | |
| **Параметры:** | |
| sample (`torch.Tensor`) : Тензор входной выборки. | |
| timestep (`float` или `torch.Tensor`) : Текущий шаг (timestep) в цепочке диффузии. | |
| **Возвращает:** `torch.Tensor` | |
| Масштабированный входной образец. | |
| Масштабирует входную величину модели денойзинга для соответствия алгоритму Эйлера. Обеспечивает совместимость с планировщиками, которым необходимо масштабировать входную величину модели денойзинга в зависимости от текущего шага. | |
| #### set_begin_index[[diffusers.EDMEulerScheduler.set_begin_index]] | |
| ```python | |
| set_begin_index(begin_index: int = 0) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_edm_euler.py#L167) | |
| **Параметры:** | |
| begin_index (`int`, по умолчанию `0`) : Начальный индекс для планировщика. | |
| Устанавливает начальный индекс для планировщика. Эта функция должна выполняться из конвейера перед инференсом. | |
| #### set_timesteps[[diffusers.EDMEulerScheduler.set_timesteps]] | |
| ```python | |
| set_timesteps(num_inference_steps: int = None, device: typing.Union[str, torch.device] = None, sigmas: typing.Union[list[float], torch.Tensor, NoneType] = None) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_edm_euler.py#L273) | |
| **Параметры:** | |
| num_inference_steps (`int`, *необязательный*) : Количество шагов диффузии, используемое при генерации образцов с помощью предобученной модели. | |
| device (`str` или `torch.device`, *необязательный*) : Устройство, на которое следует переместить шаги. Если `None`, шаги не перемещаются. | |
| sigmas (`torch.Tensor | list[float]`, *необязательный*) : Пользовательские сигмы для процесса удаления шума. Если не заданы, будет использоваться поведение по умолчанию при передаче `num_inference_steps`. | |
| Устанавливает дискретные временные шаги, используемые для цепочки диффузии (выполняется перед инференсом). | |
| #### шаг[[diffusers.EDMEulerScheduler.step]] | |
| ```python | |
| step(model_output: Tensor, timestep: typing.Union[float, torch.Tensor], sample: Tensor, s_churn: float = 0.0, s_tmin: float = 0.0, s_tmax: float = inf, s_noise: float = 1.0, generator: typing.Optional[torch.Generator] = None, return_dict: bool = True, pred_original_sample: typing.Optional[torch.Tensor] = None) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_edm_euler.py#L427) | |
| **Параметры:** | |
| model_output (`torch.Tensor`) : Прямой вывод из обученной диффузионной модели. | |
| timestep (`float` или `torch.Tensor`) : текущий дискретный шаг времени в цепочке диффузии. | |
| sample (`torch.Tensor`) : Текущая инстанция сэмпла, созданная процессом диффузии. | |
| s_churn (`float`, *необязательный*, по умолчанию `0.0`) : Количество стохастичности, добавляемой на каждом шаге. Большие значения добавляют больше шума. | |
| s_tmin (`float`, *необязательный*, по умолчанию `0.0`) : Минимальный порог сигмы, ниже которого шум не добавляется. | |
| s_tmax (`float`, *необязательный*, по умолчанию `float("inf")`) : Максимальный порог сигмы, выше которого шум не добавляется. | |
| s_noise (`float`, *необязательный*, по умолчанию `1.0`) : Коэффициент масштабирования шума, добавляемого к образцу. | |
| generator (`torch.Generator`, *необязательный*) : Генератор случайных чисел для воспроизводимости. | |
| return_dict (`bool`, *необязательный*, по умолчанию `True`) : Возвращать ли [EDMEulerSchedulerOutput](/docs/diffusers/main/ru/api/schedulers/edm_euler#diffusers.schedulers.scheduling_edm_euler.EDMEulerSchedulerOutput) или кортеж. | |
| pred_original_sample (`torch.Tensor`, *необязательный*) : Предсказанный денойзированный образец из предыдущего шага. Если указан, пересчёт пропускается. | |
| **Возвращает:** [EDMEulerSchedulerOutput](/docs/diffusers/main/ru/api/schedulers/edm_euler#diffusers.schedulers.scheduling_edm_euler.EDMEulerSchedulerOutput) или `tuple` | |
| Если `return_dict` равно `True`, возвращается [EDMEulerSchedulerOutput](/docs/diffusers/main/ru/api/schedulers/edm_euler#diffusers.schedulers.scheduling_edm_euler.EDMEulerSchedulerOutput), иначе возвращается кортеж, где первый элемент — это тензор предыдущей выборки, а второй — тензор предсказанной исходной выборки. | |
| Предскажите образец из предыдущего шага времени, обращая SDE. Эта функция распространяет процесс диффузии от выходов обученной модели (чаще всего — предсказанного шума). | |
| ## EDMEulerSchedulerOutput[[diffusers.schedulers.scheduling_edm_euler.EDMEulerSchedulerOutput]] | |
| #### diffusers.schedulers.scheduling_edm_euler.EDMEulerSchedulerOutput[[diffusers.schedulers.scheduling_edm_euler.EDMEulerSchedulerOutput]] | |
| ```python | |
| diffusers.schedulers.scheduling_edm_euler.EDMEulerSchedulerOutput(prev_sample: Tensor, pred_original_sample: typing.Optional[torch.Tensor] = None) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_edm_euler.py#L32) | |
| **Параметры:** | |
| prev_sample (`torch.Tensor` формы `(batch_size, num_channels, height, width)` для изображений) : Вычисленная выборка `(x_{t-1})` для предыдущего шага. `prev_sample` следует использовать как следующий вход модели в цикле шумоподавления. | |
| pred_original_sample (`torch.Tensor` формы `(batch_size, num_channels, height, width)` для изображений) : Предсказанный денойзированный образец `(x_{0})` на основе вывода модели из текущего шага. `pred_original_sample` можно использовать для предпросмотра прогресса или для guidance. | |
| Класс результата для вывода функции `step` планировщика. | |
Xet Storage Details
- Size:
- 17.6 kB
- Xet hash:
- 03e72536a0e0be499a7871a4aa5329e03418950fc57acaf181e85780a559e35a
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.