Fooocus_pro / app.py
atef91's picture
Upload 3 files
3faffcb verified
import os
import gradio as gr
import torch
from diffusers import DDPMPipeline
import warnings
warnings.filterwarnings('ignore')
# Constants
MODEL_ID = "google/ddpm-celebahq-256"
DEVICE = "cpu" # Force CPU for better compatibility
DTYPE = torch.float32
def generate_image(steps=30):
try:
# Initialize pipeline with basic settings
pipe = DDPMPipeline.from_pretrained(MODEL_ID)
pipe = pipe.to(DEVICE)
# Generate image
with torch.inference_mode():
image = pipe(
batch_size=1,
num_inference_steps=steps,
).images[0]
return image
except Exception as e:
print(f"Error generating image: {str(e)}")
return None
# Create the Gradio interface
with gr.Blocks(title="Simple Image Generator") as demo:
gr.Markdown("# 🎨 Simple Image Generator")
gr.Markdown("Generate celebrity-like faces using DDPM")
with gr.Row():
with gr.Column():
steps = gr.Slider(
minimum=10,
maximum=50,
value=30,
step=1,
label="Steps"
)
generate_btn = gr.Button("🎨 Generate", variant="primary")
with gr.Column():
output_image = gr.Image(label="Generated Image", type="pil")
generate_btn.click(
fn=generate_image,
inputs=[
steps,
],
outputs=output_image
)
if __name__ == "__main__":
demo.launch()