Commit Graph

367 Commits

Author SHA1 Message Date
Giovanni Campagna d0849e8f3f Implement MultiGPU training
Using nn.DataParallel (single process, multi GPU with cuda pipelining)
2020-01-14 10:52:39 -08:00
Giovanni Campagna 61b8db12bf Split MQAN model in encoder and decoder
This will make it easier to replace the encoder without touching
the decoder.
2020-01-14 10:09:49 -08:00
Giovanni Campagna c4a9c49d48 Remove max-margin loss
It doesn't work
2020-01-14 09:58:12 -08:00
Giovanni Campagna 1b891f38c1 Remove MultiLingualTranslationModel
It was never performing well, it was a lot of complex code, and it
was likely broken by the refactor but we don't care enough to fix it.
2020-01-14 09:45:31 -08:00
Giovanni Campagna 61e371def1 Remove distributed training
We want multi-gpu (with nn.DataParallel), and we don't care about
distributed. Also it was unfinished and buggy, and was adding complexity
to the code.
2020-01-14 09:43:09 -08:00
Giovanni Campagna d569037078 Make tests pass
Redo how predict works, fix reversing
2020-01-14 09:26:33 -08:00
Giovanni Campagna ef2b47e5be wip: make tests pass 2020-01-13 18:15:30 -08:00
Giovanni Campagna d04fe60e28 Update to Python 3.7
Python 3.6 is obsolete
2020-01-13 17:15:30 -08:00
Giovanni Campagna 428cc49012 Remove some usages of Field 2019-12-21 08:07:20 -08:00
Giovanni Campagna ccd1fb6c80 Move vocabulary building to Vocab class
Leaving nothing in the Field class
2019-12-21 07:59:38 -08:00
Giovanni Campagna cde004b3e4 Remove unused portions of Field
Everything related to preprocessing, tokenization, numericalization
has been removed and is implemented elsewhere.
2019-12-21 07:43:49 -08:00
Giovanni Campagna ea83b75089 Remove all usage of Field from tasks and datasets 2019-12-21 07:36:28 -08:00
Giovanni Campagna aa628629bf Remove torchtest.Iterator and torchtext.Batch
Now unused
2019-12-21 06:56:23 -08:00
Giovanni Campagna 50b9c05248 Switch to torch.utils.data.DataLoader to load the datasets
Introduce new classes for numericalization and padding, in preparation
for moving away from torchtext.Field and torchtext.Batch. The
new classes are based on namedtuples, which are more compatible with
pytorch.
Move the useful parts of torchtext.Iterator (batching and bucketing
by example length) into a new Iterator class.
2019-12-21 06:52:14 -08:00
Giovanni Campagna f6a2e4608d Remove BPTTIterator and Batch.fromvars
Unused.
2019-12-21 02:33:51 -08:00
Giovanni Campagna 65891f62cb Replace Example class with a namedtuple-based class
torch's data loader works with tuples or namedtuples, not with
custom classes. Also namedtuple are faster, and the code is easier
to read as we don't do as much meta-programming.
2019-12-21 02:31:52 -08:00
Giovanni Campagna f5467c69cb Remove TabularDataset class
Unused.
2019-12-21 01:54:03 -08:00
Giovanni Campagna 6059c11ac7 Remove context_question example field
Unused.
2019-12-21 01:52:45 -08:00
Giovanni Campagna 652657acb5 Remove all torchtext datasets
Move the remaining code in the CQA-based classes
2019-12-21 01:49:02 -08:00
Giovanni Campagna c1e4cf2283 Fix refactoring fallout 2019-12-10 18:04:06 -08:00
Giovanni Campagna 27b8dca79f Remove a whole lot of unused Almond code
Remove the "thingpedia_as_context" option, and the different ThingTalk
grammars. They were unused, and also unlikely to be helpful, after
several experiments.
2019-12-10 18:03:01 -08:00
Giovanni Campagna 58355e0ccc Remove code related to differentiable BLEU loss
This code is unused, has questionable license, was never updated
to Torch 1.0, and seems unlikely to work.
2019-12-10 17:49:12 -08:00
Giovanni Campagna 61b152cd50 Collapse torchtext dependency
torchtext never really took off as the official PyTorch library
for text, and we've been using an embedded fork for a while.
Acknowledge that, merge the code, and stop treating it like
a separate project.
2019-12-10 17:40:10 -08:00
Giovanni Campagna 28a2b4d014 Remove obsolete, unused script
Related to WikiSQL
2019-12-10 16:42:27 -08:00
Giovanni Campagna d927b33458 Remove old, unused ablation models
These are the models that were used to ablate MQAN. They are worse
than MQAN, and by removing them we can facilitate refactorings.
2019-12-10 16:40:38 -08:00
Giovanni Campagna 4cf9a1941f Remove ELMo embeddings
Like Cove, ELMo embeddings are also obsolete, and the removal
allows us to remove the large allennlp library.
2019-12-10 16:38:23 -08:00
Giovanni Campagna e7481840f7 Remove cove
Cove is an obsolete form of pretraining, of dubious utility. It
depends on an obsolete, unmaintained, library, and it causes
hacks in the code. Clean up.
2019-12-10 16:34:35 -08:00
Giovanni Campagna 6911a5092d Revert "update FastText embedding"
This reverts commit 1339767da3.
2019-11-06 08:22:36 -08:00
Giovanni Campagna 2507270c4b Revert "fix"
This reverts commit 3addf7da94.
2019-11-06 08:22:36 -08:00
Giovanni Campagna f5627d6f2e Revert "fix"
This reverts commit a5b885ecd4.
2019-11-06 08:22:34 -08:00
mehrad a5b885ecd4 fix 2019-11-06 01:47:28 -08:00
mehrad 3addf7da94 fix 2019-11-06 01:18:08 -08:00
mehrad 1339767da3 update FastText embedding 2019-11-06 01:09:55 -08:00
Giovanni Campagna 4e10b5240b Fix downloading fasttext vectors 2019-11-05 21:54:06 -08:00
Giovanni Campagna 06eca199d7
Merge pull request #19 from stanford-oval/wip/dockerupdate
docker: Switch to ubi8 (RHEL 8)
2019-11-04 16:22:35 -08:00
Giovanni Campagna 9cdb85abbb
Merge pull request #20 from stanford-oval/wip/i18n
Support word embeddings for arbitrary languages
2019-11-03 22:10:16 -08:00
Giovanni Campagna 2973165de0 util: load "locale" parameter from config.json
And if not present, set it to "en"
2019-11-03 21:25:57 -08:00
Giovanni Campagna ba4c963176 fasttext: use common-crawl not wiki vectors
They are trained on a larger corpus and thus better
2019-11-01 17:38:38 -07:00
Giovanni Campagna d5aacba674 embeddings: allow passing full locale tags as --locale
This way, we don't need to do anything too special in Genie,
and we can call decanlp with --locale zh-tw or --locale zh-cn
if needed to distinguish
2019-11-01 17:36:36 -07:00
Giovanni Campagna d46353d352 Add fast-text support to cache-embeddings command 2019-11-01 17:30:59 -07:00
Giovanni Campagna 026e481df9 Add support for arbitrary word embeddings
FastText has all the word embeddings we care about anyway
2019-11-01 17:27:35 -07:00
Giovanni Campagna 668cc6f917 docker: Switch to ubi8 (RHEL 8)
ubi7 was updated to rhel 7.7, which should contain python36 natively,
but python3 is not part of the ubi repos. Luckily, it is part of the
ubi8 repos instead.
2019-11-01 17:08:06 -07:00
Giovanni Campagna a546c7b62c Fix cuda image name 2019-08-31 02:22:04 +02:00
Giovanni Campagna 28e8296032
Merge pull request #17 from stanford-oval/wip/docker
Remove obsolete Dockerfiles, and replace with a new one
2019-08-31 00:36:44 +02:00
Giovanni Campagna dcb4f020ae docker: fix hooks
They are executed from the directory containing the Dockerfile
2019-08-30 23:13:28 +02:00
Giovanni Campagna 86a51de115 MQAN: fix decoding with out of vocabulary words
If the vocabulary was limited due to max_generative_words and we
encounter an OOV word, we need to map it back to the full index
in GloVe, using the limited_idx_to_full_idx map set by the server
dynamically.
2019-08-30 21:39:17 +02:00
Giovanni Campagna 1c0a71aa0b Add debugging to docker hooks
To see exactly how they get called...
2019-08-30 21:37:42 +02:00
Giovanni Campagna fb72c84f73 docker: move embeddings to a shared directory
This way, the image can be used as a base image by almond-cloud
(which runs as a different user)
2019-08-30 21:25:54 +02:00
Giovanni Campagna ff311bd35b Add docker hub hooks to build both CPU and GPU images 2019-08-30 21:01:47 +02:00
Giovanni Campagna a9264a699d Remove obsolete Dockerfiles, and replace with a new one
A new one that wraps the new decanlp command and installs all
the dependencies correctly.
2019-08-30 18:55:28 +02:00