File size: 2,317 Bytes
e036de9
0b203dd
 
 
 
 
e036de9
0b203dd
 
1637c7a
e036de9
0b203dd
 
 
 
 
 
 
 
 
c2a6bc8
0b203dd
 
040a768
 
0b203dd
9cbf887
e036de9
0b203dd
 
 
 
e036de9
5c084a1
0b203dd
e036de9
0b203dd
 
 
1188f41
 
b4bb744
 
0b203dd
8aed5de
0b203dd
8c87a2a
0b203dd
 
 
 
b4bb744
0b203dd
 
 
12646ff
1ed6d3d
b95c297
 
0b203dd
7ef7dd8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import os
import h5py
from config import config
import tensorflow as tf
from transformer import Transformer
from translator import Translator
from load_model import load_transformer, load_sp_model, load_emb

import gradio as gr

# load the embedding matrix
eng_emb_path = 'Embedding_matrix/en_embedding_matrix.h5'
ur_emb_path = 'Embedding_matrix/ur_embedding_matrix.h5'

eng_embedding_matrix = load_emb(eng_emb_path)
urdu_embedding_matrix = load_emb(ur_emb_path)

# load tokenizers
spm_path_en = 'Tokenizer/mix_en_spm.model'
spm_path_ur = 'Tokenizer/mix_ur_spm_rev.model'
sp_model_en, sp_model_ur = load_sp_model(spm_path_en,spm_path_ur)

# load the transformer models
E2U_model = load_transformer(eng_embedding_matrix,urdu_embedding_matrix,'T_mix_E2U_weights/T_mix_E2U.tf', config)
U2E_model = load_transformer(urdu_embedding_matrix,eng_embedding_matrix,'T_mix_U2E_weights/T_mix_U2E.tf', config)

U2E_translator = Translator(sp_model_ur, sp_model_en, U2E_model)
E2U_translator = Translator(sp_model_en, sp_model_ur, E2U_model)

def translate(inp, direction):
    if direction == 'en->ur':
        # Translate from English to Urdu
        translated_text = E2U_translator(inp)
    else:
        # Translate from Urdu to English
        translated_text = U2E_translator(inp)

    return translated_text


description = """
<div class="title">English-Urdu Translation</div>
<div class="description">This app leverages advanced Transformer models and custom-trained tokenizers to deliver accurate and context-aware translations.</div>
"""
article = "<p style='text-align: center'>Created by: <a href='https://www.linkedin.com/in/syedhuzaifanafees/' target='_blank'>Syed Huzaifa Nafees</a> | Supervisor: <a href='https://www.linkedin.com/in/shaider/' target='_blank'>Dr. Sajjad Haider</a></p></center></p>"
examples = [
    ["the weather is good today", "en->ur"],
    ["آج اچھا دن ہے", "ur->en"]
]
iface = gr.Interface(
    fn=translate,
    #title="English-Urdu Translation",
    description=description,
    article=article,
    examples=examples,
    inputs=[gr.Textbox(lines=5, placeholder="Enter text (maximum 35 words)", label="Input"),
        gr.Radio(choices=['en->ur','ur->en'], value='en->ur', label='Select the direction of translation'),],
    outputs="text",
    css= 'style.css')

iface.launch()