Neural Sequence Learning Using TensorFlow
The Neural Monkey package provides a higher level abstraction for sequential neural network models, most prominently in Natural Language Processing (NLP). It is built on TensorFlow. It can be used for fast prototyping of sequential models in NLP which can be used e.g. for neural machine translation or sentence classification.
The higher-level API brings together a collection of standard building blocks (RNN encoder and decoder, multi-layer percetpron) and a simple way of adding new building blocks implemented directly in TensorFlow.
neuralmonkey-train <EXPERIMENT_INI>
bin: Directory with executables and toolsexamples: Example configuration files for ready-made experimentslib: Third party softwareneuralmonkey: Python package filestests: Test files
The neuralmonkey package is organized into subpackages as follows:
encoders: The encoders (get sequences of data and encode them)decoders: The decoders (get outputs of encoders and decode them)nn: The NN (as in Neural Network components)trainers: The trainers (train the whole thing)runners: The runners (run the trained thing)readers: The readers (read files)processors: The pre- and postprocessors (pre- and postprocess data)evaluators: The evaluators (used for measuring performance)config: The configuration (loading, saving, parsing)logbook: The Logbook (server for checking up on experiments)tests: The unit tests
caffe_image_features.pyextracts features from images using pre-trained networkinstall_caffe.shinstalls caffe including prerequisitesprecompute_image_features.pydeprecatedreformat_downloaded_image_features.pydeprecatedtokenize_data.pytokenizes datatokenize_persistable.shmanages the tokenize_data script
- You need Python 3.5 to run Neural Monkey.
- Install Tensorflow by following their installation docs. (Minimum required version is 0.9.) here
- Install dependencies by typing
pip install -r requirements.txt. If the training crashes on an unknown dependency, just install it with pip.
You can find the API documentation of this package here. The documentation files are generated from docstrings using autodoc and Napoleon extensions to the Python documentation package Sphinx. The docstrings should follow the recommendations in the Google Python Style Guide. Additional details on the docstring formatting can be found in the Napoleon documentation as well.
- tflearn – a more general and less abstract deep learning toolkit built over TensorFlow
- nlpnet – deep learning tools for tagging and parsing
- NNBlocks – a library build over Theano containing NLP specific models
The software is distributed under the BSD License.