Sequence-to-Sequence Framework in PyTorch
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin translator: change how -S works Dec 11, 2018
docs Update logo Dec 18, 2017
examples/v4.0.0 update examples Dec 18, 2018
experimental experimental: update Dec 18, 2018
ipynb ipynb: update May 28, 2018
nmtpytorch bump version to 4.0.0 Dec 18, 2018
scripts dump-attention: update Dec 11, 2018
.gitignore update gitignore Sep 25, 2018 update LICENSE Sep 26, 2018 update Sep 26, 2018 increase torch version to 1.0.0 Dec 18, 2018 increase torch version to 1.0.0 Dec 18, 2018
environment.yml environment.yml: update again Dec 18, 2018 increase torch version to 1.0.0 Dec 18, 2018
tox.ini tox: update Oct 4, 2018


License: MIT Python 3.6

Click here to join to our Slack channel for questions.

nmtpytorch allows training of various end-to-end neural architectures including but not limited to neural machine translation, image captioning and automatic speech recognition systems. The initial codebase was in Theano and was inspired from the famous dl4mt-tutorial codebase.

nmtpytorch is mainly developed by the Language and Speech Team of Le Mans University but receives valuable contributions from the Grounded Sequence-to-sequence Transduction Team of Frederick Jelinek Memorial Summer Workshop 2018:

Loic Barrault, Ozan Caglayan, Amanda Duarte, Desmond Elliott, Spandana Gella, Nils Holzenberger, Chirag Lala, Jasmine (Sun Jae) Lee, Jindřich Libovický, Pranava Madhyastha, Florian Metze, Karl Mulligan, Alissa Ostapenko, Shruti Palaskar, Ramon Sanabria, Lucia Specia and Josiah Wang.

If you use nmtpytorch, you may want to cite the following paper:

  author    = {Ozan Caglayan and
               Mercedes Garc\'{i}a-Mart\'{i}nez and
               Adrien Bardet and
               Walid Aransa and
               Fethi Bougares and
               Lo\"{i}c Barrault},
  title     = {NMTPY: A Flexible Toolkit for Advanced Neural Machine Translation Systems},
  journal   = {Prague Bull. Math. Linguistics},
  volume    = {109},
  pages     = {15--28},
  year      = {2017},
  url       = {},
  doi       = {10.1515/pralin-2017-0035},
  timestamp = {Tue, 12 Sep 2017 10:01:08 +0100}


nmtpytorch currently requires python>=3.6 and torch>=0.4.1. We are not planning to support Python 2.x.

IMPORTANT: After installing nmtpytorch, you need to run nmtpy-install-extra to download METEOR related files into your ${HOME}/.nmtpy folder. This step is only required once.


You can install nmtpytorch from PyPI using pip (or pip3 depending on your operating system and environment):

$ pip install nmtpytorch

This will automatically fetch and install the dependencies as well. For the torch dependency it will specifically install the torch 1.0.0 package from PyPI that ships CUDA 9.0 within.


We provide an environment.yml file in the repository that you can use to create a ready-to-use anaconda environment for nmtpytorch:

$ conda update --all
$ git clone
$ conda env create -f nmtpytorch/environment.yml

Development Mode

For continuous development and testing, it is sufficient to run python develop in the root folder of your GIT checkout. From now on, all modifications to the source tree are directly taken into account without requiring reinstallation.


We currently only provide some preliminary documentation in our wiki.

Release Notes