AI_POTHO_pro / app.py
mehdi0799's picture
Update app.py
4a54e1b verified
Raw
History Blame Contribute Delete
1.99 kB
import streamlit as st
from PIL import Image
from diffusers import DDPMPipeline # مدل سبک‌تر (تنها diffusers استفاده می‌شود)
import torch
import io
# تنظیمات برنامه Streamlit
st.set_page_config(
page_title="AI Photo Enhancer (CPU)",
page_icon="✨",
layout="centered"
)
st.title("✨ ارتقاء و ترمیم چهره (مدل سبک CPU)")
st.markdown("---")
# تنظیم مدل (کش کردن برای سرعت)
@st.cache_resource
def load_pipeline():
# مدل سبک مخصوص چهره و CPU
pipe = DDPMPipeline.from_pretrained(
"google/ddpm-ema-celebahq-256",
)
return pipe
pipe = load_pipeline()
# تابع اصلی تولید چهره جدید
def generate_face():
# اجرای Generation
result_image = pipe(
batch_size=1
).images[0]
return result_image
# رابط کاربری Streamlit
st.markdown("این مدل برای کار روی CPU بهینه شده است و **فقط** می‌تواند تصاویر جدیدی از چهره تولید کند، نه ترمیم عکس ورودی.")
if st.button("تولید چهره جدید (رایگان)"):
with st.spinner("در حال اجرای هوش مصنوعی و تولید تصویر... (صبر کنید)"):
try:
enhanced_image = generate_face()
st.success("✅ عملیات با موفقیت انجام شد!")
st.image(enhanced_image, caption="چهره تولید شده (خروجی CPU)", use_column_width=True)
# دکمه دانلود
buf = io.BytesIO()
enhanced_image.save(buf, format="PNG")
st.download_button(
label="دانلود عکس تولید شده",
data=buf.getvalue(),
file_name="generated_cpu_photo.png",
mime="image/png"
)
except Exception as e:
st.error(f"خطا در اجرای مدل: {e}")