diff --git a/cli/simple-info.py b/cli/simple-info.py index dc607b39a..4d1fd6d75 100755 --- a/cli/simple-info.py +++ b/cli/simple-info.py @@ -1,18 +1,18 @@ #!/usr/bin/env python import os -import io import time import base64 import logging import argparse import requests import urllib3 -from PIL import Image + sd_url = os.environ.get('SDAPI_URL', "http://127.0.0.1:7860") sd_username = os.environ.get('SDAPI_USR', None) sd_password = os.environ.get('SDAPI_PWD', None) + logging.basicConfig(level = logging.INFO, format = '%(asctime)s %(levelname)s: %(message)s') log = logging.getLogger(__name__) urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) @@ -40,16 +40,11 @@ def post(endpoint: str, dct: dict = None): return req.json() -def encode(fn): - with open(fn, 'rb') as f: - content = f.read() - encoded = base64.b64encode(content).decode() - return encoded - - def info(args): # pylint: disable=redefined-outer-name t0 = time.time() - data = post('/sdapi/v1/png-info', { 'image': encode(args.input) }) + with open(args.input, 'rb') as f: + content = f.read() + data = post('/sdapi/v1/png-info', { 'image': base64.b64encode(content).decode() }) t1 = time.time() log.info(f'received: {data} time={t1-t0:.2f}') diff --git a/modules/sd_models.py b/modules/sd_models.py index f4795d537..9635b4368 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -856,10 +856,13 @@ def load_diffuser(checkpoint_info=None, already_loaded_state_dict=None, timer=No if model_type in ['Stable Cascade']: # forced pipeline # TODO experimental stable cascade try: + shared.log.debug(f'StableCascade experimental: args={diffusers_load_config} device={devices.device} dtype={devices.dtype}') diffusers_load_config.pop("vae", None) diffusers_load_config.pop("variant", None) decoder = diffusers.StableCascadeDecoderPipeline.from_pretrained("stabilityai/stable-cascade", cache_dir=shared.opts.diffusers_dir, revision="refs/pr/17", **diffusers_load_config) + shared.log.debug(f'StableCascade decoder: scale={decoder.latent_dim_scale}') prior = diffusers.StableCascadePriorPipeline.from_pretrained("stabilityai/stable-cascade-prior", cache_dir=shared.opts.diffusers_dir, **diffusers_load_config) + shared.log.debug(f'StableCascade prior: scale={prior.resolution_multiple}') sd_model = diffusers.StableCascadeCombinedPipeline( tokenizer=decoder.tokenizer, text_encoder=decoder.text_encoder, @@ -869,9 +872,11 @@ def load_diffuser(checkpoint_info=None, already_loaded_state_dict=None, timer=No prior_prior=prior.prior, prior_text_encoder=prior.text_encoder, prior_tokenizer=prior.tokenizer, + prior_tokenizer=prior.tokenizer, prior_scheduler=prior.scheduler, - prior_feature_extractor=prior.feature_extractor, - prior_image_encoder=prior.image_encoder) + prior_prior_feature_extractor=prior.feature_extractor, + prior_prior_image_encoder=prior.image_encoder) + shared.log.debug(f'StableCascade combined: {sd_model.__class__.__name__}') except Exception as e: shared.log.error(f'Diffusers Failed loading {op}: {checkpoint_info.path} {e}') if debug_load: