This is an example for applying FusionNet to natural language inference task.
For more details on FusionNet, please refer to our paper:
FusionNet: Fusing via Fully-Aware Attention with Application to Machine Comprehension
- Python (version 3.5.2)
- PyTorch (0.2.0)
- spaCy (1.x)
- NumPy
- JSON Lines
- MessagePack
Since package update sometimes break backward compatibility, it is recommended to use Docker, which can be downloaded from here. To enable GPU, nvidia-docker may also needs to be installed.
After setting up Docker, simply perform docker pull momohuang/fusionnet-docker
to pull the docker file. Note that this may take some time to download. Then we can run the docker image through
docker run -it momohuang/fusionnet-docker
(Only CPU)
or
nvidia-docker run -it momohuang/fusionnet-docker
(GPU-enabled).
pip install -r requirements.txt
bash download.sh
python prepro.py
python train.py
train.py
supports an option --full_att_type
, where
--full_att_type 0
: standard attention
--full_att_type 1
: fully-aware attention
--full_att_type 2
: fully-aware multi-level attention