123LETSPLAY's picture
Update app.py
461ffd0 verified
import gradio as gr
import torch
from transformers import DalleBartTokenizer, DalleBartForConditionalGeneration
from PIL import Image
import numpy as np
# Load the tokenizer and model
tokenizer = DalleBartTokenizer.from_pretrained("dalle-mini/dalle-mini")
model = DalleBartForConditionalGeneration.from_pretrained("dalle-mini/dalle-mini")
# Ensure the model is in evaluation mode and use GPU if available
model.eval()
device = "cuda" if torch.cuda.is_available() else "cpu"
model.to(device)
def generate_image(prompt):
try:
inputs = tokenizer(prompt, return_tensors="pt").to(device)
outputs = model.generate(**inputs)
# Convert the output tensor to an image
# Adjust this line according to the model output format
image = outputs[0] # Assuming this is an image tensor
image = Image.fromarray(np.array(image)) # Convert tensor to numpy array then to image
return image
except Exception as e:
return str(e)
# Define Gradio interface
iface = gr.Interface(fn=generate_image,
inputs="text",
outputs="image",
title="DALL-E Mini Image Generator",
description="Enter a prompt to generate an image.")
if __name__ == "__main__":
iface.launch()