Achyudh Ram ed4f01852e Baseline LSTM implementation (#150)
* Add ReutersTrainer, ReutersEvaluator options in Factory classes

* Add Reuters to Kim-CNN command line arguments

* Fix SST dataset path according to changes in Kim-CNN args

The dataset path in args.py was made to point at the dataset folder rather than dataset/SST folder. Hence SST folder was added to paths in the SST dataset class

* Add Reuters dataset class, and support in __main__

* Add Reuters dataset trainers and evaluators

* Remove debug print statement in reuters_evaluator

* Fix rounding bug in reuters_trainer and reuters_evaluator

* Add LSTM for baseline text classification measurements

* Add eval metrics for lstm_baseline

* Set batch_first param in lstm_baseline

* Remove onnx args from lstm_baseline
2018-10-11 03:04:23 -04:00
2018-08-12 18:56:08 -04:00
2018-08-12 18:56:08 -04:00
2017-11-04 18:22:40 -04:00
2018-08-04 17:30:24 -04:00
2017-04-18 12:32:43 -04:00
2018-07-10 22:06:55 -04:00
2018-05-27 09:19:58 -04:00
2017-11-25 14:39:39 -05:00

Castor

This is the common repo for PyTorch deep learning models by the Data Systems Group at the University of Waterloo.

Models

Predictions Over One Input Text Sequence

For sentiment analysis, topic classification, etc.

Predictions Over Two Input Text Sequences

For paraphrase detection, question answering, etc.

Each model directory has a README.md with further details.

Setting up PyTorch

If you are an internal Castor contributor using GPU machines in the lab, follow the instructions here.

Castor is designed for Python 3.6 and PyTorch 0.4. PyTorch recommends Anaconda for managing your environment. We'd recommend creating a custom environment as follows:

$ conda create --name castor python=3.6
$ source activate castor

And installing the packages as follows:

$ conda install pytorch torchvision -c pytorch

Other Python packages we use can be installed via pip:

$ pip install -r requirements.txt

Code depends on data from NLTK (e.g., stopwords) so you'll have to download them. Run the Python interpreter and type the commands:

>>> import nltk
>>> nltk.download()

Finally, run the following inside the utils directory to build the trec_eval tool for evaluating certain datasets.

$ ./get_trec_eval.sh

Data and Pre-Trained Models

If you are an internal Castor contributor using GPU machines in the lab, follow the instructions here.

To fully take advantage of code here, clone these other two repos:

Organize your directory structure as follows:

.
├── Castor
├── Castor-data
└── Castor-models

For example (using HTTPS):

$ git clone https://github.com/castorini/Castor.git
$ git clone https://git.uwaterloo.ca/jimmylin/Castor-data.git
$ git clone https://git.uwaterloo.ca/jimmylin/Castor-models.git

After cloning the Castor-data repo, you need to unzip embeddings and run data pre-processing scripts. You can choose to follow instructions under each dataset and embedding directory separately, or just run the following script in Castor-data to do all of the steps for you:

$ ./setup.sh
S
Description
PyTorch deep learning models for text processing
Readme Apache-2.0
1.2 MiB
Languages
Python 93.7%
JavaScript 3.2%
Java 2.2%
HTML 0.5%
Shell 0.4%