|
import streamlit as st |
|
import torch |
|
import pickle |
|
from transformers import MarianMTModel, MarianTokenizer |
|
|
|
|
|
with open("nmt_model.pkl", "rb") as f: |
|
model = pickle.load(f) |
|
|
|
tokenizer = MarianTokenizer.from_pretrained("Helsinki-NLP/opus-mt-ar-en") |
|
|
|
|
|
st.title("Arabic to English Translator") |
|
st.write("Enter Arabic text and get the English translation.") |
|
|
|
arabic_text = st.text_area("Enter Arabic Text:") |
|
|
|
if st.button("Translate"): |
|
if arabic_text: |
|
|
|
inputs = tokenizer(arabic_text, return_tensors="pt", padding=True, truncation=True, max_length=128) |
|
with torch.no_grad(): |
|
translated_ids = model.generate(**inputs) |
|
translated_text = tokenizer.batch_decode(translated_ids, skip_special_tokens=True)[0] |
|
|
|
st.subheader("Translated English Text:") |
|
st.write(translated_text) |
|
else: |
|
st.warning("Please enter Arabic text.") |
|
|