Spaces:
Running
Running
File size: 2,137 Bytes
66b0cef 0d2ed9b b3b13e2 0d2ed9b 66b0cef de26b63 0d2ed9b 5808f1f 0d2ed9b 5808f1f de26b63 0d2ed9b de26b63 0d2ed9b de26b63 0d2ed9b 6606b94 0d2ed9b de26b63 0d2ed9b de26b63 0d2ed9b de26b63 0d2ed9b de26b63 0d2ed9b de26b63 0d2ed9b de26b63 0d2ed9b de26b63 73a0c03 baf2123 |
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 |
import gradio as gr
import threading
import os
import torch
os.environ["OMP_NUM_THREADS"] = str(os.cpu_count())
torch.set_num_threads(os.cpu_count())
model1 = gr.load("models/prithivMLmods/SD3.5-Turbo-Realism-2.0-LoRA")
model2 = gr.load("models/Purz/face-projection")
stop_event = threading.Event()
def generate_images(text, selected_model):
stop_event.clear()
if selected_model == "Model 1 (Turbo Realism)":
model = model1
elif selected_model == "Model 2 (Face Projection)":
model = model2
else:
return ["Invalid model selection."] * 3
results = []
for i in range(3):
if stop_event.is_set():
return ["Image generation stopped by user."] * 3
modified_text = f"{text} variation {i+1}"
try:
result = model.predict(modified_text)
results.append(result)
except Exception as e:
results.append(f"Error: {str(e)}")
return results
def stop_generation():
stop_event.set()
return ["Generation stopped."] * 3
with gr.Blocks() as interface:
gr.Markdown(
"### ⚠ Sorry for the inconvenience. The model is currently running on the CPU, which might affect performance. We appreciate your understanding."
)
text_input = gr.Textbox(label="Type here your imagination:", placeholder="Type your prompt...")
model_selector = gr.Radio(
["Model 1 (Turbo Realism)", "Model 2 (Face Projection)"],
label="Select Model",
value="Model 1 (Turbo Realism)"
)
with gr.Row():
generate_button = gr.Button("Generate 3 Images")
stop_button = gr.Button("Stop Image Generation")
with gr.Row():
output1 = gr.Image(label="Generated Image 1")
output2 = gr.Image(label="Generated Image 2")
output3 = gr.Image(label="Generated Image 3")
generate_button.click(
generate_images,
inputs=[text_input, model_selector],
outputs=[output1, output2, output3]
)
stop_button.click(
stop_generation,
inputs=[],
outputs=[output1, output2, output3]
)
interface.launch() |