Spaces:
Runtime error
Runtime error
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 | |
ru2en = gr.Interface.load("huggingface/Helsinki-NLP/opus-mt-ru-en") | |
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(600) # 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_it(inputs, noise_level, proc1=proc1): | |
prompt_with_noise = add_random_noise(inputs, noise_level) | |
output = proc1(prompt_with_noise) | |
return output | |
with gr.Blocks(css='style.css') as demo: | |
with gr.Column(elem_id="col-container"): | |
with gr.Row(variant="compact"): | |
input_text_ru = gr.Textbox( | |
label="Short Ru", | |
# show_label=False, | |
# max_lines=2, | |
placeholder="девушка", | |
) | |
Translate = gr.Button("Ru ▶ En").style(full_width=False) | |
input_text = gr.Textbox( | |
label="Short En", | |
# show_label=False, | |
# max_lines=2, | |
placeholder="girl", | |
) | |
with gr.Row(variant="compact"): | |
prompt = gr.Textbox( | |
label="Prompt", | |
# show_label=False, | |
# max_lines=2, | |
placeholder="proto, girl, high details", | |
).style( | |
container=False, | |
) | |
see_prompts = gr.Button("✨ Magic Prompt ✨").style(full_width=False) | |
with gr.Row(variant="compact"): | |
with gr.Column(): | |
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() | |
Translate.click(ru2en, inputs=[input_text_ru], outputs=[input_text], queue=False) | |
see_prompts.click(get_prompts, inputs=[input_text], outputs=[prompt], queue=False) | |
run1.click(send_it, inputs=[prompt, noise_level], outputs=[output1]) | |
run2.click(send_it, inputs=[prompt, noise_level], outputs=[output2]) | |
run3.click(send_it, inputs=[prompt, noise_level], outputs=[output3]) | |
run4.click(send_it, inputs=[prompt, noise_level], outputs=[output4]) | |
demo.launch(enable_queue=True, inline=True) | |
block.queue(concurrency_count=8) |