add support for cache modes to accelerate image generation (#2021)

* sd: sync to master-525-d6dd6d7

* sd: add support for cache modes for inference acceleration

* keep gendefaults as a JSON object inside the config file

* covered more invalid cases on gendefaults parsing
This commit is contained in:
Wagner Bruna
2026-03-15 04:27:14 -03:00
committed by GitHub
parent 893b8abc21
commit b437d18319
10 changed files with 599 additions and 57 deletions
+31
View File
@@ -85,6 +85,37 @@ def sanitize_lora_multipliers(*args, **kwargs):
"""
return koboldcpp.sanitize_lora_multipliers(*args, **kwargs)
def gendefaults_parse_meta_field(*args, **kwargs):
'''
>>> [gendefaults_parse_meta_field(x) for x in [{}, None, '', "invalid json", ' ', 4]]
Warning: gendefaults field - not a JSON object.
Warning: couldn't parse gendefaults field.
Warning: gendefaults field - not a JSON object.
[{}, {}, {}, {}, {}, {}]
>>> [gendefaults_parse_meta_field(x) for x in ['["valid", "json"]', 'but', '1']]
Warning: gendefaults field - not a JSON object.
Warning: couldn't parse gendefaults field.
Warning: gendefaults field - not a JSON object.
[{}, {}, {}]
>>> gendefaults_parse_meta_field({"key": "value"})
{'key': 'value'}
>>> gendefaults_parse_meta_field(' "scheduler": "default", "steps": 10 ')
{'scheduler': 'default', 'steps': 10}
>>> gendefaults_parse_meta_field('{"cfg-scale": 0.5, "cfg_scale": 0.7}')
{'cfg-scale': 0.5, 'cfg_scale': 0.7}
>>> gendefaults_parse_meta_field('{"guidance": 1.2, "sampler": "ddim"}')
{'distilled_guidance': 1.2, 'sampler_name': 'ddim', 'guidance': 1.2, 'sampler': 'ddim'}
'''
return koboldcpp.gendefaults_parse_meta_field(*args, **kwargs)
if __name__ == '__main__':
import doctest
failures, _ = doctest.testmod()