ND4J (software)

ND4J: N-Dimensional Arrays for Java
Original author(s) Adam Gibson
Developer(s) Various[1]
Initial release 15 September 2014 (2014-09-15)
Stable release
0.9.1 / 3 August 2017 (2017-08-03)
Written in Java (programming language), C++
Operating system Linux, macOS, Windows, Android
Platform Cross-platform
Available in English
Type Natural language processing, deep learning, machine vision
License Apache 2.0
Website nd4j.org

ND4J is a scientific computing library, written in the programming language C++, operating on the Java virtual machine (JVM), and compatible with the languages Java, Scala, and Clojure.[2][3] ND4J was contributed to the Eclipse Foundation in October 2017.[4]

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, led by Adam Gibson.[5] It was created under an Apache Software Foundation license.

Distributed

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 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.

See also

References

  1. ND4J developers
  2. "Official website".
  3. "The Deeplearning4j Framework" (PDF).
  4. "Eclipse Deeplearning4j Project Page".
  5. "Github Repository".


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.