<commit_before>------------------------
| Project Announcements
|:-----------------------
| Please welcome @zuphilip and @kba as additional project maintainers. (10/15/2016)
------------------------

# clstm

CLSTM is an implementation of the LSTM recurrent neural network
model in C++, using the Eigen library for numerical computations.

# Future Plans

CLSTM is mainly in maintenance mode now. It was created at a time when there weren't a lot of good LSTM
implementations around, but several good options have become available over the last year. Nevertheless, if
you need a small library for text line recognition with few dependencies, CLSTM is still a good option.
I'm planning on creating a new open source text recognition system from the ground up, combining advances
in recurrent neural networks, attention, GPU computing, and using some of the libraries that have become
available now.

# Prerequisites

 - scons, Eigen
 - protocol buffer library and compiler
 - Optional: HDF5, ZMQ, Python

```sh
# Ubuntu 15.04 / Debian 8
sudo apt-get install scons libprotobuf-dev libprotobuf9 protobuf-compiler

# Ubuntu 14.04:
sudo apt-get install scons libprotobuf-dev libprotobuf8 protobuf-compiler
```

Download [Eigen](http://eigen.tuxfamily.org) with Tensor support (> v3.3-beta1)
and copy the header files to an `include` path:

```sh
sudo git clone --depth 1 --single-branch --branch 3.3-rc1 \
  "https://github.com/RLovelett/eigen" /usr/local/include/eigen3
```

To use the [visual debugging methods](#user-content-display), additionally:

```sh
# Ubuntu 15.04:
sudo apt-get install libzmq3-dev libzmq3 libzmqpp-dev libzmqpp3 libpng12-dev
```

For [HDF5](#user-content-hdf5), additionally:

```sh
# Ubuntu 15.04:
sudo apt-get install hdf5-helpers libhdf5-8 libhdf5-cpp-8 libhdf5-dev python-h5py

# Ubuntu 14.04:
sudo apt-get install hdf5-helpers libhdf5-7 libhdf5-dev python-h5py
```

# Getting Started

There is a full set of tests in the current version of clstm; just
run them with:

    ./run-tests

This will check:<commit_msg>README: Download eigen from tarball or git<commit_after>------------------------
| Project Announcements
|:-----------------------
| Please welcome @zuphilip and @kba as additional project maintainers. (10/15/2016)
------------------------

# clstm

CLSTM is an implementation of the LSTM recurrent neural network
model in C++, using the Eigen library for numerical computations.

# Future Plans

CLSTM is mainly in maintenance mode now. It was created at a time when there weren't a lot of good LSTM
implementations around, but several good options have become available over the last year. Nevertheless, if
you need a small library for text line recognition with few dependencies, CLSTM is still a good option.
I'm planning on creating a new open source text recognition system from the ground up, combining advances
in recurrent neural networks, attention, GPU computing, and using some of the libraries that have become
available now.

# Prerequisites

 - scons, Eigen
 - protocol buffer library and compiler
 - Optional: HDF5, ZMQ, Python

```sh
# Ubuntu 15.04 / Debian 8
sudo apt-get install scons libprotobuf-dev libprotobuf9 protobuf-compiler

# Ubuntu 14.04:
sudo apt-get install scons libprotobuf-dev libprotobuf8 protobuf-compiler
```

Download [Eigen](http://eigen.tuxfamily.org) with Tensor support (> v3.3-beta1)
and copy the header files to an `include` path:

```sh
# with wget
wget 'https://github.com/RLovelett/eigen/archive/3.3-rc1.tar.gz'
tar xf 3.3-rc1.tar.gz
mv eigen-3.3-rc1 /usr/local/include
# or with git:
sudo git clone --depth 1 --single-branch --branch 3.3-rc1 \
  "https://github.com/RLovelett/eigen" /usr/local/include/eigen3
```

To use the [visual debugging methods](#user-content-display), additionally:

```sh
# Ubuntu 15.04:
sudo apt-get install libzmq3-dev libzmq3 libzmqpp-dev libzmqpp3 libpng12-dev
```

For [HDF5](#user-content-hdf5), additionally:

```sh
# Ubuntu 15.04:
sudo apt-get install hdf5-helpers libhdf5-8 libhdf5-cpp-8 libhdf5-dev python-h5py

# Ubuntu 14.04:
sudo apt-get install hdf5-helpers libhdf5-7 libhdf5-dev python-h5py
```

# Getting Started

There is a full set of tests in the current version of clstm; just
run them with:

    ./run-tests

This will check:
{'fraction_non_alphanumeric': 0.11786804414181733, 'fraction_numerical': 0.0298192063864757, 'mean_word_length': 3.6153846153846154, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 3, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 3, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '995443', 'n_tokens_mistral': 1412, 'n_tokens_neox': 1270, 'n_words': 514}