It includes a data-pipeline library called DataVec that vectorizes data (similar to Pandas), a scientific computing library called ND4J (similar to NumPy), a bridge to native code called JavaCPP (like Cython), and a bunch of other stuff.
DL4J can import models from Python frameworks like Keras, TensorFlow and PyTorch, so it's useful for deploying to the JVM as needed.
It integrates with Spark, Hadoop, Kafka and Weka, among other projects.
Skymind, the company that build DL4J, is also the second-largest contributor to Keras after Google. Each library has its own strengths and weaknesses. In general, people familiar with the Java ecosystem and tools such as IntelliJ and Maven will probably pick up DL4J quicker than a Python library, because of the overhead of changing the tooling stack, among other things.
That said, we are working on a way to package native and Python libraries in JARs with JavaCPP so that their methods can be called from Java easily.
Thanks for suggesting us this library. IMHO at the moment the best choice to practice AI is using python+ keras, but as a seasoned Java aficionado I hope that frameworks like the one you suggested will grow more and more: AI is definitely the next big thing (not sure if 'next' is appropriated)
You may have just won ten million dollars! Or, maybe a tiny ad.