# HeliosDMDScheduler

`HeliosDMDScheduler`은 [Helios](https://huggingface.co/papers)에서 소개된 피라미드형 flow-matching 샘플링을 기반으로 합니다.

## HeliosDMDScheduler[[diffusers.HeliosDMDScheduler]]

#### diffusers.HeliosDMDScheduler[[diffusers.HeliosDMDScheduler]]

```python
diffusers.HeliosDMDScheduler(num_train_timesteps: int = 1000, shift: float = 1.0, stages: int = 3, stage_range: list = [0, 0.3333333333333333, 0.6666666666666666, 1], gamma: float = 0.3333333333333333, prediction_type: str = 'flow_prediction', use_flow_sigmas: bool = True, use_dynamic_shifting: bool = False, time_shift_type: typing.Literal['exponential', 'linear'] = 'linear')
```

[소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_helios_dmd.py#L35)

#### init_sigmas[[diffusers.HeliosDMDScheduler.init_sigmas]]

```python
init_sigmas()
```

[소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_helios_dmd.py#L69)

전역 timesteps와 sigmas를 초기화합니다

#### init_sigmas_for_each_stage[[diffusers.HeliosDMDScheduler.init_sigmas_for_each_stage]]

```python
init_sigmas_for_each_stage()
```

[소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_helios_dmd.py#L87)

각 단계의 timesteps를 초기화합니다

#### set_begin_index[[diffusers.HeliosDMDScheduler.set_begin_index]]

```python
set_begin_index(begin_index: int = 0)
```

[소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_helios_dmd.py#L161)

**매개변수:**

begin_index (`int`) : 스케줄러의 시작 인덱스.

… 스케줄러의 시작 인덱스를 설정합니다. 이 함수는 추론 전에 파이프라인에서 실행해야 합니다.

#### set_timesteps[[diffusers.HeliosDMDScheduler.set_timesteps]]

```python
set_timesteps(num_inference_steps: int, stage_index: int | None = None, device: typing.Union[str, torch.device] = None, sigmas: bool | None = None, mu: bool | None = None, is_amplify_first_chunk: bool = False)
```

[소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_helios_dmd.py#L174)

각 단계의 timesteps와 sigmas 설정

#### time_shift[[diffusers.HeliosDMDScheduler.time_shift]]

```python
time_shift(mu: float, sigma: float, t: Tensor)
```

[소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_helios_dmd.py#L236)

**매개변수:**

mu (`float`) : 시간 시프트를 위한 mu 매개변수.

sigma (`float`) : 시간 시프트를 위한 sigma 매개변수.

t (`torch.Tensor`) : 입력 timesteps.

**반환값:** `torch.Tensor`

시간이 이동된 타임스텝

sigmas에 시간 시프트를 적용합니다.

scheduling_helios_dmd

