hku_diffusion_dllm / reference /code /Diffulex-mbd-lms /diffulex /strategy /dmax /engine /scheduler.py
Download reference/code/Diffulex-mbd-lms/diffulex/strategy/dmax/engine/scheduler.py from Ouzhang/hku_diffusion_dllm: direct link, hf CLI and curl.
- Browser
- Download file 1.01 kB
-
https://huggingface.co/Ouzhang/hku_diffusion_dllm/resolve/main/reference/code/Diffulex-mbd-lms/diffulex/strategy/dmax/engine/scheduler.py
- Command line
-
hf download hf://Ouzhang/hku_diffusion_dllm/reference/code/Diffulex-mbd-lms/diffulex/strategy/dmax/engine/scheduler.py
-
curl -L -o scheduler.py https://huggingface.co/Ouzhang/hku_diffusion_dllm/resolve/main/reference/code/Diffulex-mbd-lms/diffulex/strategy/dmax/engine/scheduler.py
1.01 kB
| from __future__ import annotations | |
| from diffulex.config import Config | |
| from diffulex.engine.scheduler import AutoScheduler | |
| from diffulex.strategy.dmax.engine.request import DMaxReq | |
| from diffulex.strategy_template.token_merging_multi_block.engine.scheduler import ( | |
| TokenMergingMultiBlockSchedulerTemplate, | |
| ) | |
| class DMaxScheduler(TokenMergingMultiBlockSchedulerTemplate): | |
| def __init__(self, config: Config): | |
| super().__init__(config) | |
| self.init_multi_block() | |
| def add(self, req: DMaxReq) -> None: | |
| req.init_token_merging_multi_block(self.config) | |
| self.waiting_reqs.append(req) | |
| def schedule(self) -> tuple[list[DMaxReq], bool]: | |
| return self.schedule_multi_block() | |
| def preempt(self, req: DMaxReq) -> None: | |
| self.preempt_multi_block(req) | |
| def postprocess( | |
| self, | |
| reqs: list[DMaxReq], | |
| sample_output, | |
| ) -> None: | |
| self.postprocess_token_merging_multi_block(reqs, sample_output) | |