add CogXDDIM, DDIMParallel, DDPMParallel

Signed-off-by: vladmandic <mandic00@live.com>
pull/4599/head
vladmandic 2026-01-27 09:46:31 +01:00
parent 856a48a4f8
commit f47c7d17af
3 changed files with 22 additions and 9 deletions

View File

@ -2,16 +2,20 @@
## Todo
- upstream `torch/rocm` slowdown
- update `rocm/windows`
- **rocm/linux**: update to `torch==2.10.0`
- **rocm/windows**: update to `torch==2.10.0`
## Update for 2026-01-25
## Update for 2026-01-27
- **Features**
- **caption** tab support for Booru tagger models, thanks @CalamitousFelicitousness
- add SmilingWolf WD14/WaifuDiffusion tagger models, thanks @CalamitousFelicitousness
- support comments in wildcard files, using `#`
- support aliases in metadata skip params, thanks @CalamitousFelicitousness
- ui gallery add manual cache cleanup, thanks @awsr
- **Schedulers**
- add *CogXDDIM, DDIMParallel, DDPMParallel*
not originally intended to be a general purpose schedulers, but they work quite nicely and produce good results
- **Internal**
- tagged release history: <https://github.com/vladmandic/sdnext/tags>
each major for the past year is now tagged for easier reference
@ -20,7 +24,6 @@
**cuda**: update to `torch==2.10.0`
**xpu**: update to `torch==2.10.0`
**openvino**: update to `torch==2.10.0` and `openvino==2025.4.1`
**rocm/linux**: update to `torch==2.10.0`
- relocate all json data files to `data/` folder
existing data files are auto-migrated on startup
- further work on type consistency and type checking, thanks @awsr

@ -1 +1 @@
Subproject commit 9942ea11aa7f23e8ad70ab81a4b411aae333081f
Subproject commit bd33edfd28f95e1366f3169f6faca532098866ad

View File

@ -37,13 +37,17 @@ try:
PNDMScheduler,
SASolverScheduler,
UniPCMultistepScheduler,
CogVideoXDDIMScheduler,
DDIMParallelScheduler,
DDPMParallelScheduler,
TCDScheduler,
)
except Exception as e:
shared.log.error(f'Sampler import: version={diffusers.__version__} error: {e}')
if os.environ.get('SD_SAMPLER_DEBUG', None) is not None:
errors.display(e, 'Samplers')
try:
from modules.schedulers.scheduler_tcd import TCDScheduler # pylint: disable=ungrouped-imports
# from modules.schedulers.scheduler_tcd import TCDScheduler # pylint: disable=ungrouped-imports
from modules.schedulers.scheduler_tdd import TDDScheduler # pylint: disable=ungrouped-imports
from modules.schedulers.scheduler_dc import DCSolverMultistepScheduler # pylint: disable=ungrouped-imports
from modules.schedulers.scheduler_vdm import VDMScheduler # pylint: disable=ungrouped-imports
@ -117,6 +121,9 @@ config = {
'KDPM2': { 'use_karras_sigmas': False, 'use_exponential_sigmas': False, 'use_beta_sigmas': False, 'steps_offset': 0, 'timestep_spacing': 'linspace' },
'KDPM2 a': { 'use_karras_sigmas': False, 'use_exponential_sigmas': False, 'use_beta_sigmas': False, 'steps_offset': 0, 'timestep_spacing': 'linspace' },
'CMSI': { },
'CogX DDIM': { 'beta_schedule': "scaled_linear", 'beta_start': 0.00085, 'beta_end': 0.012, 'set_alpha_to_one': True, 'rescale_betas_zero_snr': False },
'DDIM Parallel': {},
'DDPM Parallel': {},
}
samplers_data_diffusers = [
@ -160,23 +167,26 @@ samplers_data_diffusers = [
SamplerData('DEIS', lambda model: DiffusionSampler('DEIS', DEISMultistepScheduler, model), [], {}),
SamplerData('SA Solver', lambda model: DiffusionSampler('SA Solver', SASolverScheduler, model), [], {}),
SamplerData('DC Solver', lambda model: DiffusionSampler('DC Solver', DCSolverMultistepScheduler, model), [], {}),
SamplerData('VDM Solver', lambda model: DiffusionSampler('VDM Solver', VDMScheduler, model), [], {}),
SamplerData('BDIA DDIM', lambda model: DiffusionSampler('BDIA DDIM g=0', BDIA_DDIMScheduler, model), [], {}),
SamplerData('DDPM', lambda model: DiffusionSampler('DDPM', DDPMScheduler, model), [], {}),
SamplerData('DDPM Parallel', lambda model: DiffusionSampler('DDPM Parallel', DDPMParallelScheduler, model), [], {}),
SamplerData('DDIM Parallel', lambda model: DiffusionSampler('DDIM Parallel', DDIMParallelScheduler, model), [], {}),
SamplerData('PNDM', lambda model: DiffusionSampler('PNDM', PNDMScheduler, model), [], {}),
SamplerData('IPNDM', lambda model: DiffusionSampler('IPNDM', IPNDMScheduler, model), [], {}),
SamplerData('DDPM', lambda model: DiffusionSampler('DDPM', DDPMScheduler, model), [], {}),
SamplerData('LMSD', lambda model: DiffusionSampler('LMSD', LMSDiscreteScheduler, model), [], {}),
SamplerData('KDPM2', lambda model: DiffusionSampler('KDPM2', KDPM2DiscreteScheduler, model), [], {}),
SamplerData('KDPM2 a', lambda model: DiffusionSampler('KDPM2 a', KDPM2AncestralDiscreteScheduler, model), [], {}),
SamplerData('CMSI', lambda model: DiffusionSampler('CMSI', CMStochasticIterativeScheduler, model), [], {}),
SamplerData('VDM Solver', lambda model: DiffusionSampler('VDM Solver', VDMScheduler, model), [], {}),
SamplerData('BDIA DDIM', lambda model: DiffusionSampler('BDIA DDIM g=0', BDIA_DDIMScheduler, model), [], {}),
SamplerData('LCM', lambda model: DiffusionSampler('LCM', LCMScheduler, model), [], {}),
SamplerData('LCM FlowMatch', lambda model: DiffusionSampler('LCM FlowMatch', FlowMatchLCMScheduler, model), [], {}),
SamplerData('TCD', lambda model: DiffusionSampler('TCD', TCDScheduler, model), [], {}),
SamplerData('TDD', lambda model: DiffusionSampler('TDD', TDDScheduler, model), [], {}),
SamplerData('PeRFlow', lambda model: DiffusionSampler('PeRFlow', PeRFlowScheduler, model), [], {}),
SamplerData('UFOGen', lambda model: DiffusionSampler('UFOGen', UFOGenScheduler, model), [], {}),
SamplerData('CogX DDIM', lambda model: DiffusionSampler('CogX DDIM', CogVideoXDDIMScheduler, model), [], {}),
SamplerData('Same as primary', None, [], {}),
]