ketranm / uva-nmt

uva neural machine translation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

UvA-NMT

University of Amsterdam's Neural Machine Translation

For technical support, go to tardis42.slack.com

User Guide

Tardis is mainly developed for NLP, therefore its interfaces have NLPish feel.

Installation

Tardis is written for GPU, so you need to use GPUs in order to run Tardis. Additionally you need the following packages

Go to NVIDIA homepage and download CUDNN version that corresponds to your CUDA (7.5 if you are using DAS5)

That's all!

Code Organization

Data Processing

Most of the code for processing data is in data/

  • AbstractDataLoader provides general text processing utilities such as creating vocabulary, load and shuffle data, convert text to tensor and vice-visa,...
  • loadBitext inherits from AbstractDataLoader. It provides general API for bitext processing
  • loadText.lua inherits from AbstractDataLoader. It is useful for Language Model.

TARDIS

tardis/ contains all most everything for Seq2seq models.

  • Transducer, consumes a sequence of input and produce a sequence of hidden states. Transducer can be used for language model and it is the basic block to build encoder/decoder in Seq2seq.
  • FastTransducer, which is fast. It uses cudnn. It has the same set of APIs as Transducer.
  • SeqAtt.lua or NMT, which is a standard seq2seq architecture with attention.

Using Tardis

First, you need a configuration file to describe your experimental setup. see iwslt.de2en.conf for an example of config file.

Once you have your config file expr.conf you can run tardis

$ th main.lua expr.conf

Features

Contributors

  • Ke Tran
  • Arianna Bisazza

About

uva neural machine translation


Languages

Language:Lua 100.0%