Spaces:
Running
on
Zero
Running
on
Zero
File size: 4,399 Bytes
7abf701 a6021dc 5114b0d 7abf701 5114b0d 7abf701 5114b0d 7abf701 a6021dc 4ff5580 a6021dc 4ff5580 a6021dc 7abf701 5114b0d c5562d1 5114b0d 7abf701 3319cd3 8da4629 3319cd3 7abf701 a6021dc 7abf701 4ff5580 7abf701 4ff5580 7abf701 3319cd3 7abf701 4ff5580 7abf701 4ff5580 7abf701 4ff5580 7abf701 4ff5580 7abf701 4ff5580 7abf701 4ff5580 7abf701 8da4629 7abf701 4ff5580 7abf701 8da4629 7abf701 4ff5580 7abf701 a6021dc 7abf701 a6021dc 7abf701 4ff5580 |
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 |
import gradio as gr
import numpy as np
import random
import spaces
import torch
from diffusers import DiffusionPipeline
from transformers import pipeline
# ๋ฒ์ญ ํ์ดํ๋ผ์ธ ๋ฐ ํ๋์จ์ด ์ค์
device = "cuda" if torch.cuda.is_available() else "cpu"
translator = pipeline("translation", model="Helsinki-NLP/opus-mt-ko-en", device=device)
dtype = torch.bfloat16
pipe = DiffusionPipeline.from_pretrained("black-forest-labs/FLUX.1-schnell", torch_dtype=dtype).to(device)
MAX_SEED = np.iinfo(np.int32).max
MAX_IMAGE_SIZE = 2048
@spaces.GPU()
def infer(prompt, seed=42, randomize_seed=False, width=1024, height=1024, num_inference_steps=4, progress=gr.Progress(track_tqdm=True)):
if randomize_seed:
seed = random.randint(0, MAX_SEED)
generator = torch.Generator().manual_seed(seed)
# ํ๊ธ ์
๋ ฅ ๊ฐ์ง ๋ฐ ๋ฒ์ญ
if any('\uAC00' <= char <= '\uD7A3' for char in prompt):
print("ํ๊ตญ์ด ํ๋กฌํํธ ๋ฒ์ญ ์ค...")
translated_prompt = translator(prompt, max_length=512)[0]['translation_text']
print("๋ฒ์ญ๋ ํ๋กฌํํธ:", translated_prompt)
prompt = translated_prompt
image = pipe(
prompt = prompt,
width = width,
height = height,
num_inference_steps = num_inference_steps,
generator = generator,
guidance_scale=0.0
).images[0]
return image, seed
examples = [
["Create a new logo for a [Color Tone: Blue] [Design Concept: ROCKET] [Text: 'WORLD'] [Background: BLUE COLOR]"],
["Create a new logo for a [Color Tone: Blue] [Design Concept: UNIVERSE] [Text: 'COCA COLA'] [Background: COLORFUL]"],
["simple futuristic logo kamikaze drone on a shield, minimalistic, vector, 2D, simple lines, White background --v 4"],
["Create a new logo for a [Color Tone: Blue] [Design Concept: MOUNTAIN] [Text: '[email protected]'] [Background: RED COLOR] "],
["Create a new logo for a [Color Tone: Blue] [Design Concept: HUMAN] [Text: 'ABC.COM'] [Background: YELLOW COLOR] "],
["Create a new logo for a [Color Tone: Blue] [Design Concept: HOUSE] [Text: 'T.010-1234-1234'] [Background: COLORFUL] "],
["Create a new logo for a [Color Tone: Blue] [Design Concept: LION] [Text: 'SOCCER CLUB'] [Background: GREEN COLOR]"]
]
css = """
footer {
visibility: hidden;
}
"""
with gr.Blocks(theme="Nymbo/Nymbo_Theme", css=css) as demo:
with gr.Column(elem_id="col-container"):
with gr.Row():
prompt = gr.Text(
label="ํ๋กฌํํธ",
show_label=False,
max_lines=1,
placeholder="ํ๋กฌํํธ๋ฅผ ์
๋ ฅํ์ธ์",
container=False,
elem_id="prompt"
)
run_button = gr.Button("์คํ", scale=0)
result = gr.Image(label="๊ฒฐ๊ณผ", show_label=False, elem_id="result")
with gr.Accordion("๊ณ ๊ธ ์ค์ ", open=False, elem_id="advanced-settings"):
seed = gr.Slider(
label="์๋",
minimum=0,
maximum=MAX_SEED,
step=1,
value=0,
)
randomize_seed = gr.Checkbox(label="์๋ ๋ฌด์์ํ", value=True)
with gr.Row():
width = gr.Slider(
label="๋๋น",
minimum=256,
maximum=MAX_IMAGE_SIZE,
step=32,
value=512,
)
height = gr.Slider(
label="๋์ด",
minimum=256,
maximum=MAX_IMAGE_SIZE,
step=32,
value=512,
)
with gr.Row():
num_inference_steps = gr.Slider(
label="์ถ๋ก ๋จ๊ณ ์",
minimum=1,
maximum=50,
step=1,
value=4,
)
gr.Examples(
examples=examples,
fn=infer,
inputs=[prompt],
outputs=[result, seed],
cache_examples="lazy"
)
gr.on(
triggers=[run_button.click, prompt.submit],
fn=infer,
inputs=[prompt, seed, randomize_seed, width, height, num_inference_steps],
outputs=[result, seed]
)
demo.launch() |