diff --git a/CHANGELOG.md b/CHANGELOG.md index 9722f6407..6b5ec8b23 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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: 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 diff --git a/extensions-builtin/sd-extension-system-info b/extensions-builtin/sd-extension-system-info index 9942ea11a..bd33edfd2 160000 --- a/extensions-builtin/sd-extension-system-info +++ b/extensions-builtin/sd-extension-system-info @@ -1 +1 @@ -Subproject commit 9942ea11aa7f23e8ad70ab81a4b411aae333081f +Subproject commit bd33edfd28f95e1366f3169f6faca532098866ad diff --git a/modules/sd_samplers_diffusers.py b/modules/sd_samplers_diffusers.py index 42cb26326..ac85ba824 100644 --- a/modules/sd_samplers_diffusers.py +++ b/modules/sd_samplers_diffusers.py @@ -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, [], {}), ]