mirror of
https://github.com/vladmandic/automatic
synced 2026-09-19 17:24:32 +02:00
fix handling of online model configs
This commit is contained in:
@@ -38,6 +38,7 @@ Other improvements:
|
||||
improves quality of the flow-matching samplers
|
||||
- t5 support manually downloaded models
|
||||
applies to all models that use t5 transformer
|
||||
- fix handling of model configs if offline config is not available
|
||||
|
||||
Work-in-progress:
|
||||
- flux controlnet support: (*1)
|
||||
|
||||
@@ -1213,10 +1213,10 @@ def load_diffuser(checkpoint_info=None, already_loaded_state_dict=None, timer=No
|
||||
if model_type.startswith('Stable Diffusion'):
|
||||
if shared.opts.diffusers_force_zeros:
|
||||
diffusers_load_config['force_zeros_for_empty_prompt '] = shared.opts.diffusers_force_zeros
|
||||
if diffusers_version < 28:
|
||||
diffusers_load_config['original_config_file'] = get_load_config(checkpoint_info.path, model_type, config_type='yaml')
|
||||
else:
|
||||
diffusers_load_config['config'] = get_load_config(checkpoint_info.path, model_type, config_type='json')
|
||||
model_config = get_load_config(checkpoint_info.path, model_type, config_type='json')
|
||||
if model_config is not None:
|
||||
diffusers_load_config['config_files'] = model_config
|
||||
if model_type.startswith('Stable Diffusion 3'):
|
||||
from modules.model_sd3 import load_sd3
|
||||
sd_model = load_sd3(fn=checkpoint_info.path, cache_dir=shared.opts.diffusers_dir, config=diffusers_load_config.get('config', None))
|
||||
|
||||
+5
-3
@@ -212,9 +212,11 @@ def load_vae_diffusers(model_file, vae_file=None, vae_source="unknown-source"):
|
||||
import diffusers
|
||||
if os.path.isfile(vae_file):
|
||||
_pipeline, model_type = sd_models.detect_pipeline(model_file, 'vae')
|
||||
diffusers_load_config = {
|
||||
"config": os.path.join(sd_models.get_load_config(model_file, model_type, config_type='json'), 'vae'),
|
||||
}
|
||||
vae_config = sd_models.get_load_config(model_file, model_type, config_type='json')
|
||||
if vae_config is not None:
|
||||
diffusers_load_config = {
|
||||
"config": os.path.join(vae_config, 'vae'),
|
||||
}
|
||||
if os.path.getsize(vae_file) > 1310944880: # 1.3GB
|
||||
vae = diffusers.ConsistencyDecoderVAE.from_pretrained('openai/consistency-decoder', **diffusers_load_config) # consistency decoder does not have from single file, so we'll just download it once more
|
||||
elif os.path.getsize(vae_file) < 10000000: # 10MB
|
||||
|
||||
Reference in New Issue
Block a user