Spaces:
Sleeping
Sleeping
| """ | |
| This file contains the code for the text to image generation using the Stable Diffusion model. | |
| """ | |
| import torch | |
| from diffusers import StableDiffusionPipeline, DPMSolverMultistepScheduler | |
| from constants import MODEL_ID | |
| def generate_image(prompt: str) -> torch.Tensor: | |
| """ | |
| Generates an image from a given prompt. | |
| Args: | |
| prompt (str): The prompt to generate the image from. | |
| Returns: | |
| torch.Tensor: The generated image. | |
| """ | |
| # load model | |
| pipe = StableDiffusionPipeline.from_pretrained( | |
| MODEL_ID | |
| ) # torch_dtype=torch.float16 | |
| pipe.scheduler = DPMSolverMultistepScheduler.from_config(pipe.scheduler.config) | |
| if torch.cuda.is_available(): | |
| pipe = pipe.to("cuda") # move model to GPU if available | |
| print("Model loaded successfully and moved to GPU.") | |
| else: | |
| print("Model loaded successfully on CPU.") | |
| image = pipe(prompt).images[0] | |
| return image | |