--- language: - ne - en tags: - translation - fairseq - fsmt license: apache-2.0 --- # Nepali-Tamang-English Machine Translation Model This model was converted from a Fairseq checkpoint to Hugging Face Transformers format. It performs machine translation between Nepali, Tamang, and English. ## Model Details - **Architecture:** FSMT (Fairseq Machine Translation) - **Original Framework:** Fairseq - **Languages:** Nepali, Tamang, English ## Usage This model requires specific language tokens to indicate the target language: - `__ne__`: Translate to Nepali - `__ta__`: Translate to Tamang - `__en__`: Translate to English ### Installation ```bash pip install transformers ``` ### Python Example ```python from transformers import FSMTForConditionalGeneration, FSMTTokenizer model_name = "rishi70612/nepali-tamang-english-mt" tokenizer = FSMTTokenizer.from_pretrained(model_name) model = FSMTForConditionalGeneration.from_pretrained(model_name) def translate(text, target_lang_token): # Prepend the language token input_text = f"{target_lang_token} {text}" input_ids = tokenizer.encode(input_text, return_tensors="pt") # Generate with beam search for better quality outputs = model.generate(input_ids, num_beams=5, max_length=100) return tokenizer.decode(outputs[0], skip_special_tokens=True) # Examples print("Nepali:", translate("I love machine learning.", "__ne__")) print("Tamang:", translate("I love machine learning.", "__ta__")) print("English:", translate("मलाई नेपाल मन पर्छ।", "__en__")) ``` ## Usage in Kaggle You can use the following code snippet directly in a Kaggle Notebook cell to run inference. ```python # 1. Install transformers # !pip install transformers # !pip install sacremoses import torch from transformers import FSMTForConditionalGeneration, FSMTTokenizer # 2. Load Model model_name = "rishi70612/nepali-tamang-english-mt" print(f"Loading model from {model_name}...") tokenizer = FSMTTokenizer.from_pretrained(model_name) model = FSMTForConditionalGeneration.from_pretrained(model_name) if torch.cuda.is_available(): model = model.cuda() print("Moved model to GPU.") # 3. Define Translation Function def translate(text, target_lang_token): # Prepare input (e.g. "__ne__ I love AI") input_text = f"{target_lang_token} {text}" input_ids = tokenizer.encode(input_text, return_tensors="pt") if torch.cuda.is_available(): input_ids = input_ids.cuda() outputs = model.generate(input_ids, num_beams=5, max_length=100, early_stopping=True) return tokenizer.decode(outputs[0], skip_special_tokens=True) # 4. Run print("Nepali:", translate("I love machine learning.", "__ne__")) print("Tamang:", translate("I love machine learning.", "__ta__")) ```