diff --git a/modules/modelstats.py b/modules/modelstats.py index 3657e523a..2e5e7f447 100644 --- a/modules/modelstats.py +++ b/modules/modelstats.py @@ -102,6 +102,8 @@ def analyze(): keys = sd_models.get_signature(shared.sd_model).keys() model.modules.clear() for k in keys: # pylint: disable=protected-access + if k.startswith('_'): + continue component = getattr(shared.sd_model, k, None) module = Module(k, component) model.modules.append(module) diff --git a/modules/processing_diffusers.py b/modules/processing_diffusers.py index 8343559c4..4ae15903a 100644 --- a/modules/processing_diffusers.py +++ b/modules/processing_diffusers.py @@ -12,8 +12,7 @@ from modules.onnx_impl import preprocess_pipeline as preprocess_onnx_pipeline, c from modules.lora import lora_common -debug = shared.log.trace if os.environ.get('SD_DIFFUSERS_DEBUG', None) is not None else lambda *args, **kwargs: None -debug('Trace: DIFFUSERS') +debug = os.environ.get('SD_DIFFUSERS_DEBUG', None) is not None last_p = None orig_pipeline = shared.sd_model @@ -136,6 +135,8 @@ def process_base(p: processing.StableDiffusionProcessing): if shared.opts.scheduler_eta is not None and shared.opts.scheduler_eta > 0 and shared.opts.scheduler_eta < 1: p.extra_generation_params["Sampler Eta"] = shared.opts.scheduler_eta output = None + if debug: + modelstats.analyze() try: t0 = time.time() extra_networks.activate(p, exclude=['text_encoder', 'text_encoder_2', 'text_encoder_3']) @@ -471,7 +472,8 @@ def validate_pipeline(p: processing.StableDiffusionProcessing): def process_diffusers(p: processing.StableDiffusionProcessing): results = [] - debug(f'Process diffusers args: {vars(p)}') + if debug: + shared.log.trace(f'Process diffusers args: {vars(p)}') if not validate_pipeline(p): return results diff --git a/pipelines/generic.py b/pipelines/generic.py index c4d3a4785..43e282b17 100644 --- a/pipelines/generic.py +++ b/pipelines/generic.py @@ -64,9 +64,8 @@ def load_transformer(repo_id, cls_name, load_config={}, subfolder="transformer", if shared.opts.diffusers_offload_mode != 'none' and transformer is not None: sd_models.move_model(transformer, devices.cpu) except Exception as e: - shared.log.error(f'Load model: type=transformer {e}') - if debug: - errors.display(e, 'Load:') + shared.log.error(f'Load model: transformer="{repo_id}" cls={cls_name.__name__} {e}') + errors.display(e, 'Load:') raise devices.torch_gc() return transformer @@ -156,9 +155,8 @@ def load_text_encoder(repo_id, cls_name, load_config={}, subfolder="text_encoder if shared.opts.diffusers_offload_mode != 'none' and text_encoder is not None: sd_models.move_model(text_encoder, devices.cpu) except Exception as e: - shared.log.error(f'Load model: type=te {e}') - if debug: - errors.display(e, 'Load:') + shared.log.error(f'Load model: text_encoder="{repo_id}" cls={cls_name.__name__} {e}') + errors.display(e, 'Load:') raise devices.torch_gc() return text_encoder