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.
- 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
- 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
- Issue Tracker: https://github.com/f0uriest/keras2c/issues
- Source Code: https://github.com/f0uriest/keras2c/
The project is licensed under the GNU GPLv3 license.