DecoAI2 / app.py
jalal07555's picture
Create app.py
eb04cf7 verified
import torch
from diffusers import StableDiffusionImg2ImgPipeline
import gradio as gr
from PIL import Image
# تحميل الموديل بصيغة مناسبة للـ CPU
pipe = StableDiffusionImg2ImgPipeline.from_pretrained(
"runwayml/stable-diffusion-v1-5",
torch_dtype=torch.float32
)
pipe = pipe.to("cpu")
def generate_image(input_image, prompt, strength=0.7, guidance=7.5):
if input_image is None or prompt.strip() == "":
return None
# تغيير حجم الصورة لتسريع المعالجة
init_image = input_image.convert("RGB").resize((512, 512))
result = pipe(
prompt=prompt,
image=init_image,
strength=strength,
guidance_scale=guidance
).images[0]
return result
# واجهة Gradio
with gr.Blocks() as demo:
gr.Markdown("## 🖼️ Stable Diffusion Img2Img - ديكور من صورة")
with gr.Row():
with gr.Column():
input_image = gr.Image(type="pil", label="ارفع الصورة")
prompt = gr.Textbox(label="الوصف (Prompt)", placeholder="مثال: غرفة مع أثاث عصري وإضاءة دافئة")
strength = gr.Slider(0.1, 1.0, value=0.7, step=0.1, label="درجة التغيير (Strength)")
guidance = gr.Slider(1, 15, value=7.5, step=0.5, label="جودة التفاصيل (Guidance Scale)")
btn = gr.Button("توليد الصورة")
with gr.Column():
output_image = gr.Image(label="النتيجة")
btn.click(
fn=generate_image,
inputs=[input_image, prompt, strength, guidance],
outputs=output_image
)
demo.launch()