Search code examples
javamachine-learningneural-networkencogdeeplearning4j

Performance Encog vs Deeplearning4J


We are working on a project in Java using neural networks. We want to test different network structures on our datasets. Now we evaluate which of the Java Neural Networks is the best in terms of performance. We are evaluating Encog, Neuroph and DL4J. Can you please tell us some good resources or your own experiences about this? Thanks


Solution

  • Deeplearning4j creator here:

    • Encog was written by Jeff Heaton in the early 90s, and was the standard Java DL framework for a long time. I do not believe that Encog handles distributed computing, works with GPUs, Hadoop, Spark or Kafka, or takes into account many of the algorithmic advances in DL since 2006. (Jeff, correct me if I'm wrong!)

    • Deeplearning4j does all those things. It works on distributed CPUs or GPUs using Spark as an access layer. It's certified on CDH5 and soon on HDP... And it includes implementations of LSTMs (RNNs), deep convolutional nets, RBMs, DBNs and word2vec, among other neural nets. It is currently the most popular DL tool for the JVM, and one of the top 5 DL libraries in the world.

    • Deeplearning4j is powered by the numerical computing lib ND4J, or n-dimensional arrays for Java. Basically, we ported Numpy to the JVM. That makes DL4J extensible, and you will see us add other algos like reinforcement learning in the near future. ND4J, in turn, runs on libND4J, a C++ library that makes the computation fast. We also built the vectorization library, Canova, that takes any type of data and turns it into a vector that neural nets can understand. We're trying to solve some of the ETL problems upstream from NNs.

    • Neuroph has strong visualization, but I am not in a position to judge the rest of their framework, so I will let them speak for themselves!

      http://deeplearning4j.org

      https://github.com/deeplearning4j

      https://github.com/deeplearning4j/nd4j

      https://github.com/deeplearning4j/libnd4j

    There are nearly 2000 devs in Deeplearning4j's user support channel on Gitter. Please join us there if you have questions:

    https://gitter.im/deeplearning4j/deeplearning4j