Implementation of our paper "Information Aggregation via Dynamic Routing for Sequence Encoding"
OS: Linux (Ubuntu 14.04+)
Python: v3.6
Tensorflow: v1.4.0
Numpy: v1.14
CUDA : v8.0
CUDNN: v6.0
Refer to downloadDataset for data download instructions
Please first refer to Data Dowload and download all the data needed,
Go to root of this project Capsule4TextClassification, then type the following
command to start training process on correspoding dataset.
#for sentence level datasets, more specifically for SST-1 and SST-2 datasets
python ./caps_attn_flatten/train_test.py --load-config --weight-path ./savings/sst01
python ./caps_attn_flatten/train_test.py --load-config --weight-path ./savings/sst02
#for document level datasets, more specifically for imdb, yelp-2013 and yelp-2014
python ./caps_attn_hierarchical/train_test.py --load-config --weight-path ./savings/imdb
python ./caps_attn_hierarchical/train_test.py --load-config --weight-path ./savings/yelp2013
python ./caps_attn_hierarchical/train_test.py --load-config --weight-path ./savings/yelp2014
Note that we provide a sentence level model (caps_attn_flatten) and a document level model (caps_attn_hierarchical)
Take first command for example --load-config indicates that before construction of the computational graph we will
load a config file from a directory which ever --weight-path specifies, in this case ./savings/sst01.
There is a ./savings/sst01/config file that controls the configuration of the model, if you ever want to run
another configuration, you should simply copy the ./savings/sst01 directory and modify the config file,
and then run a command similar to those specified as above.
--weight-path specifies in which directory we want to store our config file, and most importantly the model checkpoint.
Also a status file, which is originally used to avoid conflict.
note that if you ever encountered "process running or finished" error, you should remove status file.