futureproof

Signed-off-by: Vladimir Mandic <mandic00@live.com>
This commit is contained in:
Vladimir Mandic
2026-01-15 09:29:26 +00:00
parent 3800bbf2ef
commit 30da7803b5
6 changed files with 23 additions and 26 deletions
+3 -1
View File
@@ -13,7 +13,9 @@
- [GLM-Image](https://huggingface.co/zai-org/GLM-Image)
GLM-image is a new image generation model that adopts a hybrid autoregressive with diffusion decoder architecture
available in both *original* and *sdnq-dynamic prequantized* variants, thanks @CalamitousFelicitousness
*note*: model requires usage of `--new` flag to install pre-release versions of required package
*note*: model requires pre-release versions of `transformers` package:
> pip install --upgrade git+https://github.com/huggingface/transformers.git
> ./webui.sh --experimental
- [Nunchaku Z-Image Turbo](https://huggingface.co/nunchaku-tech/nunchaku-z-image-turbo)
- **Feaures**
- **SDNQ**: add *dynamic* quantization method
+13 -10
View File
@@ -99,14 +99,23 @@ except Exception:
_bnb = False
timer.startup.record("bnb")
import huggingface_hub # pylint: disable=W0611,C0411
logging.getLogger("huggingface_hub.file_download").setLevel(logging.ERROR)
if huggingface_hub.__version__.startswith('0.'):
huggingface_hub.is_offline_mode = lambda: False
timer.startup.record("hfhub")
import accelerate # pylint: disable=W0611,C0411
timer.startup.record("accelerate")
import pydantic # pylint: disable=W0611,C0411
timer.startup.record("pydantic")
import transformers # pylint: disable=W0611,C0411
from transformers import logging as transformers_logging # pylint: disable=W0611,C0411
transformers_logging.set_verbosity_error()
timer.startup.record("transformers")
import accelerate # pylint: disable=W0611,C0411
timer.startup.record("accelerate")
try:
import onnxruntime # pylint: disable=W0611,C0411
onnxruntime.set_default_logger_severity(4)
@@ -121,9 +130,6 @@ import gradio # pylint: disable=W0611,C0411
timer.startup.record("gradio")
errors.install([gradio])
import pydantic # pylint: disable=W0611,C0411
timer.startup.record("pydantic")
# patch different progress bars
import tqdm as tqdm_lib # pylint: disable=C0411
from tqdm.rich import tqdm # pylint: disable=W0611,C0411
@@ -145,10 +151,6 @@ except Exception as e:
errors.log.error('Please restart re-run the installer')
sys.exit(1)
import huggingface_hub # pylint: disable=W0611,C0411
logging.getLogger("huggingface_hub.file_download").setLevel(logging.ERROR)
timer.startup.record("hfhub")
try:
import pillow_jxl # pylint: disable=W0611,C0411
except Exception:
@@ -185,6 +187,7 @@ def get_packages():
"gradio": gradio.__version__,
"transformers": transformers.__version__,
"accelerate": accelerate.__version__,
"hub": huggingface_hub.__version__,
}
try:
+1 -1
View File
@@ -45,7 +45,7 @@ def hf_login(token=None):
except Exception:
pass
with contextlib.redirect_stdout(stdout):
hf.login(token=token, add_to_git_credential=False, write_permission=False)
hf.login(token=token, add_to_git_credential=False)
os.environ['HF_TOKEN'] = token
text = stdout.getvalue() or ''
obfuscated_token = 'hf_...' + token[-4:]
+1
View File
@@ -326,6 +326,7 @@ class ExtraNetworksPage:
else:
style = 'network-folder'
subdirs_html += f'<button class="lg secondary gradio-button custom-button {style}" onclick="extraNetworksSearchButton(event)">{html.escape(subdir)}</button><br>'
self.html = ''
self.create_items(tabname)
versions = sorted({item.get("version", "") for item in self.items if item.get("version")})
+3 -1
View File
@@ -19,6 +19,8 @@ version_map = {
"StableDiffusionXL": "SD XL",
"WanToVideo": "Wan",
"WanVACE": "Wan",
"Z": "Z-Image",
"Glm": "GLM-Image",
}
class ExtraNetworksPageCheckpoints(ui_extra_networks.ExtraNetworksPage):
@@ -91,7 +93,7 @@ class ExtraNetworksPageCheckpoints(ui_extra_networks.ExtraNetworksPage):
ready = reference_downloaded(url)
version = "ready" if ready else "download"
if tag == 'cloud':
version = 'cloud'
version = 'Cloud'
if not ready and shared.opts.offline_mode:
count['hidden'] += 1
continue
+2 -13
View File
@@ -15,7 +15,7 @@ import PIL.Image
import numpy as np
import torch
import torchvision
from transformers import CLIPFeatureExtractor, CLIPTextModel, CLIPTextModelWithProjection, CLIPTokenizer
from transformers import CLIPImageProcessor, CLIPTextModel, CLIPTextModelWithProjection, CLIPTokenizer
from diffusers.image_processor import VaeImageProcessor
from diffusers.loaders import FromSingleFileMixin, LoraLoaderMixin, TextualInversionLoaderMixin
from diffusers.models import AutoencoderKL, UNet2DConditionModel
@@ -1059,7 +1059,7 @@ class StableDiffusionDiffImg2ImgPipeline(DiffusionPipeline):
unet: UNet2DConditionModel,
scheduler: KarrasDiffusionSchedulers,
safety_checker: StableDiffusionSafetyChecker,
feature_extractor: CLIPFeatureExtractor,
feature_extractor: CLIPImageProcessor,
requires_safety_checker: bool = False,
):
super().__init__()
@@ -1353,17 +1353,6 @@ class StableDiffusionDiffImg2ImgPipeline(DiffusionPipeline):
return prompt_embeds
# Copied from diffusers.pipelines.stable_diffusion.pipeline_stable_diffusion.StableDiffusionPipeline.run_safety_checker
def run_safety_checker(self, image, device, dtype):
if self.safety_checker is not None:
safety_checker_input = self.feature_extractor(self.numpy_to_pil(image), return_tensors="pt").to(device)
image, has_nsfw_concept = self.safety_checker(
images=image, clip_input=safety_checker_input.pixel_values.to(dtype)
)
else:
has_nsfw_concept = None
return image, has_nsfw_concept
# Copied from diffusers.pipelines.stable_diffusion.pipeline_stable_diffusion.StableDiffusionPipeline.decode_latents
def decode_latents(self, latents):
latents = 1 / self.vae.config.scaling_factor * latents