JeanChritopher / treelstm-1

Fast mini batch version of treelstm using tensorflow

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Forked from https://github.com/sapruash/RecursiveNN

Tensorflow implementation of N-ary Recursive Neural Networks using LSTM units as described in "Improved Semantic Representations From Tree-Structured Long Short-Term Memory Networks" by Kai Sheng Tai, Richard Socher, and Christopher D. Manning.

This implementation builds a meta-tree per minibatch that aggregates all its samples. A meta-tree is then processed heightwise. Each nodes with a given height h depends only from nodes of height h-1, this allows to aggregate all matrix mutliplications within h. Thus the number of matrix multiplication per mini batch can be reduced from O(MxN) to O(log(N)) where M is the mini batch size and N the number of nodes. The result is a training time 70x faster with the reference model : https://github.com/sapruash/RecursiveNN.

Usage :

  • From your shell run :

    ./fetch_and_preprocess.sh

    to download and preprocess data. (This may take a while)

  • Then :

    python tf_sentimentmain.py -optimized

    to train the model on the SST dataset with optimized model version, without argument the sapruash's version is launched.

About

Fast mini batch version of treelstm using tensorflow


Languages

Language:Python 86.7%Language:Java 12.9%Language:Shell 0.3%