mirror of
https://github.com/vladmandic/automatic
synced 2026-09-19 09:14:35 +02:00
+3
-1
@@ -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
@@ -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:
|
||||
|
||||
@@ -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:]
|
||||
|
||||
@@ -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")})
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user