Spaces:
Sleeping
Sleeping
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.") | |