Skip to content

A simple library to deploy Keras neural networks in pure C for realtime applications

Notifications You must be signed in to change notification settings

ge-dong/keras2c

This branch is 8 commits ahead of, 52 commits behind PlasmaControl/keras2c:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

54b8f64 · May 20, 2020

History

46 Commits
Dec 13, 2019
May 20, 2020
May 20, 2020
Dec 13, 2019
Feb 21, 2020
Dec 13, 2019
Dec 13, 2019
Dec 13, 2019
Jul 10, 2019
Jun 29, 2019
Jun 29, 2019
Feb 26, 2020
Feb 26, 2020
Feb 26, 2020
Mar 6, 2020
Mar 6, 2020
Mar 6, 2020
Mar 6, 2020
Mar 6, 2020
Mar 6, 2020
Jul 7, 2019
Jul 7, 2019
Mar 6, 2020
Mar 6, 2020
Mar 6, 2020
Feb 26, 2020
Mar 6, 2020
Mar 6, 2020
Jun 29, 2019
May 20, 2020
Feb 21, 2020
Jul 10, 2019

Repository files navigation

keras2c

Build Status Code Coverage Code Quality

License: GNU GPLv3

keras2c is a library for deploying keras neural networks in C99, using only standard libraries. It is designed to be as simple as possible for real time applications.

Supported Layers

  • Core Layers: Dense, Activation, Dropout, Flatten, Input, Reshape, Permute, RepeatVector, ActivityRegularization, SpatialDropout1D, SpatialDropout2D, SpatialDropout3D
  • Convolution Layers: Conv1D, Conv2D, Conv3D, Cropping1D, Cropping2D, Cropping3D, UpSampling1D, UpSampling2D, UpSampling3D, ZeroPadding1D, ZeroPadding2D, ZeroPadding3D
  • Pooling Layers: MaxPooling1D, MaxPooling2D, AveragePooling1D, AveragePooling2D, GlobalMaxPooling1D, GlobalAveragePooling1D, GlobalMaxPooling2D, GlobalAveragePooling2D, GlobalMaxPooling3D,GlobalAveragePooling3D
  • Recurrent Layers: SimpleRNN, GRU, LSTM, SimpleRNNCell, GRUCell, LSTMCell
  • Embedding Layers: Embedding
  • Merge Layers: Add, Subtract, Multiply, Average, Maximum, Minimum, Concatenate, Dot
  • Advanced Activation Layers: LeakyReLU, PReLU, ELU, ThresholdedReLU, Softmax, ReLU
  • Normalization Layers: BatchNormalization
  • Noise Layers: GaussianNoise, GaussianDropout, AlphaDropout

ToDo

  • Core Layers: Lambda, Masking
  • Convolution Layers: SeparableConv1D, SeparableConv2D, DepthwiseConv2D, Conv2DTranspose, Conv3DTranspose
  • Pooling Layers: MaxPooling3D, AveragePooling3D
  • Locally Connected Layers: LocallyConnected1D, LocallyConnected2D
  • Recurrent Layers: ConvLSTM2D, ConvLSTM2DCell
  • Merge Layers: Broadcasting merge between different sizes
  • Layer Wrappers: TimeDistributed, Bidirectional
  • Misc: models made from submodels

Contribute

License

The project is licensed under the GNU GPLv3 license.

About

A simple library to deploy Keras neural networks in pure C for realtime applications

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Objective-C 98.2%
  • C 0.7%
  • Python 0.7%
  • Jupyter Notebook 0.4%
  • C++ 0.0%
  • Makefile 0.0%