######## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## **$** ## ## ## ## ## ## **$** ## ## ## ######### ## ## ## ## ## ## ## ## ######## ######## ## ###### . :::: : : : : : :::: : :::: ::::: :::: :::: ::::: . . : : : : : :: :: : : : : : : : : : : : . . : : : : : : : : : : : : : : : : : : : : . . ::: : : : : : : :::: : ::: ::::: ::: :::: : : . . : : : ::::: : : : : : : : : : : : . . : : : : : : : : : : : : : : : : . . :::: : : : : : : : ::::: :::: : : :::: : ::::: .
For support, please go over to: https://community.konduit.ai
We do not monitor the github issues of this repository very often.
The Eclipse Deeplearning4J (DL4J) ecosystem is a set of projects intended to support all the needs of a JVM based deep learning application. This means starting with the raw data, loading and preprocessing it from wherever and whatever format it is in to building and tuning a wide variety of simple and complex deep learning networks.
The DL4J stack comprises of:
All projects in the DL4J ecosystem support Windows, Linux and macOS. Hardware support includes CUDA GPUs (10.0, 10.1, 10.2 except OSX), x86 CPU (x86_64, avx2, avx512), ARM CPU (arm, arm64, armhf) and PowerPC (ppc64le).
This example repo consists of several separate Maven Java projects, each with their own pom files. Maven is a popular build automation tool for Java Projects. The contents of a "pom.xml" file dictate the configurations. Read more about how to configure Maven here.
Users can also refer to the simple sample project provided to get started with a clean project from scratch.
Build tools are considered standard software engineering best practice. Besides this the complexities posed by the projects in the DL4J ecosystem make dependencies too difficult to manage manually. All the projects in the DL4J ecosystem can be used with other build tools like Gradle, SBT etc. More information on that can be found here.
For help with the examples, please go to our support forum
Note for users of 1.0.0-beta7 and prior, some examples and modules have been removed to reflect changes in the framework's direction. Please see and comment on our post here
If you would like a workaround for something you may be missing, please feel free to post on the forums, and we will do what we can to help you.
Projects are based on what functionality the included examples demonstrate to the user and not necessarily which library in the DL4J stack the functionality lives in.
Examples in a project are in general separated into "quickstart" and "advanced".
Each project README also lists all the examples it contains, with a recommended order to explore them in.
dl4j-examples This project contains a set of examples that demonstrate use of the high level DL4J API to build a variety of neural networks. Some of these examples are end to end, in the sense they start with raw data, process it and then build and train neural networks on it.
tensorflow-keras-import-examples This project contains a set of examples that demonstrate how to import Keras h5 models and TensorFlow frozen pb models into the DL4J ecosystem. Once imported into DL4J these models can be treated like any other DL4J model - meaning you can continue to run training on them or modify them with the transfer learning API or simply run inference on them.
dl4j-distributed-training-examples This project contains a set of examples that demonstrate how to do distributed training, inference and evaluation in DL4J on Apache Spark. DL4J distributed training employs a "hybrid" asynchronous SGD approach - further details can be found in the distributed deep learning documentation here
cuda-specific-examples This project contains a set of examples that demonstrate how to leverage multiple GPUs for data-parallel training of neural networks for increased performance.
samediff-examples This project contains a set of examples that demonstrate the SameDiff API. SameDiff (which is part of the ND4J library) can be used to build lower level auto-differentiating computation graphs. An analogue to the SameDiff API vs the DL4J API is the low level TensorFlow API vs the higher level of abstraction Keras API.
data-pipeline-examples This project contains a set of examples that demonstrate how raw data in various formats can be loaded, split and preprocessed to build serializable (and hence reproducible) ETL pipelines.
nd4j-ndarray-examples This project contains a set of examples that demonstrate how to manipulate NDArrays. The functionality of ND4J demonstrated here can be likened to NumPy.
rl4j-examples This project contains examples of using RL4J, the reinforcement learning library in DL4J.
android-examples This project contains an Android example project, that shows DL4J being used in an Android application.
While these set of examples don't cover all the features available in DL4J the intent is to cover functionality required for most users - beginners and advanced. File an issue here if you have feedback or feature requests that are not covered here. We are also available via our community forum for questions. We welcome contributions from the community. More information can be found here We love hearing from you. Cheers!