Spaces:
Runtime error
Runtime error
File size: 4,267 Bytes
d2f95ac 294f22f d2f95ac 832ff89 d2f95ac 832ff89 d2f95ac 4a6ceaa d2f95ac 4a6ceaa d2f95ac |
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 |
import gradio as gr
import os
import sys
from pathlib import Path
import random
import string
import time
from queue import Queue
from threading import Thread
import emoji
text_gen=gr.Interface.load("spaces/phenomenon1981/MagicPrompt-Stable-Diffusion")
def get_prompts(prompt_text):
return text_gen("photo, " + prompt_text)
proc1=gr.Interface.load("models/dreamlike-art/dreamlike-photoreal-2.0")
def restart_script_periodically():
while True:
time.sleep(6000) # 100 minutes
try:
os.execl(sys.executable, sys.executable, *sys.argv)
except:
pass
restart_thread = Thread(target=restart_script_periodically, daemon=True)
restart_thread.start()
queue = Queue()
queue_threshold = 800
def add_random_noise(prompt, noise_level=0.00):
if noise_level == 0:
noise_level = 0.00
# Get the percentage of characters to add as noise
percentage_noise = noise_level * 5
# Get the number of characters to add as noise
num_noise_chars = int(len(prompt) * (percentage_noise/100))
# Get the indices of the characters to add noise to
noise_indices = random.sample(range(len(prompt)), num_noise_chars)
# Add noise to the selected characters
prompt_list = list(prompt)
# Add numbers, special characters, and all emojis to the list of characters used to add noise
noise_chars = string.ascii_letters + string.punctuation + ' ' + string.digits + emoji.emojize(":all:")
for index in noise_indices:
prompt_list[index] = random.choice(noise_chars)
return "".join(prompt_list)
def send_it1(inputs, noise_level, proc1=proc1):
prompt_with_noise = add_random_noise(inputs, noise_level)
output1 = proc1(prompt_with_noise)
return output1
def send_it2(inputs, noise_level, proc1=proc1):
prompt_with_noise = add_random_noise(inputs, noise_level)
output2 = proc1(prompt_with_noise)
return output2
def send_it3(inputs, noise_level, proc1=proc1):
prompt_with_noise = add_random_noise(inputs, noise_level)
output3 = proc1(prompt_with_noise)
return output3
def send_it4(inputs, noise_level, proc1=proc1):
prompt_with_noise = add_random_noise(inputs, noise_level)
output4 = proc1(prompt_with_noise)
return output4
with gr.Blocks(css='style.css') as demo:
with gr.Column(elem_id="col-container"):
with gr.Row(variant="compact"):
input_text = gr.Textbox(
label="Short Prompt",
show_label=False,
max_lines=2,
placeholder="Enter a basic idea and click 'Magic Prompt'",
).style(
container=False,
)
see_prompts = gr.Button("✨ Magic Prompt ✨").style(full_width=False)
with gr.Row(variant="compact"):
prompt = gr.Textbox(
label="Enter your prompt",
show_label=False,
max_lines=2,
placeholder="Full Prompt",
).style(
container=False,
)
with gr.Row():
with gr.Row():
noise_level = gr.Slider(minimum=0.0, maximum=3, step=0.1, label="Noise Level")
with gr.Row():
with gr.Column():
run1 = gr.Button("Generate").style(full_width=False)
output1=gr.Image()
with gr.Column():
run2 = gr.Button("Generate").style(full_width=False)
output2=gr.Image()
with gr.Column():
run3 = gr.Button("Generate").style(full_width=False)
output3=gr.Image()
with gr.Column():
run4 = gr.Button("Generate").style(full_width=False)
output4=gr.Image()
see_prompts.click(get_prompts, inputs=[input_text], outputs=[prompt], queue=False)
run1.click(send_it1, inputs=[prompt, noise_level], outputs=[output1])
run2.click(send_it2, inputs=[prompt, noise_level], outputs=[output2])
run3.click(send_it3, inputs=[prompt, noise_level], outputs=[output3])
run4.click(send_it4, inputs=[prompt, noise_level], outputs=[output4])
demo.launch(enable_queue=True, inline=True)
block.queue(concurrency_count=100) |