--- language: - en - fr - multilingual tags: - translation - pytorch model-index: - name: MelioAI/dyu-fr-joeynmt results: [] --- # MelioAI/dyu-fr-joeynmt An example of a machine translation model that translates Dyula to French using the [JoeyNMT framework](https://github.com/joeynmt/joeynmt). This following example is based on [this Github repo](https://github.com/data354/koumakanMT-challenge) that was kindly created by [data354](https://data354.com/en/). ## Model description More information needed ## Intended uses & limitations More information needed ## Training and evaluation data More information needed ## Usage ### Load and use for inference ```python import torch from joeynmt.config import load_config, parse_global_args from joeynmt.prediction import predict, prepare from huggingface_hub import snapshot_download # Download model snapshot_download( repo_id="MelioAI/dyu-fr-joeynmt", local_dir="/path/to/save/locally" ) # Define model interface class JoeyNMTModel: ''' JoeyNMTModel which load JoeyNMT model for inference. :param config_path: Path to YAML config file :param n_best: return this many hypotheses, <= beam (currently only 1) ''' def __init__(self, config_path: str, n_best: int = 1): seed = 42 torch.manual_seed(seed) cfg = load_config(config_path) args = parse_global_args(cfg, rank=0, mode="translate") self.args = args._replace(test=args.test._replace(n_best=n_best)) # build model self.model, _, _, self.test_data = prepare(self.args, rank=0, mode="translate") def _translate_data(self): _, _, hypotheses, trg_tokens, trg_scores, _ = predict( model=self.model, data=self.test_data, compute_loss=False, device=self.args.device, rank=0, n_gpu=self.args.n_gpu, normalization="none", num_workers=self.args.num_workers, args=self.args.test, autocast=self.args.autocast, ) return hypotheses, trg_tokens, trg_scores def translate(self, sentence) -> list: ''' Translate the given sentence. :param sentence: Sentence to be translated :return: - translations: (list of str) possible translations of the sentence. ''' self.test_data.set_item(sentence.strip()) translations, _, _ = self._translate_data() assert len(translations) == len(self.test_data) * self.args.test.n_best self.test_data.reset_cache() return translations # Load model config_path = "/path/to/lean_model/config_local.yaml" # Change this to the path to your model congig file model = JoeyNMTModel(config_path=config_path, n_best=1) # Translate model.translate(sentence="i tɔgɔ bi cogodɔ") ``` ## Training procedure ### Training hyperparameters More information needed ### Training results More information needed ### Framework versions - JoeyNMT 2.3.0 - Torch 2.2.1