Spaces:
Running
on
Zero
Running
on
Zero
Update app.py
Browse files
app.py
CHANGED
|
@@ -24,7 +24,7 @@ os.environ["TRANSFORMERS_CACHE"] = cache_path
|
|
| 24 |
os.environ["HF_HUB_CACHE"] = cache_path
|
| 25 |
os.environ["HF_HOME"] = cache_path
|
| 26 |
|
| 27 |
-
torch.set_float32_matmul_precision("
|
| 28 |
|
| 29 |
#torch._inductor.config.conv_1x1_as_mm = True
|
| 30 |
#torch._inductor.config.coordinate_descent_tuning = True
|
|
@@ -40,6 +40,16 @@ with open('loras.json', 'r') as f:
|
|
| 40 |
#base_model = "stabilityai/stable-diffusion-3.5-large"
|
| 41 |
pipe = AutoPipelineForText2Image.from_pretrained("ariG23498/sd-3.5-merged", torch_dtype=torch.bfloat16)
|
| 42 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 43 |
#clipmodel = 'norm'
|
| 44 |
#if clipmodel == "long":
|
| 45 |
# model_id = "zer0int/LongCLIP-GmP-ViT-L-14"
|
|
@@ -85,9 +95,10 @@ class calculateDuration:
|
|
| 85 |
|
| 86 |
def update_selection(evt: gr.SelectData, width, height):
|
| 87 |
selected_lora = loras[evt.index]
|
| 88 |
-
new_placeholder = f"
|
| 89 |
lora_repo = selected_lora["repo"]
|
| 90 |
-
|
|
|
|
| 91 |
if "aspect" in selected_lora:
|
| 92 |
if selected_lora["aspect"] == "portrait":
|
| 93 |
width = 768
|
|
@@ -103,7 +114,7 @@ def update_selection(evt: gr.SelectData, width, height):
|
|
| 103 |
height,
|
| 104 |
)
|
| 105 |
|
| 106 |
-
@spaces.GPU(duration=
|
| 107 |
def infer(prompt, negative_prompt, trigger_word, steps, seed, cfg_scale, width, height, lora_scale, progress):
|
| 108 |
pipe.to("cuda")
|
| 109 |
generator = torch.Generator(device="cuda").manual_seed(seed)
|
|
@@ -128,7 +139,7 @@ def run_lora(prompt, negative_prompt, cfg_scale, steps, selected_index, randomiz
|
|
| 128 |
|
| 129 |
selected_lora = loras[selected_index]
|
| 130 |
lora_path = selected_lora["repo"]
|
| 131 |
-
trigger_word = selected_lora[
|
| 132 |
|
| 133 |
# Load LoRA weights
|
| 134 |
with calculateDuration(f"Loading LoRA weights for {selected_lora['title']}"):
|
|
@@ -158,17 +169,17 @@ css = '''
|
|
| 158 |
'''
|
| 159 |
with gr.Blocks(theme=gr.themes.Soft(), css=css) as app:
|
| 160 |
title = gr.HTML(
|
| 161 |
-
"""<h1><img src="https://huggingface.co/AlekseyCalvin/StabledHSTorY_SD3.5_LoRA_V2_rank256/resolve/main/acs62v.png" alt="LoRA">Stabled LoRAs soon® on S.D.3.
|
| 162 |
elem_id="title",
|
| 163 |
)
|
| 164 |
# Info blob stating what the app is running
|
| 165 |
info_blob = gr.HTML(
|
| 166 |
-
"""<div id="info_blob">SOON®'s curated
|
| 167 |
)
|
| 168 |
|
| 169 |
# Info blob stating what the app is running
|
| 170 |
info_blob = gr.HTML(
|
| 171 |
-
"""<div id="info_blob">
|
| 172 |
)
|
| 173 |
selected_index = gr.State(None)
|
| 174 |
with gr.Row():
|
|
|
|
| 24 |
os.environ["HF_HUB_CACHE"] = cache_path
|
| 25 |
os.environ["HF_HOME"] = cache_path
|
| 26 |
|
| 27 |
+
torch.set_float32_matmul_precision("medium")
|
| 28 |
|
| 29 |
#torch._inductor.config.conv_1x1_as_mm = True
|
| 30 |
#torch._inductor.config.coordinate_descent_tuning = True
|
|
|
|
| 40 |
#base_model = "stabilityai/stable-diffusion-3.5-large"
|
| 41 |
pipe = AutoPipelineForText2Image.from_pretrained("ariG23498/sd-3.5-merged", torch_dtype=torch.bfloat16)
|
| 42 |
|
| 43 |
+
model_id = ("zer0int/LongCLIP-GmP-ViT-L-14")
|
| 44 |
+
config = CLIPConfig.from_pretrained(model_id)
|
| 45 |
+
config.text_config.max_position_embeddings = 248
|
| 46 |
+
clip_model = CLIPModel.from_pretrained(model_id, torch_dtype=torch.bfloat16, config=config, ignore_mismatched_sizes=True)
|
| 47 |
+
clip_processor = CLIPProcessor.from_pretrained(model_id, padding="max_length", max_length=248)
|
| 48 |
+
pipe.tokenizer = clip_processor.tokenizer
|
| 49 |
+
pipe.text_encoder = clip_model.text_model
|
| 50 |
+
pipe.tokenizer_max_length = 248
|
| 51 |
+
pipe.text_encoder.dtype = torch.bfloat16
|
| 52 |
+
|
| 53 |
#clipmodel = 'norm'
|
| 54 |
#if clipmodel == "long":
|
| 55 |
# model_id = "zer0int/LongCLIP-GmP-ViT-L-14"
|
|
|
|
| 95 |
|
| 96 |
def update_selection(evt: gr.SelectData, width, height):
|
| 97 |
selected_lora = loras[evt.index]
|
| 98 |
+
new_placeholder = f"Prompt with activator word(s): '{selected_lora['trigger_word']}'! "
|
| 99 |
lora_repo = selected_lora["repo"]
|
| 100 |
+
lora_trigger = selected_lora['trigger_word']
|
| 101 |
+
updated_text = f"### Selected: [{lora_repo}](https://huggingface.co/{lora_repo}). Prompt using: '{lora_trigger}'!"
|
| 102 |
if "aspect" in selected_lora:
|
| 103 |
if selected_lora["aspect"] == "portrait":
|
| 104 |
width = 768
|
|
|
|
| 114 |
height,
|
| 115 |
)
|
| 116 |
|
| 117 |
+
@spaces.GPU(duration=50)
|
| 118 |
def infer(prompt, negative_prompt, trigger_word, steps, seed, cfg_scale, width, height, lora_scale, progress):
|
| 119 |
pipe.to("cuda")
|
| 120 |
generator = torch.Generator(device="cuda").manual_seed(seed)
|
|
|
|
| 139 |
|
| 140 |
selected_lora = loras[selected_index]
|
| 141 |
lora_path = selected_lora["repo"]
|
| 142 |
+
trigger_word = selected_lora['trigger_word']
|
| 143 |
|
| 144 |
# Load LoRA weights
|
| 145 |
with calculateDuration(f"Loading LoRA weights for {selected_lora['title']}"):
|
|
|
|
| 169 |
'''
|
| 170 |
with gr.Blocks(theme=gr.themes.Soft(), css=css) as app:
|
| 171 |
title = gr.HTML(
|
| 172 |
+
"""<h1><img src="https://huggingface.co/AlekseyCalvin/StabledHSTorY_SD3.5_LoRA_V2_rank256/resolve/main/acs62v.png" alt="LoRA">Stabled LoRAs soon® on S.D.3.5L Merged</h1>""",
|
| 173 |
elem_id="title",
|
| 174 |
)
|
| 175 |
# Info blob stating what the app is running
|
| 176 |
info_blob = gr.HTML(
|
| 177 |
+
"""<div id="info_blob">SOON®'s curated Art Manufactory & Gallery of fine-tuned Low-Rank Adapter (LoRA) models for Stable Diffusion 3.5 Large (S.D.3.5L). Running on a base model variant averaging weights b/w slow S.D.3.5L & its turbo distillation.</div>"""
|
| 178 |
)
|
| 179 |
|
| 180 |
# Info blob stating what the app is running
|
| 181 |
info_blob = gr.HTML(
|
| 182 |
+
"""<div id="info_blob"> To reinforce/focus a selected adapter style, add its pre-encoded “trigger" word/phrase to your prompt. Corresponding activator info &/or prompt template appears once an adapter square is clicked. Copy/Paste these into prompt box as a starting point. </div>"""
|
| 183 |
)
|
| 184 |
selected_index = gr.State(None)
|
| 185 |
with gr.Row():
|