OpenNMT-tf
Neural machine translation and sequence learning using TensorFlow
...While neural machine translation is the main target task, it has been designed to more generally support sequence-to-sequence mapping, sequence tagging, sequence classification, language modeling. Models are described with code to allow training custom architectures and overriding default behavior. For example, the following instance defines a sequence-to-sequence model with 2 concatenated input features, a self-attentional encoder, and an attentional RNN decoder sharing its input and output embeddings. Sequence to sequence models can be trained with guided alignment and alignment information are returned as part of the translation API.