nearbydelta / deepspark

A neural network library which trained by Spark RDD instances.

GitHub

DeepSpark 1.2.0

A Neural Network implementation with Scala, Breeze & Spark

Deep Spark follows GPL v2 license.

Features

Network

DeepSpark supports following layered neural network implementation:

  • Fully-connected Neural Network
  • Fully-connected Rank-3 Tensor Network
  • RBF Network
  • Word Embedding Network

Training Methodology

ScalaNetwork supports following training methodologies:

  • Stochastic Gradient Descent w/ L1-, L2-regularization, Momentum.
  • AdaGrad
  • AdaDelta

ScalaNetwork supports following environments:

  • Multi-Threaded Training Environment, which gets input from Spark RDD

Also you can add negative examples with Trainer.setNegativeSampler().

Activation Function

ScalaNetwork supports following activation functions:

  • Linear
  • Sigmoid
  • HyperbolicTangent
  • Rectifier
  • Softplus
  • HardSigmoid
  • HardTanh
  • Softmax
  • LeakyReLU

And for RBF Layer,

  • Gaussian RBF
  • Inverse Quadratic RBF
  • HardGaussian RBF (= Hard Inverse Quadratic RBF)

Usage

Here is some examples for basic usage.

Download

Currently ScalaNetwork supports Scala version 2.10 ~ 2.11.

  • Stable Release is 1.2.0

If you are using SBT, add a dependency as described below:

libraryDependencies += "com.github.nearbydelta" %% "deepspark" % "1.2.0"

If you are using Maven, add a dependency as described below:

<dependency>
  <groupId>com.github.nearbydelta</groupId>
  <artifactId>deepspark_{your.scala.version}</artifactId>
  <version>1.2.0</version>
</dependency>

Examples