Translate is an open source project based on Facebook's machine translation systems. It uses a sequence-to-sequence model, and is based on fairseq-py, a sequence modeling toolkit for training custom models for translation, summarization, dialog, and other text generation tasks.
Translate provides the ability to train a sequence-to-sequence model with attention, a method to export this model to Caffe2 for production using ONNX - an open format for representing deep learning models - and sample C++ code to load the exported model and run inference via beam search.
An example model is provided to demonstrate this capability. Currently, the encoder and the decoder step networks are exported separately, and beam search is implemented in C++.
Install Translate by following the directions on GitHub.
Review details on how to use examples for training, evaluating a pretrained model, exporting models to Caffe2 via ONNX, and loading and running a model from C++.