github.com/eclipse/deeplearning4j

Suite of tools for deploying and training deep learning models using the JVM. Highlights include model import for keras, tensorflow, and onnx/pytorch, a modular and tiny c++ library for running math code and a java based math library on top of the core c++ library. Also includes samediff: a pytorch/tensorflow like library for running deep learn...

Open this visualization on its own page →

Contributors

53

Lines of Code

29,953

From

2019-06-06

To

2021-01-26

About eclipse/deeplearning4j

Eclipse Deeplearning4J is a comprehensive suite of deep learning tools designed for the Java Virtual Machine, enabling developers to build, train, and deploy neural networks using Java and other JVM languages like Scala, Kotlin, and Clojure. The ecosystem provides end-to-end functionality spanning from raw data handling through model training and inference, including the ability to import pre-trained models from popular frameworks like Keras, TensorFlow, and ONNX.

The stack consists of several interconnected libraries. DL4J itself is the high-level API for constructing neural networks with various layer types and distributed training support via Apache Spark. ND4J is a general-purpose linear algebra library with over 500 mathematical operations, backed by the optimized C++ library LibND4J for CPU and GPU acceleration. SameDiff provides automatic differentiation and graph-based deep learning capabilities similar to TensorFlow, while DataVec handles data preprocessing and ETL across multiple formats including HDFS, images, video, and audio. The project supports multiple hardware platforms including CUDA GPUs, x86 CPUs, ARM processors, and PowerPC architectures across Windows, Linux, and macOS.

This project targets JVM developers and enterprises seeking to leverage deep learning within their existing Java ecosystem without requiring Python or external runtime dependencies. The active development is maintained by Konduit K.K., which offers both community support and commercial options for users needing additional assistance.

Share this video