amnashoukat commited on
Commit
f3e7e87
·
verified ·
1 Parent(s): 8a5e150

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +52 -0
app.py ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # STEP 1: Install required libraries
2
+ !pip install transformers sentencepiece gradio -q
3
+
4
+ # STEP 2: Import libraries
5
+ from transformers import MarianMTModel, MarianTokenizer
6
+ import gradio as gr
7
+
8
+ # STEP 3: Load models and tokenizers for both directions
9
+ en_to_ur_model_name = "Helsinki-NLP/opus-mt-en-ur"
10
+ ur_to_en_model_name = "Helsinki-NLP/opus-mt-ur-en"
11
+
12
+ en_to_ur_tokenizer = MarianTokenizer.from_pretrained(en_to_ur_model_name)
13
+ en_to_ur_model = MarianMTModel.from_pretrained(en_to_ur_model_name)
14
+
15
+ ur_to_en_tokenizer = MarianTokenizer.from_pretrained(ur_to_en_model_name)
16
+ ur_to_en_model = MarianMTModel.from_pretrained(ur_to_en_model_name)
17
+
18
+ # STEP 4: Translation functions
19
+ def translate_en_to_ur(text):
20
+ if not text.strip():
21
+ return "Please enter some English text."
22
+ inputs = en_to_ur_tokenizer(text, return_tensors="pt", padding=True)
23
+ translated = en_to_ur_model.generate(**inputs)
24
+ urdu_text = en_to_ur_tokenizer.decode(translated[0], skip_special_tokens=True)
25
+ return urdu_text
26
+
27
+ def translate_ur_to_en(text):
28
+ if not text.strip():
29
+ return "براہ کرم کچھ اردو متن درج کریں۔"
30
+ inputs = ur_to_en_tokenizer(text, return_tensors="pt", padding=True)
31
+ translated = ur_to_en_model.generate(**inputs)
32
+ english_text = ur_to_en_tokenizer.decode(translated[0], skip_special_tokens=True)
33
+ return english_text
34
+
35
+ # STEP 5: Gradio UI
36
+ with gr.Blocks() as demo:
37
+ gr.Markdown("## English ↔ Urdu Translator")
38
+
39
+ with gr.Tab("English to Urdu"):
40
+ en_input = gr.Textbox(label="Enter English Text")
41
+ en_output = gr.Textbox(label="Urdu Translation")
42
+ en_button = gr.Button("Translate")
43
+ en_button.click(fn=translate_en_to_ur, inputs=en_input, outputs=en_output)
44
+
45
+ with gr.Tab("Urdu to English"):
46
+ ur_input = gr.Textbox(label="اردو متن درج کریں")
47
+ ur_output = gr.Textbox(label="English Translation")
48
+ ur_button = gr.Button("Translate")
49
+ ur_button.click(fn=translate_ur_to_en, inputs=ur_input, outputs=ur_output)
50
+
51
+ # STEP 6: Launch
52
+ demo.launch()