diff --git a/CHANGELOG.md b/CHANGELOG.md index fc5c6ff26..bab5ab9fe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -55,6 +55,7 @@ - improve `path_to_repo` handling for custom paths - eliminate `api` auth security bypass - multiple `schedulers` signature corrections + - multiple models reverse model classification ## Update for 2026-04-01 diff --git a/data/reference-nunchaku.json b/data/reference-nunchaku.json index a22be9e91..8852da7f7 100644 --- a/data/reference-nunchaku.json +++ b/data/reference-nunchaku.json @@ -47,7 +47,7 @@ "FLUX.1-Fill Nunchaku SVDQuant": { "path": "black-forest-labs/FLUX.1-Fill-dev", "subfolder": "nunchaku", - "preview": "black-forest-labs--FLUX.1-Fill-dev.jpg", + "preview": "black-forest-labs--FLUX.1-dev.jpg", "desc": "Nunchaku SVDQuant quantization of FLUX.1-Fill-dev transformer for inpainting", "skip": true, "hidden": true, @@ -59,7 +59,7 @@ "FLUX.1-Depth Nunchaku SVDQuant": { "path": "black-forest-labs/FLUX.1-Depth-dev", "subfolder": "nunchaku", - "preview": "black-forest-labs--FLUX.1-Depth-dev.jpg", + "preview": "black-forest-labs--FLUX.1-dev.jpg", "desc": "Nunchaku SVDQuant quantization of FLUX.1-Depth-dev transformer for depth-conditioned generation", "skip": true, "hidden": true, @@ -163,7 +163,7 @@ "Sana 1.6B 1k Nunchaku SVDQuant": { "path": "Efficient-Large-Model/Sana_1600M_1024px_BF16_diffusers", "subfolder": "nunchaku", - "preview": "Efficient-Large-Model--Sana_1600M_1024px_BF16_diffusers.jpg", + "preview": "Efficient-Large-Model--Sana_1600M_1024px_diffusers.jpg", "desc": "Nunchaku SVDQuant quantization of Sana 1.6B 1024px transformer with INT4 and SVD rank 32", "skip": true, "nunchaku": ["Model"], diff --git a/modules/modeldata.py b/modules/modeldata.py index 688bfa364..20c633b15 100644 --- a/modules/modeldata.py +++ b/modules/modeldata.py @@ -78,11 +78,15 @@ def get_model_type(pipe): model_type = 'pixartalpha' elif "Bria" in name: model_type = 'bria' + elif 'Kolors' in name: + model_type = 'kolors' + elif 'Meissonic' in name: + model_type = 'meissonic' elif 'Qwen' in name: model_type = 'qwen' elif 'NextStep' in name: model_type = 'nextstep' - elif 'X-Omni' in name: + elif 'XOmni' in name or 'X-Omni' in name: model_type = 'x-omni' elif 'Photoroom' in name: model_type = 'prx' @@ -90,14 +94,12 @@ def get_model_type(pipe): model_type = 'longcat' elif 'GlmImage' in name: model_type = 'glmimage' - elif 'Ovis-Image' in name: + elif 'OvisImage' in name or 'Ovis-Image' in name: model_type = 'ovis' elif 'Wan' in name: model_type = 'wanai' elif 'ChronoEdit' in name: model_type = 'chrono' - elif 'HDM-xut' in name: - model_type = 'hdm' elif 'HunyuanImage3' in name: model_type = 'hunyuanimage3' elif 'HunyuanImage' in name: diff --git a/modules/sd_detect.py b/modules/sd_detect.py index f0374a928..fe4e2712c 100644 --- a/modules/sd_detect.py +++ b/modules/sd_detect.py @@ -53,8 +53,6 @@ def guess_by_name(fn, current_guess): new_guess = 'SegMoE' elif 'hunyuandit' in fn.lower(): new_guess = 'HunyuanDiT' - elif 'hdm-xut' in fn.lower(): - new_guess = 'hdm' elif 'pixart-xl' in fn.lower(): new_guess = 'PixArt Alpha' elif 'stable-diffusion-3' in fn.lower(): @@ -81,8 +79,6 @@ def guess_by_name(fn, current_guess): new_guess = 'CogView 4' elif 'meissonic' in fn.lower(): new_guess = 'Meissonic' - elif 'monetico' in fn.lower(): - new_guess = 'Monetico' elif 'omnigen2' in fn.lower(): new_guess = 'OmniGen2' elif 'omnigen' in fn.lower(): diff --git a/modules/sd_models.py b/modules/sd_models.py index fdc347290..9a6eea317 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -505,7 +505,7 @@ def load_diffuser_force(detected_model_type, checkpoint_info, diffusers_load_con from pipelines.model_longcat import load_longcat sd_model = load_longcat(checkpoint_info, diffusers_load_config) allow_post_quant = False - elif model_type in ['Overfit']: + elif model_type in ['Ovis-Image', 'Overfit']: from pipelines.model_ovis import load_ovis sd_model = load_ovis(checkpoint_info, diffusers_load_config) allow_post_quant = False diff --git a/modules/shared_items.py b/modules/shared_items.py index e33258d8f..a2a52a3f7 100644 --- a/modules/shared_items.py +++ b/modules/shared_items.py @@ -54,13 +54,11 @@ pipelines = { 'GLM-Image': getattr(diffusers, 'GlmImagePipeline', None), # dynamically imported and redefined later 'Meissonic': getattr(diffusers, 'DiffusionPipeline', None), - 'Monetico': getattr(diffusers, 'DiffusionPipeline', None), 'OmniGen2': getattr(diffusers, 'DiffusionPipeline', None), 'InstaFlow': getattr(diffusers, 'DiffusionPipeline', None), 'SegMoE': getattr(diffusers, 'DiffusionPipeline', None), 'FLite': getattr(diffusers, 'DiffusionPipeline', None), 'Bria': getattr(diffusers, 'DiffusionPipeline', None), - 'hdm': getattr(diffusers, 'DiffusionPipeline', None), 'X-Omni': getattr(diffusers, 'DiffusionPipeline', None), 'HunyuanImage3': getattr(diffusers, 'DiffusionPipeline', None), 'ChronoEdit': getattr(diffusers, 'DiffusionPipeline', None), diff --git a/pipelines/model_xomni.py b/pipelines/model_xomni.py index d8645bd1c..85e035313 100644 --- a/pipelines/model_xomni.py +++ b/pipelines/model_xomni.py @@ -113,4 +113,5 @@ def load_xomni(checkpoint_info, diffusers_load_config=None): pipe = XOmniPipeline() pipe.load(repo_id, load_config=diffusers_load_config) + devices.torch_gc(force=True, reason='load') return pipe