2.1 KiB
2.1 KiB
Path Ranking with Attention to Type Hierarchies
This repo contains code for training and testing the proposed models in Path Ranking with Attention to Type Hierarchies. Due to its large size, data needs to be downloaded separately from dropbox.
Notes
- Code for baseline models in the paper can be found here (PRA and SFE) and here (Path-RNN).
- We provide tokenized data for WN18RR and FB15k-237. Our data format follows ChainsofReasoning. Vocabularies used for tokenizing data are also provided for reference.
- Raw data for WN18RR and FB15k-237 can be found here. Types for WN18RR entities can be obtained from Wordnet. Types for FB15k-237 entities can be found here.
Tested platform
- Hardware: 64GB RAM, 12GB GPU memory
- Software: ubuntu 16.04, python 3.5, cuda 8
Setup
- Install cuda
- (Optional) Set up python virtual environment by running
virtualenv -p python3 .
- (Optional) Activate virtual environment by running
source bin/activate
- Install pytorch with cuda
- Install requirements by running
pip3 install -r requirements.txt
Instruction for running the code
Data
- Compressed data file can be downloaded from dropbox
- Unzip the file in the root directory of this repo.
Run the model
- Use
run.py
to train and test the model on WN18RR or FB15k-237. - Use
/main/playground/model2/CompositionalVectorSpaceAlgorithm.py
to modify the training settings and hyperparamters. - Use
main/playground/model2/CompositionalVectorSpaceModel.py
to modify the network design. Different attention methods for types and paths can be selected here. - Training progress can be monitored using tensorboardX by running
tensorboard --logdir runs
. Tutorials and Details can be found here.