Skip to content
Branch: master
Clone or download
Pull request Compare This branch is 3 commits behind CyberZHG:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
keras_ordered_neurons
tests
.gitignore
.travis.yml
LICENSE
MANIFEST.in
README.md
publish.sh
requirements-dev.txt
requirements.txt
setup.py
test.sh

README.md

Keras Ordered Neurons LSTM

Travis Coverage 996.ICU

Unofficial implementation of ON-LSTM.

Install

pip install keras-ordered-neurons

Usage

Basic

Same as LSTM except that an extra argument chunk_size should be given:

from keras.models import Sequential
from keras.layers import Embedding, Bidirectional, Dense
from keras_ordered_neurons import ONLSTM

model = Sequential()
model.add(Embedding(input_shape=(None,), input_dim=10, output_dim=100))
model.add(Bidirectional(ONLSTM(units=50, chunk_size=5)))
model.add(Dense(units=2, activation='softmax'))
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy')
model.summary()

Expected Split Points

Set return_splits to True if you want to know the expected split points of master forget gate and master input gate.

from keras.models import Model
from keras.layers import Input, Embedding
from keras_ordered_neurons import ONLSTM

inputs = Input(shape=(None,))
embed = Embedding(input_dim=10, output_dim=100)(inputs)
outputs, splits = ONLSTM(units=50, chunk_size=5, return_sequences=True, return_splits=True)(embed)
model = Model(inputs=inputs, outputs=splits)
model.compile(optimizer='adam', loss='mse')
model.summary(line_length=120)

tf.keras

Add TF_KERAS=1 to environment variables if you are using tensorflow.python.keras.

You can’t perform that action at this time.