← all repositories
deeplearning4j/deeplearning4j

Deep learning without leaving the JVM

DL4J is a full-stack ecosystem that lets JVM teams build, import, and run neural networks without maintaining a separate Python runtime.

deeplearning4j
Not currently ranked — collecting fresh signals.
star history

What it does

DL4J is a comprehensive deep learning suite for the JVM. It provides a high-level API for building neural networks, a linear algebra library called ND4J with over 500 operations, an automatic differentiation engine called SameDiff, and a data pipeline tool called DataVec that ingests everything from CSVs to video. Because it runs on the JVM, you can use it from Java, Scala, Kotlin, or Clojure.

The interesting bit

Unlike a thin wrapper around Python libraries, DL4J owns the runtime. Its C++ backend LibND4J handles CPU and GPU math directly, accessed through JavaCPP, so models execute inside the JVM process rather than shelling out to a Python interpreter.

Key highlights

  • DL4J imports Keras models from HDF5 and supports distributed training on Apache Spark
  • ND4J accelerates linear algebra on CPU via AVX2/512 and on GPU via CUDA, using OpenBLAS, OneDNN, and cuDNN
  • SameDiff provides graph-based automatic differentiation and can import TensorFlow frozen .pb models
  • DataVec handles ETL from HDFS, images, audio, video, and spreadsheets
  • The stack supports ARM, PowerPC, and x86, though CUDA is not available on macOS

Caveats

  • The test suite only runs on JDK 11 because Spark and older Scala versions break on JDK 17
  • SameDiff’s eager execution mode and several model imports—ONNX, TensorFlow SavedModel, and Keras—are listed as planned but not yet available
  • CUDA support is limited to versions 10.0 through 10.2 and excludes macOS

Verdict

Worth evaluating if your data pipeline and production stack are already JVM-based and you want to avoid bridging to Python. If you live in PyTorch or TensorFlow 2.x eager mode and have no Java dependency, there is little reason to cross over.

Frequently asked

What is deeplearning4j/deeplearning4j?
DL4J is a full-stack ecosystem that lets JVM teams build, import, and run neural networks without maintaining a separate Python runtime.
Is deeplearning4j open source?
Yes — deeplearning4j/deeplearning4j is open source, released under the Apache-2.0 license.
What language is deeplearning4j written in?
deeplearning4j/deeplearning4j is primarily written in Java.
How popular is deeplearning4j?
deeplearning4j/deeplearning4j has 14.3k stars on GitHub.
Where can I find deeplearning4j?
deeplearning4j/deeplearning4j is on GitHub at https://github.com/deeplearning4j/deeplearning4j.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.