Skip to main content

Keras implementation of a NALU layer

Project description

Keras NALU (Neural Arithmetic Logic Units)

CircleCI

Keras implementation of a NALU layer (Neural Arithmetic Logic Units). See: https://arxiv.org/pdf/1808.00508.pdf.

Installation

pip install keras-nalu

Usage

from keras.layers import Input
from keras.models import Model
from keras.optimizers import RMSprop
from keras_nalu.nalu import NALU

# Your dataset
X_test = ... # Interpolation data
Y_test = ... # Interpolation data

X_validation = ... # Extrapolation data (validation)
Y_validation = ... # Extrapolation data (validation)

X_test = ... # Extrapolation data (test)
Y_test = ... # Extrapolation data (test)

# Hyper parameters
epoch_count = 1000
learning_rate = 0.05
sequence_len = 100

inputs = Input(shape=(sequence_len, ))
hidden = NALU(units=2)(inputs)
hidden = NALU(units=2)(hidden)
outputs = NALU(units=1)(hidden)

model = Model(inputs=inputs, outputs=outputs)
model.summary()
model.compile(loss='mse', optimizer=RMSprop(lr=learning_rate))

model.fit(
    batch_size=256,
    epochs=epoch_count,
    validation_data=(X_validation, Y_validation),
    x=X_train,
    y=Y_train,
)

extrapolation_loss = model.evaluate(
    batch_size=256,
    x=X_test,
    y=Y_test,
)

Options

cell

Cell to use in the NALU layer. May be 'a' (addition/subtraction), 'm' (multiplication/division/power), or None which, will apply a gating function to toggle between 'a' or 'm'.

  • Default: None
  • Type: ?('a' | 'm' | None)

e

Epsilon value added to inputs in order to prevent calculating the log of zero.

  • Default: 1e-7
  • Type: ?float

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

keras-nalu-1.3.0.tar.gz (14.5 kB view details)

Uploaded Source

Built Distribution

keras_nalu-1.3.0-py3-none-any.whl (38.9 kB view details)

Uploaded Python 3

File details

Details for the file keras-nalu-1.3.0.tar.gz.

File metadata

  • Download URL: keras-nalu-1.3.0.tar.gz
  • Upload date:
  • Size: 14.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.11 CPython/3.7.0 Darwin/17.7.0

File hashes

Hashes for keras-nalu-1.3.0.tar.gz
Algorithm Hash digest
SHA256 85664c773a75797a5fe3fe5db0e0889e4ad553d4184bf5ffdf6d0da89b057f10
MD5 f7d6184711025836024623d36e4e6b42
BLAKE2b-256 89f1502af7bedc4fa2fe7b6d35d20a97c30f2989af6486eff0facffe54b7003b

See more details on using hashes here.

File details

Details for the file keras_nalu-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: keras_nalu-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 38.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.11 CPython/3.7.0 Darwin/17.7.0

File hashes

Hashes for keras_nalu-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7f9f5bacd096dd82e68c8850b57e08b5ce841a87bec595e25a14c45e2620dd7d
MD5 b13c7b9852cd773f21a284a8f593f2d5
BLAKE2b-256 f3220e80455884cb0caf7b0e9e7ed9193998b3d0ef63f5e416bbf70a74115f33

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page