import gradio as gr import torch import model from utils import line_to_tensor, load_data, N_LETTERS language_map = ['Polish', 'Irish', 'Italian', 'Korean', 'English', 'Czech', 'Chinese', 'Japanese', 'Portuguese', 'Indian', 'Greek', 'Vietnamese', 'French', 'German', 'Russian', 'Scottish', 'Arabic', 'Dutch', 'Spanish'] def run(name): with torch.no_grad(): input_tensor = line_to_tensor(name) hidden_tensor = rnn.init_hidden() for i in range(input_tensor.size()[0]): output, hidden_tensor = rnn(input_tensor[i], hidden_tensor) return f"It is {language_map[torch.argmax(output).item()]} name" rnn = model.RNN(N_LETTERS, 128, 19) rnn.load_state_dict(torch.load('rnn.pth')) rnn.eval demo = gr.Interface(fn=run, inputs="text", outputs="text") demo.launch()