networks cosmetics and dlss logging

Signed-off-by: Vladimir Mandic <mandic00@live.com>
This commit is contained in:
Vladimir Mandic
2026-09-18 10:56:39 +02:00
parent a2affbd58a
commit 2cef6e93d0
7 changed files with 61 additions and 22 deletions
+4 -2
View File
@@ -30,7 +30,7 @@
"THUDM--CogVideoX-5b": "THUDM--CogView3-Plus-3B.jpg",
"vladmandic--Anima-1.0-Base-Merge-sdnq-hadamard-uint4": "vladmandic--Anima-1.0-Base.jpg",
"vladmandic--Anima-1.0-Base-sdnq-svd-dynamic-uint4": "vladmandic--Anima-1.0-Base.jpg",
"vladmandic--Anima-1.0-Turbo-sdnq-svd-dynamic-uint4": "vladmandic--Anima-1.0-Turbo-sdnq-svd-dynamic-uint4.jpg",
"vladmandic--Anima-1.0-Turbo": "vladmandic--Anima-1.0-Turbo-sdnq-svd-dynamic-uint4.jpg",
"vladmandic--Flux.2-Klein-9B-KV-sdnq-hadamard-uint4": "black-forest-labs--FLUX.2-klein-9b-kv.jpg",
"vladmandic--Flux.2-Klein-9B-KV-Merge-sdnq-hadamard-uint4": "black-forest-labs--FLUX.2-klein-9b-kv.jpg",
"vladmandic--Krea-2-Base-sdnq-hadamard-uint4": "CalamitousFelicitousness--Krea-2-Base-Diffusers.jpg",
@@ -40,5 +40,7 @@
"vladmandic--Qwen-Lightning": "Qwen-Lightning.jpg",
"Wan-AI--Wan2.1-T2V-14B-Diffusers": "Wan-AI--Wan2.1-T2V-14B-Diffusers.jpg",
"Wan-AI--Wan2.2-T2V-A14B-Diffusers": "Wan-AI--Wan2.2-T2V-A14B-Diffusers.jpg",
"OzzyGT--MiniMax_H3_sdnq_dynamic_4bit": "MiniMaxAI--MiniMax-H3.jpg"
"OzzyGT--MiniMax_H3_sdnq_dynamic_4bit": "MiniMaxAI--MiniMax-H3.jpg",
"OzzyGT--MiniMax_H3_sdnq_dynamic_8bit": "MiniMaxAI--MiniMax-H3.jpg",
"OzzyGT--MiniMax_H3_sdnq_8bit_pruned": "OzzyGT--MiniMax_H3_sdnq_4bit_pruned.jpg"
}
+26 -3
View File
@@ -1,5 +1,6 @@
import os
import enum
import json
from collections import namedtuple
import torch
from modules import hashes, shared, sd_checkpoint
@@ -53,14 +54,14 @@ class NetworkOnDisk:
def detect_version(self):
base = str(self.metadata.get('ss_base_model_version', "")).lower()
arch = str(self.metadata.get('modelspec.architecture', "")).lower()
# base.startswith("sd_1.5") # ostris/ai-toolkit uses this nearly-always and its wrong
if base.startswith("sd_v1"):
return 'sd1'
if base.startswith("sdxl"):
return 'xl'
if base.startswith("stable_cascade"):
return 'sc'
if base.startswith("sd3"):
if base.startswith("sd3") or base.startswith("3-5-"):
return 'sd3'
if base.startswith("flux2") or "klein" in base:
return 'f2'
@@ -81,10 +82,15 @@ class NetworkOnDisk:
if base.startswith('minimax'):
return 'minimax'
arch = str(self.metadata.get('modelspec.architecture', "")).lower()
if arch.startswith("stable-diffusion-v1"):
return 'sd1'
if arch.startswith("stable-diffusion-xl"):
return 'xl'
if arch.startswith("stable-diffusion-2") or arch.startswith("stable-diffusion-v2"):
return 'sd2'
if arch.startswith("stable-diffusion-3") or arch.startswith("stable-diffusion-v3"):
return 'sd3'
if arch.startswith("stable-cascade"):
return 'sc'
if arch.startswith("flux2") or arch.startswith("flux-2") or ("klein" in arch):
@@ -101,11 +107,22 @@ class NetworkOnDisk:
return 'anima'
if arch.startswith('krea2'):
return 'krea2'
if arch.startswith('pixart-sigma'):
return 'pixart-sigma'
if "v1-5" in str(self.metadata.get('ss_sd_model_name', "")):
metadata = json.dumps(self.metadata).lower()
if 'z-image' in metadata:
return 'zimage'
if 'v1-5' in metadata:
return 'sd1'
if 'stable-diffusion-2-1' in metadata:
return 'sd2'
if 'minimax-h3' in metadata:
return 'minimax'
if str(self.metadata.get('ss_v2', "")) == "True":
return 'sd2'
if 'klein' in self.name.lower() or ('klein' in self.fullname.lower()):
return 'f2'
if 'flux' in self.name.lower():
@@ -116,6 +133,12 @@ class NetworkOnDisk:
return 'chroma'
if 'anima' in self.name.lower():
return 'anima'
if 'qwen' in self.name.lower():
return 'qwen'
if 'wan' in self.name.lower():
return 'wan'
if 'minimax' in self.name.lower():
return 'minimax'
return ''
-1
View File
@@ -26,7 +26,6 @@ allowed_dirs = []
refresh_time = 0
extra_pages = shared.extra_networks
debug = log.trace if os.environ.get('SD_EN_DEBUG', None) is not None else lambda *args, **kwargs: None
debug('Trace: EN')
card_empty = '<div class="card"></div>'
card_full = '''
+3 -2
View File
@@ -23,8 +23,6 @@ version_map = {
"StableDiffusionXL": "SD XL",
"WanToVideo": "Wan",
"WanVACE": "Wan",
"ZImage": "Z-Image",
"Z-Image": "Z-Image",
"Glm": "GLM-Image",
"Krea2": "Krea 2",
"AnimaTextTo": "Anima",
@@ -34,6 +32,9 @@ version_map = {
"Flux2KleinKV": "Flux 2 Klein",
"MiniMaxH3": "MiniMax H3",
"MiniMax_H3": "MiniMax H3",
"ZImageTurbo": "Z-Image",
"ZImage": "Z-Image",
"Z": "Z-Image",
}
class ExtraNetworksPageCheckpoints(ui_extra_networks.ExtraNetworksPage):
+20 -6
View File
@@ -1,4 +1,5 @@
import os
import re
import json
import concurrent.futures
from modules import shared, ui_extra_networks, modelstats
@@ -77,17 +78,30 @@ class ExtraNetworksPageLora(ui_extra_networks.ExtraNetworksPage):
return clean_tags
_VERSION_DISPLAY = {
'f1': 'Flux', 'sd1': 'SD 1.5', 'sd2': 'SD 2', 'xl': 'SDXL',
'sd3': 'SD3', 'sc': 'Cascade', 'hv': 'HunyuanVideo',
'chroma': 'Chroma', 'zimage': 'zImage', 'qwen': 'Qwen',
'f1': 'Flux 1', 'flux.1 d': 'Flux 1',
'f2': 'Flux 2',
'sd1': 'SD 1.5',
'sd2': 'SD 2',
'sd3': 'SD 3',
'xl': 'SDXL',
'sc': 'Cascade',
'hv': 'Hunyuan Video',
'chroma': 'Chroma',
'qwen': 'Qwen',
'krea2': 'Krea 2',
'wan': 'Wan',
'minimax': 'MiniMax H3',
'pixart-sigma': 'Pixart Sigma',
'wan video 2.2 a14b': 'Wan Video A14B', 'wan video 14b': 'Wan Video A14B',
'zimage': 'Z-Image', 'zimagebase': 'Z-Image', 'zimageturbo': 'Z-Image',
'other': ''
}
def cleanup_version(self, dct, lora):
ver = dct.get("baseModel", lora.sd_version)
ver = self._VERSION_DISPLAY.get(ver, ver)
for suffix in (' 0.9', ' 1.0'): # strip uninformative minor versions
ver = ver.replace(suffix, '')
for suffix in ('0.9', '1.0', '768', 'lightning', 'hyper', 'turbo', 'i2v', 't2v-', 't2v', '720p'): # strip uninformative minor versions
ver = re.sub(suffix, '', ver, flags=re.IGNORECASE).strip()
ver = self._VERSION_DISPLAY.get(ver.lower(), ver)
return ver
def create_item(self, name):
+7 -7
View File
@@ -99,7 +99,6 @@ def install():
def verify(pkg_path):
log.info(f'DLSS verify: path="{pkg_path}"')
if not os.path.exists(pkg_path) or not os.path.isdir(pkg_path):
log.error(f'DLSS: path="{pkg_path}" not found')
return { 'error': 'package path not found' }
@@ -108,7 +107,7 @@ def verify(pkg_path):
response = c.controller.call(pkg_path, 'verify', { 'gpu_uuid': 'auto', 'options': { 'level': 'deep' } })
if response.get('status') != 'ok':
error = response.get('error') or {}
log.error(f'DLSS: {error.get("message")}')
log.error(f'DLSS: path="{pkg_path}" {response}')
return { 'error': error.get('message', 'unknown error') }
report = (response.get('result') or {}).get('report', {})
if debug:
@@ -116,33 +115,34 @@ def verify(pkg_path):
checks = { 'passed': 0, 'failed': 0 }
for check in report.get('checks', []):
if check.get('passed', False):
log.debug(f'DLSS verify: {check}')
checks['passed'] += 1
else:
checks['failed'] += 1
log.error(f'DLSS : {check}')
log.error(f'DLSS verify: {check}')
shared.opts.dlss_pkg_path = pkg_path
shared.opts.save()
log.debug(f'DLSS: gpu={report.get("gpu", "unknown")} checks={checks}')
log.debug(f'DLSS: path="{pkg_path}" gpu={report.get("gpu", "unknown")} checks={checks}')
return report
def status(pkg_path):
log.info(f'DLSS status: path="{pkg_path}"')
response = c.controller.call(pkg_path, 'status', {})
if response.get('status') != 'ok':
error = response.get('error') or {}
log.error(f'DLSS: {error.get("message")}')
log.error(f'DLSS status: path="{pkg_path}" {response}')
return { 'error': error.get('message', 'unknown error') }
log.debug(f'DLSS status: path="{pkg_path}" {response}')
return response.get('result', {})
def reset(pkg_path):
log.info(f'DLSS reset: path="{pkg_path}"')
response = c.controller.call(pkg_path, 'reset', {})
if response.get('status') != 'ok':
error = response.get('error') or {}
log.error(f'DLSS: {error.get("message")}')
return { 'error': error.get('message', 'unknown error') }
log.info(f'DLSS reset: path="{pkg_path}" {response}')
return response.get('result', {})