|Original author(s)||Adam Gibson, Alex D. Black, V. Kokorin|
|Initial release||15 September 2014|
0.9.1 / 3 August 2017
|Written in||Java (programming language), C++|
|Operating system||Linux, macOS, Windows, Android|
|Type||Natural language processing, deep learning, machine vision|
ND4J is a scientific computing and linear algebra library, written in the programming language Java, operating on the Java virtual machine (JVM), and compatible with other languages such as Scala, and Clojure. ND4J was contributed to the Eclipse Foundation in October 2017.
ND4J is for performing linear algebra and matrix manipulation in a production environment, integrating with Apache Hadoop and Spark to work with distributed central processing units (CPUs) or graphics processing units (GPUs). It supports n-dimensional arrays for JVM-based languages.
ND4J is free and open-source software, released under Apache License 2.0, and developed mostly by the group in San Francisco that built Deeplearning4j. It was created under an Apache Software Foundation license.
ND4J's operations include distributed parallel versions. Operation can occur in a cluster and process massive amounts of data. Matrix manipulation occurs in parallel on CPUs or GPUs over cloud computing, and can work in Apache Spark or Hadoop clusters.
Other JVM Scientific Computing Libraries
A usability gap has separated Java, Scala, Kotlin and Clojure programmers from powerful tools in data analysis such as NumPy or Matlab. Libraries like Breeze don't support n-dimensional arrays, or tensors, which are necessary for deep learning and other tasks. Libraries like Colt and Parallel Colt use or have dependencies with GPL in the license, making them unsuitable for commercial use. ND4J was built to address those functional and licenses issues.
- ND4J developers
- "Official website". https://deeplearning4j.org/docs/latest/nd4j-overview.
- "The Deeplearning4j Framework". http://gtts.ehu.es/WDW/biblio/JavaMagazine/javamagazine20150506-dl.pdf.
- "Eclipse Deeplearning4j Project Page". https://projects.eclipse.org/proposals/deeplearning4j.
- "Github Repository". https://github.com/deeplearning4j/deeplearning4j/tree/master/nd4j.
- "Github Repository". https://github.com/deeplearning4j/deeplearning4j/tree/master/nd4s.