tahirsher's picture
Update app.py
302cd1a verified
raw
history blame
1.55 kB
import streamlit as st
from diffusers import DiffusionPipeline
from peft import PeftModel # Import PEFT model loader
from PIL import Image
import torch
# Load the diffusion pipeline model
@st.cache_resource
def load_pipeline():
pipe = DiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5")
# Ensure PEFT is available before loading LoRA weights
try:
pipe.load_lora_weights("Melonie/text_to_image_finetuned")
except ValueError as e:
st.error("PEFT backend is required but not properly set up.")
raise e
if torch.cuda.is_available():
pipe.to("cuda") # Move pipeline to GPU if available
return pipe
pipe = load_pipeline()
# Streamlit app
st.title("Text-to-Image Generation App")
# User input for prompt
user_prompt = st.text_input(
"Enter your image prompt",
value="Astronaut in a jungle, cold color palette, muted colors, detailed, 8k",
help="Provide a detailed description of the image you'd like to generate."
)
# Button to generate the image
if st.button("Generate Image"):
if user_prompt:
with st.spinner("Generating image..."):
try:
# Generate the image
image = pipe(user_prompt).images[0]
# Display the generated image
st.image(image, caption="Generated Image", use_column_width=True)
except Exception as e:
st.error(f"Error generating image: {str(e)}")
else:
st.error("Please enter a valid prompt.")