Image_Genrater / app.py
improprogrammer's picture
Create app.py
ad8d859 verified
import streamlit as st
from pathlib import Path
import torch
import pandas as pd
import numpy as np
from diffusers import StableDiffusionPipeline
from transformers import pipeline, set_seed
import matplotlib.pyplot as plt
import cv2
class CFG:
device = "cuda"
seed = 42
generator = torch.Generator(device).manual_seed(seed)
image_gen_steps = 35
image_gen_model_id = "stabilityai/stable-diffusion-2"
image_gen_size = (400, 400)
image_gen_guidance_scale = 9
prompt_gen_model_id = "gpt2"
prompt_dataset_size = 6
prompt_max_length = 12
# Initialize the Stable Diffusion model
image_gen_model = StableDiffusionPipeline.from_pretrained(
CFG.image_gen_model_id, torch_dtype=torch.float16,
revision="fp16", use_auth_token='YOUR_HF_TOKEN', guidance_scale=9
)
image_gen_model = image_gen_model.to(CFG.device)
def generate_image(prompt, model):
image = model(
prompt, num_inference_steps=CFG.image_gen_steps,
generator=CFG.generator,
guidance_scale=CFG.image_gen_guidance_scale
).images[0]
image = image.resize(CFG.image_gen_size)
return image
st.title("Text to Image Generator")
user_input = st.text_input("Enter text to generate image:")
if st.button("Generate Image"):
if user_input:
with st.spinner('Generating image...'):
generated_image = generate_image(user_input, image_gen_model)
st.image(generated_image, caption='Generated Image')
else:
st.warning("Please enter some text to generate an image.")