# fast-deep-rnn


<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->

This is the Course Project for the DeepLearning University Course.

## Install

Library can be installed from the PyPI via

``` sh
pip install fast_deep_rnn
```

## Structure

`core` module contains the original core of the framework with Tensor
class implementation and the set of differentiable operations, organized
in Modules.

`core_v2` module contains the alternative proposed implementation,
resulting in much faster gradient computing in RNN-s.

Notebook `nbs/02_minimal_training.ipynb` contains the simplest example
of model, having exponential growth in original gradient computing, and
benchmarking function to measure this growth. git tags
`baseline_benchmark_results` and `solution_benchmark_results` contain
corresponding benchmark results inside the notebook.

Notebook `nbs/01_lstm_training.ipynb` contains training of LSTM on
number sorting task, which became possible only after the implemented
optimization.
