Spaces:
Runtime error
Runtime error
Download app.py from deepugaur/translation: direct link, hf CLI and curl.
- Browser
- Download file 1.59 kB
-
https://huggingface.co/spaces/deepugaur/translation/resolve/main/app.py
- Command line
-
hf download hf://spaces/deepugaur/translation/app.py
-
curl -L -o app.py https://huggingface.co/spaces/deepugaur/translation/resolve/main/app.py
1.59 kB
| import streamlit as st | |
| from transformers import MarianMTModel, MarianTokenizer | |
| import torch | |
| # Load pre-trained models and tokenizers for English to French and English to Hindi | |
| model_name_fr = 'Helsinki-NLP/opus-mt-en-fr' | |
| model_name_hi = 'Helsinki-NLP/opus-mt-en-hi' | |
| tokenizer_fr = MarianTokenizer.from_pretrained(model_name_fr) | |
| model_fr = MarianMTModel.from_pretrained(model_name_fr) | |
| tokenizer_hi = MarianTokenizer.from_pretrained(model_name_hi) | |
| model_hi = MarianMTModel.from_pretrained(model_name_hi) | |
| # Determine the device to use (GPU if available, else CPU) | |
| device = torch.device("cuda" if torch.cuda.is_available() else "cpu") | |
| model_fr.to(device) | |
| model_hi.to(device) | |
| # Function to translate a word | |
| def translate_word(word, tokenizer, model, device): | |
| inputs = tokenizer.encode(word, return_tensors="pt").to(device) | |
| outputs = model.generate(inputs) | |
| translation = tokenizer.decode(outputs[0], skip_special_tokens=True) | |
| return translation | |
| # Streamlit UI | |
| st.title("10-Letter Word Translator") | |
| st.write("Translate 10-letter English words to French or Hindi") | |
| word = st.text_input("Enter a 10-letter English word") | |
| if word: | |
| if len(word) != 10: | |
| st.write("Please enter a 10-letter word.") | |
| else: | |
| language = st.selectbox("Select target language", ("French", "Hindi")) | |
| if language == "French": | |
| translation = translate_word(word, tokenizer_fr, model_fr, device) | |
| else: | |
| translation = translate_word(word, tokenizer_hi, model_hi, device) | |
| st.write(f"Translation in {language}: {translation}") | |