Appendix H. Setting Up DL4J Projects

DL4J is a suite of tools that together provide a full platform for deep learning. There are multiple dependencies that you can wire together to perform different functions in support of deep learning models. DL4J uses Maven to control how dependencies are wired together in a project. In this section, we show you a few of the relevant dependencies that you can can use to build your own deep learning models, tools, and integrations.

Creating a New DL4J Project

DL4J is an open source project targeting professional Java developers familiar with production deployments, an IDE such as IntelliJ, and an automated build tool such as Maven. Our tool will serve you best if you have those tools under your belt already. ND4J and DataVec, our vectorization library, will be automatically installed by following the quickstart instructions below.

Here are the system configuration requirements:

  1. Java 7 or above
  2. Maven 3.2.5 or above (dependency management and automated build tool)
  3. Git

There are also some optional steps that you might want to perform including installing the following:

  • Cuda 7 for GPUs
  • Scala 2.10.x
  • Windows
  • GitHub

Let’s begin by setting up your environment, starting with Java.


Java is the main interface and networking language of ND4J because it’s used for everything from distributed cloud-based systems with thousands of nodes, to low-memory Internet of Things (IoT) devices. It’s a “write once, run anywhere” language.

To test which version ...

Get Deep Learning now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.