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.")