DL4J (Deeplearning4j) is an ecosystem of libraries for developing deep learning applications on the Java Virtual Machine. It provides tools for constructing neural networks, performing numerical computations and preparing data for machine learning workflows.
The ecosystem includes several interconnected projects. Deeplearning4j provides a high-level neural network API, while ND4J supplies multidimensional arrays and numerical operations. SameDiff provides automatic differentiation and graph-based computation, and DataVec handles data transformation and preprocessing.
DL4J is designed for Java developers who need to integrate machine learning into existing JVM applications. Its libraries can also be used from other JVM languages, including Kotlin, Scala and Clojure.
The project is undergoing a substantial architectural transition. Its established high-level API is in maintenance mode, while development is shifting towards model interoperability, numerical computing and more modern deep learning workflows.
This is free and open source software.
Key Features
- High-level API for constructing and training neural networks using MultiLayerNetwork and ComputationGraph.
- Supports feedforward, convolutional and recurrent neural network architectures.
- Allows developers to define custom neural network layers and loss functions.
- ND4J provides multidimensional arrays and mathematical operations for numerical computing.
- Supports linear algebra, matrix operations and tensor transformations.
- Provides CPU and CUDA GPU acceleration through native numerical computing backends.
- SameDiff offers graph-based computation and automatic differentiation.
- Supports gradient calculation for training and optimising machine learning models.
- DataVec provides data transformation, preprocessing and feature extraction facilities.
- Supports processing structured data, images, audio and other machine learning inputs.
- Provides facilities for importing compatible Keras models.
- Includes facilities for importing supported TensorFlow graph models.
- Python4J enables interaction between JVM applications and embedded Python execution.
- Provides reusable Java APIs for integrating deep learning into existing applications.
- Cross-platform support – runs on Linux, macOS, and Windows.
Website: github.com/deeplearning4j/deeplearning4j
Support:
Developer: Eclipse
License: Apache License 2.0
DL4J is written in Java. Learn Java with our recommended free books and free tutorials.
Related Software
| Natural Language Processing | |
|---|---|
| PyTorch-Transformers | Library of state-of-the-art pre-trained models |
| Natural Language Toolkit | Suite of open source Python modules, data sets and tutorials |
| Stanford CoreNLP | Extensible annotation-based NLP pipeline |
| spaCy | Industrial strength natural language processing |
| scikit-learn | Machine learning library for Python |
| Gensim | Python-based vector space modeling and topic modeling toolkit |
| flair | Simple framework for state-of-the-art NLP |
| Apache OpenNLP | Machine learning based toolkit |
| DL4J | Deploy and train deep learning models |
| Apache Lucene | Full-featured information retrieval software library |
| UIMA | Implementation of the UIMA specification |
| tidytext | Text mining using dplyr, ggplot2, and other tidy tools |
| text2vec | Framework with API for text analysis and NLP |
| quanteda | R package for Quantitative Analysis of Textual Data |
| Moses | Statistical machine translation system |
Read our verdict in the software roundup.
| Java Natural Language Processing Tools | |
|---|---|
| CoreNLP | Annotation-based NLP pipeline that provides core natural language analysis |
| OpenNLP | Machine learning based toolkit |
| DL4J | Deploy and train deep learning models |
| Lucene | High-performance, full-featured information retrieval software library |
| UIMA | Open source implementation of the UIMA specification |
| Tika | Content analysis toolkit |
| MALLET | Statistical natural language processing, document classification and more |
| GATE | Full-lifecycle solution for a broad range of NLP tasks |
| ReVerb | Automatically identifies and extracts binary relationships from sentences |
| NLP4J | NLP framework for JVM languages |
| CogComp-NLP | State-of-the-art Natural Language Processing (NLP) tools |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.