Deep Learning for Java, Scala & Clojure on Hadoop & Spark With GPUs - From Skymind
Java JavaScript CSS Scala HTML TypeScript Other
Latest commit 0a74c27 Jan 19, 2017 @AlexDBlack AlexDBlack committed on GitHub Merge pull request #2706 from deeplearning4j/ab_gradcheck
Gradient check and updater fixes
Failed to load latest commit information.
deeplearning4j-core Additional gradient check validation Jan 19, 2017
deeplearning4j-cuda Update to version 0.7.3-SNAPSHOT Dec 27, 2016
deeplearning4j-graph Update to version 0.7.3-SNAPSHOT Dec 27, 2016
deeplearning4j-keras Keras backend - support for Theano sequential models (#2562) Jan 10, 2017
deeplearning4j-modelimport theano 180deg fix Jan 6, 2017
deeplearning4j-nlp-parent minor tweaks for vocab builder Jan 16, 2017
deeplearning4j-nn Additional gradient check validation Jan 19, 2017
deeplearning4j-scaleout Add Spark VAE reconstruction error (for VAE + loss function models) Jan 16, 2017
deeplearning4j-ui-parent Partial implementation for plotVocab posted directly to UI Jan 10, 2017
.gitignore Basic localization works; more UI implementation Oct 14, 2016 Update Feb 22, 2016 Update Aug 8, 2016 Update Sep 21, 2016
LICENSE.txt #2187 Replace copyright header with AL 2.0 (#2189) Oct 21, 2016 Update (#2631) Jan 6, 2017
VERSION Update VERSION Oct 18, 2016 Final tweaks to scala/build scripts Jul 28, 2016 Add and rearrange artifacts to support CUDA 8.0 Sep 14, 2016 Yet another shell script that wasn't executable Jul 29, 2016 Update to JavaCPP 1.2.5 and to CUDA 8.0 by default for release Nov 14, 2016
pom.xml Keras backend - support for Theano sequential models (#2562) Jan 10, 2017
runWindowsTests.cmd Fixes for how cuda exclusion is handled for native Nov 30, 2016 Yet another shell script that wasn't executable Jul 29, 2016

Deeplearning4J: Neural Net Platform

Join the chat at Maven Central Javadoc

Deeplearning4J is an Apache 2.0-licensed, open-source, distributed neural net library written in Java and Scala.

Deeplearning4J integrates with Hadoop and Spark and runs on several backends that enable use of CPUs and GPUs. The aim is to create a plug-and-play solution that is more convention than configuration, and which allows for fast prototyping.

The most recent stable release in Maven Central is 0.7.2, and the current master is 0.7.3-SNAPSHOT.

Using Deeplearning4j

To get started using Deeplearning4j, please go to our Quickstart. You'll need to be familiar with a Java automated build tool such as Maven and an IDE such as IntelliJ.

Main Features

  • Versatile n-dimensional array class
  • GPU integration(Supports devices starting from Kepler,cc3.0. You can check your device's compute compatibility here.)


  • datavec = Library for converting images, text and CSV data into format suitable for Deep Learning
  • nn = core neural net structures MultiLayer Network and Computation graph for designing Neural Net structures
  • core = additional functionality building on deeplearning4j-nn
  • modelimport = functionality to import models from Keras
  • nlp = natural language processing components including vectorizers, models, sample datasets and renderers
  • scaleout = integrations
    • spark = integration with Apache Spark versions 1.3 to 1.6 (Spark 2.0 coming soon)
    • parallel-wraper = Single machine model parallelism (for multi-GPU systems, etc)
    • aws = loading data to and from aws resources EC2 and S3
  • ui = provides visual interfaces for tuning models Details here


Documentation is available at and JavaDocs.


We are not supporting Stackoverflow right now. Github issues should focus on bug reports and feature requests. Please join the community on Gitter, where we field questions about how to install the software and work with neural nets. For support from Skymind, please see our contact page.


To install Deeplearning4J, there are a couple approaches briefly described on our Quickstart and below. More information can be found on the ND4J web site as well as here.

Use Maven Central Repository

Search Maven Central for deeplearning4j to get a list of dependencies.

Add the dependency information to your pom.xml file. We highly recommend downloading via Maven unless you plan to help us develop DL4J.


  1. Check for open issues or open a fresh one to start a discussion around a feature idea or a bug.
  2. If you feel uncomfortable or uncertain about an issue or your changes, don't hesitate to contact us on Gitter using the link above.
  3. Fork the repository on GitHub to start making your changes to the master branch (or branch off of it).
  4. Write a test that shows the bug was fixed or the feature works as expected.
  5. Send a pull request and bug us on Gitter until it gets merged and published. :)