Update app.py
Browse files
app.py
CHANGED
|
@@ -16,14 +16,20 @@ pipe = StableDiffusionPipeline.from_pretrained(
|
|
| 16 |
# ส่งโมเดลไปยังอุปกรณ์ที่ใช้
|
| 17 |
pipe = pipe.to(device)
|
| 18 |
|
| 19 |
-
#
|
| 20 |
-
|
| 21 |
-
|
|
|
|
| 22 |
|
| 23 |
-
# ฟังก์ชันสำหรับแปลงข้อความเป็นภาพ
|
| 24 |
def text_to_image(prompt):
|
| 25 |
with torch.autocast(device) if device == "cuda" else torch.inference_mode():
|
| 26 |
-
image = pipe(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 27 |
return image
|
| 28 |
|
| 29 |
# Gradio Interface
|
|
@@ -32,5 +38,5 @@ gr.Interface(
|
|
| 32 |
inputs=gr.Textbox(label="📝 Text Prompt"),
|
| 33 |
outputs=gr.Image(label="🎨 Generated Image"),
|
| 34 |
title="🖼 Text-to-Image with Stable Diffusion",
|
| 35 |
-
description="แอปนี้สามารถรันบน CPU หรือ GPU ได้ตามเครื่องที่มี โดยใช้โมเดล Stable Diffusion
|
| 36 |
).launch()
|
|
|
|
| 16 |
# ส่งโมเดลไปยังอุปกรณ์ที่ใช้
|
| 17 |
pipe = pipe.to(device)
|
| 18 |
|
| 19 |
+
# เปิด optimization สำหรับความเร็ว
|
| 20 |
+
pipe.enable_attention_slicing()
|
| 21 |
+
if device == "cuda":
|
| 22 |
+
pipe.enable_model_cpu_offload() # เฉพาะถ้าใช้ GPU จะช่วยประหยัด VRAM
|
| 23 |
|
| 24 |
+
# ฟังก์ชันสำหรับแปลงข้อความเป็นภาพ (พร้อมปรับ speed)
|
| 25 |
def text_to_image(prompt):
|
| 26 |
with torch.autocast(device) if device == "cuda" else torch.inference_mode():
|
| 27 |
+
image = pipe(
|
| 28 |
+
prompt,
|
| 29 |
+
height=384, # ลด resolution เพื่อให้เร็วขึ้น
|
| 30 |
+
width=384,
|
| 31 |
+
num_inference_steps=10 # ลดจำนวน step เพื่อความเร็ว
|
| 32 |
+
).images[0]
|
| 33 |
return image
|
| 34 |
|
| 35 |
# Gradio Interface
|
|
|
|
| 38 |
inputs=gr.Textbox(label="📝 Text Prompt"),
|
| 39 |
outputs=gr.Image(label="🎨 Generated Image"),
|
| 40 |
title="🖼 Text-to-Image with Stable Diffusion",
|
| 41 |
+
description="แอปนี้สามารถรันบน CPU หรือ GPU ได้ตามเครื่องที่มี โดยใช้โมเดล Stable Diffusion (เร็วขึ้นด้วยเทคนิคประหยัดเวลา 🚀)"
|
| 42 |
).launch()
|