karkaroff / castor

PyTorch deep learning models by the Data Systems Group at the University of Waterloo
http://castor.ai/
Apache License 2.0
0 stars 0 forks source link

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