cavis/nd4j
agibsonccc 1f6cb95c67 Update javacpp versions, deploy plugin 2021-03-09 11:23:31 +09:00
..
nd4j-backends Update javacpp versions, deploy plugin 2021-03-09 11:23:31 +09:00
nd4j-common Fix empty reduce inputs, bincount 2021-02-10 22:40:04 +09:00
nd4j-common-tests Add ignores for tests not passing for individual processing later 2021-03-08 15:25:45 +09:00
nd4j-onnxruntime Update javacpp versions, deploy plugin 2021-03-09 11:23:31 +09:00
nd4j-parameter-server-parent Add ignores for tests not passing for individual processing later 2021-03-08 15:25:45 +09:00
nd4j-serde Add ignores for tests not passing for individual processing later 2021-03-08 15:25:45 +09:00
nd4j-shade Update LICENSE 2021-02-01 17:47:29 +09:00
nd4j-tensorflow Update copyrights remove attic and relocate elsewhere 2021-02-09 13:16:31 +09:00
nd4j-tvm Add nd4j-tvm module with initial inference support using TVM 2021-02-19 23:31:10 +09:00
samediff-import Fix compilation isssues with nd4j-parameter-server 2021-03-07 19:30:11 +09:00
.gitignore Eclipse Migration Initial Commit 2019-06-06 15:21:15 +03:00
README.md FIX: ND4J tests (#9114) 2020-10-27 07:17:17 +09:00
RaspberryPi.md Update links to eclipse repos (#252) 2019-09-10 19:09:46 +10:00
buildmultiplescalaversions.sh Update LICENSE 2021-02-01 17:47:29 +09:00
pom.xml Add nd4j-tvm module with initial inference support using TVM 2021-02-19 23:31:10 +09:00

README.md

ND4J: Scientific Computing on the JVM

Join the chat at https://gitter.im/deeplearning4j/deeplearning4j Maven Central Javadoc

ND4J is an Apache 2.0-licensed scientific computing library for the JVM. By contributing code to this repository, you agree to make your contribution available under an Apache 2.0 license.

It is meant to be used in production environments rather than as a research tool, which means routines are designed to run fast with minimum RAM requirements.

Please search for the latest version on search.maven.org.

Or use the versions displayed in: https://github.com/eclipse/deeplearning4j-examples/blob/master/pom.xml


Main Features

  • Versatile n-dimensional array object
  • Multiplatform functionality including GPUs
  • Linear algebra and signal processing functions

Specifics

  • Supports GPUs via with the CUDA backend nd4j-cuda-7.5 and Native via nd4j-native.
  • All of this is wrapped in a unifying interface.
  • The API mimics the semantics of Numpy, Matlab and scikit-learn.

Documentation

Documentation is available at deeplearning4j.org. Access the JavaDocs for more detail.


Installation

To install ND4J, there are a couple of approaches, and more information can be found on the DL4J website.

Install from Maven Central

  1. Search for nd4j in the Maven Central Repository to find the available nd4j jars.
  2. Include the appropriate dependency in your pom.xml.

Clone from the GitHub Repo

https://deeplearning4j.org/docs/latest/deeplearning4j-build-from-source

Build from sources

To build ND4J from sources launch from the present directory:

$ mvn clean install -DskipTests=true

To run tests using CPU or CUDA backend run the following.

For CPU:

$ mvn clean test -P testresources -P nd4j-testresources -P nd4j-tests-cpu -P nd4j-tf-cpu

For CUDA:

$ mvn clean test -P testresources -P nd4j-testresources -P nd4j-tests-cuda -P nd4j-tf-gpu

Contribute

  1. Check for open issues, or open a new issue to start a discussion around a feature idea or a bug.

  2. If you feel uncomfortable or uncertain about an issue or your changes, feel free to contact us on Gitter using the link above.

  3. Fork the repository on GitHub to start making your changes to the master branch (or branch off of it).

  4. Write a test, which shows that the bug was fixed or that the feature works as expected.

  5. Note the repository follows the Google Java style with two modifications: 120-char column wrap and 4-spaces indentation. You can format your code to this format by typing mvn formatter:format in the subproject you work on, by using the contrib/formatter.xml at the root of the repository to configure the Eclipse formatter, or by using the IntelliJ plugin.

  6. Send a pull request, and bug us on Gitter until it gets merged and published.