GPT-2-with_gpu / app.py
sagar007's picture
Create app.py
6c2fd08 verified
raw
history blame
1.39 kB
import torch
import gradio as gr
from transformers import GPT2Tokenizer, GPT2LMHeadModel
# Load the tokenizer and the model
tokenizer = GPT2Tokenizer.from_pretrained('gpt2')
model = GPT2LMHeadModel.from_pretrained('gpt2')
# Load the best model weights
model.load_state_dict(torch.load('best_model.pth', map_location=torch.device('cpu')))
# Set the model to evaluation mode
model.eval()
# Define the text generation function
def generate_text(prompt, max_length=50, num_return_sequences=1):
inputs = tokenizer(prompt, return_tensors='pt')
outputs = model.generate(
inputs.input_ids,
max_length=max_length,
num_return_sequences=num_return_sequences,
do_sample=True,
top_k=50,
top_p=0.95,
temperature=1.0
)
return [tokenizer.decode(output, skip_special_tokens=True) for output in outputs]
# Define the Gradio interface
interface = gr.Interface(
fn=generate_text,
inputs=[
gr.inputs.Textbox(lines=2, placeholder="Enter your prompt here..."),
gr.inputs.Slider(minimum=10, maximum=200, default=50, label="Max Length"),
gr.inputs.Slider(minimum=1, maximum=5, default=1, label="Number of Sequences")
],
outputs=gr.outputs.Textbox(),
title="GPT-2 Text Generator",
description="Enter a prompt to generate text using GPT-2.",
)
# Launch the Gradio interface
interface.launch()