OpenNMT

An open source neural machine translation system.

Fonctionalités

While OpenNMT initialy focused on standard sequence to sequence models applied to machine translation, it has been extended to support many additional models and features. The tables below highlight some of the key features of each implementation.

Tasks

  OpenNMT-py OpenNMT-tf
Image to text  
Language modeling  
Sequence classification  
Sequence tagging  
Sequence to sequence
Speech to text
Summarization  

Modèles

  OpenNMT-py OpenNMT-tf
ConvS2S  
DeepSpeech2  
GPT-2  
Im2Text  
Listen, Attend and Spell  
RNN with attention
Transformer

Model configuration

  OpenNMT-py OpenNMT-tf
Copy attention  
Coverage attention  
Hybrid models  
Multi source  
Relative position representations  
Tied embeddings

Entrainement

  OpenNMT-py OpenNMT-tf
Automatic evaluation
Early stopping  
Gradient accumulation
Guided alignment  
Mixed precision
Moving average  
Multi GPU
Pretrained embeddings
Scheduled sampling  
Vocabulary update  

Decoding

  OpenNMT-py OpenNMT-tf
Beam search
Coverage penalty
Ensemble  
Length penalty
N-best rescoring
N-gram blocking  
Phrase table  
Random noise  
Random sampling
Replace unknown

For more details on how to use these features, please refer to the documentation of each project: