nullHawk's picture
init
9a41f63 verified
from utils.config import config
from inference import main, translate_sentence
from models.encoder import Encoder
from models.decoder import Decoder
from models.seq2seq import Seq2Seq
import gradio as gr
import pickle
import torch
def translate(inp):
global model, eng_vocab, hin_vocab
text = translate_sentence(inp, model, eng_vocab, hin_vocab, config.device)
return text
def main():
global model, eng_vocab, hin_vocab
# Load vocabularies
with open('bin/eng_vocab.pkl', 'rb') as f:
eng_vocab = pickle.load(f)
with open('bin/hin_vocab.pkl', 'rb') as f:
hin_vocab = pickle.load(f)
# Load model
enc = Encoder(
len(eng_vocab),
config.embedding_dim,
config.hidden_size,
config.num_layers,
config.dropout
).to(config.device)
dec = Decoder(
len(hin_vocab),
config.embedding_dim,
config.hidden_size,
config.num_layers,
config.dropout
).to(config.device)
model = Seq2Seq(enc, dec, config.device).to(config.device)
model.load_state_dict(torch.load("bin/seq2seq.pth", map_location=config.device))
app = gr.Interface(
fn=translate,
inputs='textbox',
outputs='textbox'
)
app.launch()
if __name__ == "__main__":
main()