1c1 commited on
Commit
61f3dfd
·
verified ·
1 Parent(s): 4329e76

Create python.py

Browse files
Files changed (1) hide show
  1. python.py +62 -0
python.py ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from diffusers import StableDiffusionPipeline
3
+ import torch
4
+ import time
5
+
6
+ # MODELLER
7
+ MODELS = {
8
+ "Realistic": "visionpy_realistic",
9
+ "Anime": "visionpy_anime"
10
+ }
11
+
12
+ # MODEL YÜKLEME
13
+ def load_model(mode):
14
+ pipe = StableDiffusionPipeline.from_pretrained(
15
+ MODELS[mode],
16
+ torch_dtype=torch.float16
17
+ ).to("cuda")
18
+ # Hız optimizasyonu
19
+ # xFormers destekleniyorsa uncomment:
20
+ # pipe.enable_xformers_memory_efficient_attention()
21
+ return pipe
22
+
23
+ # ANA ÜRETİM FONKSİYONU
24
+ def generate(prompt, mode, res):
25
+ pipe = load_model(mode)
26
+ start_time = time.time()
27
+
28
+ # Çözünürlük
29
+ if res == "512p":
30
+ w, h = 512, 512
31
+ steps = 20
32
+ elif res == "1024p":
33
+ w, h = 1024, 1024
34
+ steps = 25
35
+ else:
36
+ w, h = 512, 512
37
+ steps = 20
38
+
39
+ image = pipe(prompt, height=h, width=w, num_inference_steps=steps, guidance_scale=7.5).images[0]
40
+
41
+ elapsed = time.time() - start_time
42
+ return image, f"{elapsed:.2f} saniyede üretildi!"
43
+
44
+ # GRADIO ARAYÜZÜ
45
+ with gr.Blocks(theme=gr.themes.Soft()) as demo:
46
+ gr.Markdown(
47
+ "<h1 style='text-align:center'>🌟 Hh — VisionPy Ultra HD (11s Mode)</h1>"
48
+ "<p style='text-align:center'>Anime / Realistic Modları, 512-1024p hızlı üretim, Light Theme</p>"
49
+ )
50
+
51
+ with gr.Row():
52
+ prompt = gr.Textbox(label="Prompt", placeholder="ör: fantastik şehir ultra yüksek çözünürlük")
53
+ mode = gr.Dropdown(["Realistic", "Anime"], label="Mod")
54
+ res = gr.Dropdown(["512p", "1024p"], label="Çözünürlük (Hızlı Mod)")
55
+
56
+ out = gr.Image(label="Sonuç")
57
+ time_label = gr.Label(label="Üretim Süresi")
58
+
59
+ btn = gr.Button("ÜRET")
60
+ btn.click(generate, inputs=[prompt, mode, res], outputs=[out, time_label])
61
+
62
+ demo.launch()