Deeplearning4J is an Apache 2.0-licensed, open-source, distributed neural net library written in Java and Scala.
Deeplearning4J integrates with Hadoop and Spark and runs on several backends that enable use of CPUs and GPUs. The aim is to create a plug-and-play solution that is more convention than configuration, and which allows for fast prototyping.
The most recent stable release in Maven Central is 0.7.1
, and the current master is 0.7.2-SNAPSHOT
.
To get started using Deeplearning4j, please go to our Quickstart. You'll need to be familiar with a Java automated build tool such as Maven and an IDE such as IntelliJ.
- Versatile n-dimensional array class
- GPU integration(Supports devices starting from Kepler,cc3.0. You can check your device's compute compatibility here.)
- datavec = Library for converting images, text and CSV data into format suitable for Deep Learning
- core = core neural net structures MultiLayer Network and Computation graph for designing Neural Net structures
- scaleout = integrations
- aws = loading data to and from aws resources EC2 and S3
- nlp = natural language processing components including vectorizers, models, sample datasets and renderers
- akka = setup concurrent and distributed applications on the JVM
- api = core components like workers and multi-threading
- zookeeper = maintain configuration for distributed systems
- hadoop-yarn = common map-reduce distributed system
- spark = integration with spark
- dl4j-spark = spark 1.2-compatible
- dl4j-spark-ml = spark 1.4-compatible, based on ML pipeline
- ui = provides visual interfaces with models like nearest neighbors
- test-resources = datasets and supporting components for tests
Documentation is available at deeplearning4j.org and JavaDocs.
We are not supporting Stackoverflow right now. Github issues should be limited to bug reports. Please join the community on Gitter, where we field questions about how to install the software and work with neural nets. For support from Skymind, please see our contact page.
To install Deeplearning4J, there are a couple approaches (briefly described on our Quickstart and below). More information can be found on the ND4J website and here.
Search for deeplearning4j to get a list of jars you can use.
Add the dependency information into your pom.xml
. We highly recommend downloading via Maven unless you plan to help us develop DL4J.
- Check for open issues or open a fresh one to start a discussion around a feature idea or a bug.
- If you feel uncomfortable or uncertain about an issue or your changes, don't hesitate to contact us on Gitter using the link above.
- Fork the repository on GitHub to start making your changes to the master branch (or branch off of it).
- Write a test which shows that the bug was fixed or that the feature works as expected.
- Send a pull request and bug us on Gitter until it gets merged and published. :)