WekaDeeplearning4j: Deep Learning using Weka
WekaDeeplearning4j is a deep learning package for the Weka workbench. It is developed to incorporate the modern techniques of deep learning into Weka. The backend is provided by the Deeplearning4j Java library.
All functionality of this package is accessible via the Weka GUI, the commandline and programmatically in Java.
The following Neural Network Layers are available to build sophisticated architectures:
- ConvolutionLayer: applying convolution, useful for images and text embeddings
- DenseLayer: all units are connected to all units of its parent layer
- SubsamplingLayer: subsample from groups of units of the parent layer by different strategies (average, maximum, etc.)
- BatchNormalization: applies the common batch normalization strategy on the activations of the parent layer
- LSTM: uses long short term memory approach
- GlobalPoolingLayer: apply pooling over time for RNNs and pooling for CNNs applied on sequences
- OutputLayer: generates classification / regression outputs
Contributions are always welcome. If you want to contribute to the project, check out our contribution guide.
Future work on WekaDeeplearning4j will include transfer learning, network weight and activation visualization, and support for multiple embeddings as input channels for textual data.