Spaces:
Running
on
Zero
Running
on
Zero
File size: 5,662 Bytes
65d64be 1e250ff d179c4c 23f4f95 d179c4c 23f4f95 9edebae c70346f 9edebae d179c4c 9edebae 98afd85 1e250ff 7a7cda5 d179c4c 7a7cda5 d179c4c 7a7cda5 d179c4c 1e250ff 7a7cda5 23f4f95 65d64be f70898c 1e250ff 7a7cda5 f70898c d179c4c 98afd85 d179c4c 98afd85 7a7cda5 98afd85 d179c4c 65d64be f70898c 23f4f95 9edebae 1e250ff 98afd85 9edebae 23f4f95 af07f4b 9edebae 23f4f95 9edebae 23f4f95 7a7cda5 9edebae 7a7cda5 af07f4b 9edebae 6c1122d 9edebae c70346f 9edebae 7a7cda5 98afd85 23f4f95 9edebae f8b0f0f 23f4f95 9edebae 39a6792 f70898c 23f4f95 6c1122d 9edebae 232c234 23f4f95 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 |
import os
from importlib import import_module
from importlib.util import find_spec
from types import SimpleNamespace
from warnings import filterwarnings
from diffusers import (
DDIMScheduler,
DEISMultistepScheduler,
DPMSolverMultistepScheduler,
EulerAncestralDiscreteScheduler,
EulerDiscreteScheduler,
PNDMScheduler,
UniPCMultistepScheduler,
)
from diffusers.utils import logging as diffusers_logging
from transformers import logging as transformers_logging
from .pipelines import (
CustomStableDiffusionControlNetImg2ImgPipeline,
CustomStableDiffusionControlNetPipeline,
CustomStableDiffusionImg2ImgPipeline,
CustomStableDiffusionPipeline,
)
# Improved GPU handling and progress bars; set before importing spaces
os.environ["ZEROGPU_V2"] = "1"
# Errors if enabled and not installed
if find_spec("hf_transfer"):
os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "1"
filterwarnings("ignore", category=FutureWarning, module="diffusers")
filterwarnings("ignore", category=FutureWarning, module="transformers")
diffusers_logging.set_verbosity_error()
transformers_logging.set_verbosity_error()
# Standard Stable Diffusion 1.5 file structure
sd_files = [
"feature_extractor/preprocessor_config.json",
"safety_checker/config.json",
"scheduler/scheduler_config.json",
"text_encoder/config.json",
"text_encoder/model.fp16.safetensors",
"tokenizer/merges.txt",
"tokenizer/special_tokens_map.json",
"tokenizer/tokenizer_config.json",
"tokenizer/vocab.json",
"unet/config.json",
"unet/diffusion_pytorch_model.fp16.safetensors",
"vae/config.json",
"vae/diffusion_pytorch_model.fp16.safetensors",
"model_index.json",
]
# Using namespace instead of dataclass for simplicity
Config = SimpleNamespace(
HF_TOKEN=os.environ.get("HF_TOKEN", None),
CIVIT_TOKEN=os.environ.get("CIVIT_TOKEN", None),
ZERO_GPU=import_module("spaces").config.Config.zero_gpu,
# TODO: fix model config redundancy
HF_MODELS={
# downloaded on startup
"ai-forever/Real-ESRGAN": ["RealESRGAN_x2.pth", "RealESRGAN_x4.pth"],
"Comfy-Org/stable-diffusion-v1-5-archive": ["v1-5-pruned-emaonly-fp16.safetensors"],
"cyberdelia/CyberRealistic": ["CyberRealistic_V5_FP16.safetensors"],
"fluently/Fluently-v4": ["Fluently-v4.safetensors"],
"Linaqruf/anything-v3-1": ["anything-v3-2.safetensors"],
"lllyasviel/control_v11p_sd15_canny": ["diffusion_pytorch_model.fp16.safetensors"],
"Lykon/dreamshaper-8": [*sd_files],
"madebyollin/taesd": ["diffusion_pytorch_model.safetensors"],
"prompthero/openjourney-v4": ["openjourney-v4.ckpt"],
"SG161222/Realistic_Vision_V5.1_noVAE": ["Realistic_Vision_V5.1_fp16-no-ema.safetensors"],
"XpucT/Deliberate": ["Deliberate_v6.safetensors"],
},
CIVIT_LORAS={
# https://civitai.com/models/411088?modelVersionId=486099
"perfection_style": {
"model_id": "411088",
"model_version_id": "486099",
"name": "Perfection Style",
"trigger": "perfection style",
},
# https://civitai.com/models/421162?modelVersionId=486110
"detailed_style": {
"model_id": "421162",
"model_version_id": "486110",
"name": "Detailed Style",
"trigger": "detailed style",
},
},
MONO_FONTS=["monospace"],
SANS_FONTS=[
"sans-serif",
"Apple Color Emoji",
"Segoe UI Emoji",
"Segoe UI Symbol",
"Noto Color Emoji",
],
PIPELINES={
"txt2img": CustomStableDiffusionPipeline,
"img2img": CustomStableDiffusionImg2ImgPipeline,
"controlnet_txt2img": CustomStableDiffusionControlNetPipeline,
"controlnet_img2img": CustomStableDiffusionControlNetImg2ImgPipeline,
},
MODEL="Lykon/dreamshaper-8",
MODELS=[
"Comfy-Org/stable-diffusion-v1-5-archive",
"cyberdelia/CyberRealistic",
"fluently/Fluently-v4",
"Linaqruf/anything-v3-1",
"Lykon/dreamshaper-8",
"prompthero/openjourney-v4",
"SG161222/Realistic_Vision_V5.1_noVAE",
"XpucT/Deliberate",
],
# Single-file model weights
MODEL_CHECKPOINTS={
# keep keys lowercase for case-insensitive matching in the loader
"comfy-org/stable-diffusion-v1-5-archive": "v1-5-pruned-emaonly-fp16.safetensors",
"cyberdelia/cyberrealistic": "CyberRealistic_V5_FP16.safetensors",
"fluently/fluently-v4": "Fluently-v4.safetensors",
"linaqruf/anything-v3-1": "anything-v3-2.safetensors",
"prompthero/openjourney-v4": "openjourney-v4.ckpt",
"sg161222/realistic_vision_v5.1_novae": "Realistic_Vision_V5.1_fp16-no-ema.safetensors",
"xpuct/deliberate": "Deliberate_v6.safetensors",
},
SCHEDULER="UniPC 2M",
SCHEDULERS={
"DDIM": DDIMScheduler,
"DEIS 2M": DEISMultistepScheduler,
"DPM++ 2M": DPMSolverMultistepScheduler,
"Euler": EulerDiscreteScheduler,
"Euler a": EulerAncestralDiscreteScheduler,
"PNDM": PNDMScheduler,
"UniPC 2M": UniPCMultistepScheduler,
},
ANNOTATOR="canny",
ANNOTATORS={
"canny": "lllyasviel/control_v11p_sd15_canny",
},
EMBEDDING="fast_negative",
EMBEDDINGS=[
"cyberrealistic_negative",
"fast_negative",
"unrealistic_dream",
],
STYLE="enhance",
WIDTH=512,
HEIGHT=512,
NUM_IMAGES=1,
SEED=-1,
GUIDANCE_SCALE=7.5,
INFERENCE_STEPS=40,
DENOISING_STRENGTH=0.7,
DEEPCACHE_INTERVAL=1,
SCALE=1,
SCALES=[1, 2, 4],
)
|