Skymind is releasing its bundle of deep-learning libraries as a free community edition tomorrow. This move is meant to help bring machine learning capabilities to enterprises using Java. As company CEO Chris Nicholson said, “We’ve created scientific computing tools for the JVM.”
Nicholson explained that when you “scratch the surface of deep learning, underneath is scientific computing.”
Much of the work in machine learning has been written in Python, and in its Skymind Intelligence Layer (SKIL), the company has a managed Conda environment that Nicholson said allows Python programmers to use their tools and deploy their models to the Java Virtual Machine. “We’ve built a bridge to get AI models from Python to Java,” he said.
Skymind turned over to the Eclipse Foundation the libraries that make up SKIL earlier this month. According to Skymind, the libraries are:
- Deeplearning4j: A neural network DSL that facilitates building neural networks integrated with data pipelines and Spark.
- ND4J: N-dimensional arrays for Java, a tensor library: “Eclipse January with C code and wider scope.” The goal is to provide tensor operations and optimized support for various hardware platforms. Numpy for Java.
- DataVec: An ETL library that vectorizes and “tensorizes” data. Extract transform load with support for connecting to various data sources and outputting n-dimensional arrays via a series of data transformations.
- libnd4j: Pure C++ library for tensor operations, which works closely with the open-source library JavaCPP (JavaCPP was created and is maintained by a Skymind engineer, but it is not part of this project).
- RL4J: Reinforcement learning on the JVM, integrated with Deeplearning4j. Includes Deep-Q learning used in AlphaGo and A3C.
- Jumpy: A Python interface to the ND4J library integrating with Numpy.
- Arbiter: Automatic tuning of neural networks via hyperparameter search. Hyperparameter optimization using grid search, random search and Bayesian.