[layer] Add first draft of lstm cell
authorParichay Kapoor <pk.kapoor@samsung.com>
Sat, 23 Oct 2021 13:18:51 +0000 (22:18 +0900)
committerJijoong Moon <jijoong.moon@samsung.com>
Tue, 26 Oct 2021 00:11:31 +0000 (09:11 +0900)
commit371953f4b46fb4d7c3ad61a933c41b8a8c15b32e
tree1188522906cff38edcaa315f21fceba254c33c42
parent1026e97121652354d34e17d42265a277a4f89abd
[layer] Add first draft of lstm cell

This patch adds the first draft of lstm cell. This has certain
advantages over the existing LSTM when executing for single timestep:
- does not need to divide the data over smaller chunks for computation.
This saves the overhead of creating tensors, an extra loop and combines
computation to a single call for efficiency.
- some of the operations have been avoided based on the current timestep
(which were zeros).
More optimizatios will be coming soon for LSTM cell.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
api/ccapi/include/layer.h
nntrainer/app_context.cpp
nntrainer/layers/acti_func.cpp
nntrainer/layers/lstmcell.cpp [new file with mode: 0644]
nntrainer/layers/lstmcell.h [new file with mode: 0644]
nntrainer/layers/meson.build
test/unittest/layers/meson.build
test/unittest/layers/unittest_layers_lstmcell.cpp [new file with mode: 0644]