← all repositories
deepjavalibrary/djl

Skip the Python Detour: Deep Learning Straight from Java

DJL gives Java developers a native path to train and deploy deep learning models without leaving the JVM.

4.8k stars Java ML Frameworks
djl
Not currently ranked — collecting fresh signals.
star history

What it does

DJL is a high-level deep learning framework built natively for Java. It wraps multiple backend engines behind a single Java API, letting you load pre-trained models, run inference, or train new networks using familiar patterns like typed Criteria builders and explicit resource management. The goal is to keep you inside the JVM ecosystem rather than bridging out to another language.

The interesting bit

The framework treats engine lock-in as a bug: you can start with one backend and swap later without touching your Java code. It also handles the tedious hardware detection, automatically choosing between CPU and GPU based on whatever is available at runtime.

Key highlights

  • Engine-agnostic abstraction over PyTorch, TensorFlow, MXNet, and ONNXRuntime
  • Native Java ergonomics with strongly-typed Criteria, Predictor, and Trainer APIs
  • Automatic CPU/GPU selection based on hardware configuration
  • Pre-trained model zoo accessible through declarative filters for backbone and application type
  • Bundled Java port of the Dive into Deep Learning textbook

Verdict

Java teams that need to embed training or inference into existing applications get a library that behaves like any other Java dependency; researchers already productive in Python probably won’t switch.

Frequently asked

What is deepjavalibrary/djl?
DJL gives Java developers a native path to train and deploy deep learning models without leaving the JVM.
Is djl open source?
Yes — deepjavalibrary/djl is open source, released under the Apache-2.0 license.
What language is djl written in?
deepjavalibrary/djl is primarily written in Java.
How popular is djl?
deepjavalibrary/djl has 4.8k stars on GitHub.
Where can I find djl?
deepjavalibrary/djl is on GitHub at https://github.com/deepjavalibrary/djl.

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