Fork me on GitHub

What is Deeplearning4j?

Deeplearning4j is the first commercial-grade, open-source, distributed deep-learning library written for Java and Scala. Integrated with Hadoop and Spark, DL4J is designed to be used in business environments, rather than as a research tool. Skymind is its commercial support arm.

Deeplearning4j aims to be cutting-edge plug and play, more convention than configuration, which allows for fast prototyping for non-researchers. DL4J is customizable at scale. Released under the Apache 2.0 license, all derivatives of DL4J belong to their authors.

By following the instructions on our Quick Start page, you can run your first examples of trained neural nets in minutes.

Deep Learning Use Cases

Why Deeplearning4j?

Deeplearning4j includes both a distributed, multi-threaded deep-learning framework and a normal single-threaded deep-learning framework. Training takes place in the cluster, which means it can process massive amounts of data quickly. Nets are trained in parallel via iterative reduce, and they are equally compatible with Java, Scala and Clojure. Deeplearning4j’s role as a modular component in an open stack makes it the first deep-learning framework adapted for a micro-service architecture.

DL4J’s Neural Networks

Deep neural nets are capable of record-breaking accuracy. For a quick neural net introduction, please visit our overview page. In a nutshell, Deeplearning4j lets you compose deep neural nets from various shallow nets, each of which form a so-called layer. This flexibility lets you combine restricted Boltzmann machines, other autoencoders, convolutional nets or recurrent nets as needed in a distributed, production-grade framework that works with Spark and Hadoop on top of distributed CPUs or GPUs.

Here’s an overview of the different libraries we’ve built and where they fit into a larger system:

Alt text

There are a lot of parameters to adjust when you’re training a deep-learning network. We’ve done our best to explain them, so that Deeplearning4j can serve as a DIY tool for Java, Scala and Clojure programmers.

If you have any questions, please join us on Gitter; for premium support, contact us at Skymind. ND4J is the Java-based scientific computing engine powering our matrix operations. On large matrices, our benchmarks show it runs roughly twice as fast as Numpy.

Deeplearning4j Tutorials

User Testimonial

  "I feel like Frankenstein. The doctor..." - Steve D. 
  "I am very keen on using deeplearning4j in production here. This is a massive opportunity in a market worth billions of quid." -John M.

Contributing to Deeplearning4j

Developers who would like to contribute to Deeplearning4j can get started by reading our Developer’s Guide.

Research With Deeplearning4j