Komputation is a neural network framework for the JVM written in the Kotlin programming language.
Komputation is available through Maven Central:
<dependency>
<groupId>com.komputation</groupId>
<artifactId>komputation</artifactId>
<version>0.11.1</version>
</dependency>
-
Entry points:
-
Standard feed-forward networks:
-
Convolutional neural networks (CNNs):
-
Recurrent neural networks (RNNs):
- Encoder
- Decoder
-
Activation functions:
-
Other layers:
-
Boolean functions:
-
Word embedding toy problem:
-
Running total:
-
Reverse function:
-
MNIST:
-
TREC:
-
Boolean functions:
-
Word embedding toy problem:
-
MNIST:
-
TREC:
The following code instantiates a GPU-accelerated convolutional neural network for sentence classification:
val network = CudaNetwork(
batchSize,
lookupLayer(embeddings, maximumDocumentLength, hasFixedLength, embeddingDimension, optimization),
convolutionalLayer(embeddingDimension, maximumDocumentLength, hasFixedLength, numberFilters, filterWidth, filterHeight, weightInitialization, biasInitialization, optimization),
reluLayer(numberFilters),
dropoutLayer(random, keepProbability, numberFilters),
projectionLayer(numberFilters, numberCategories, weightInitialization, biasInitialization, optimization),
softmaxLayer(numberCategories)
)
See the TREC demo for more details.
- Stochastic Gradient Descent
- Historical:
- Adaptive: