The Skymind team has announced a milestone release of Eclipse Deeplearning4j (DL4J), an open-source library for deep learning.
DL4J 1.0.0-alpha has some breakthrough changes which will ease development of deep learning applications using Java and Scala. From a developer’s perspective, the roadmap provides an exciting opportunity to perform complex numerical computations with the major updates done to each module of Deeplearning4j.
DL4J is a distributed neural network library in Java and Scala which allows distributed training on Hadoop and Spark. It provides powerful data processing that enables efficient use of CPUs and GPUs. With new features, bug fixes and optimizations in the toolkit, Deeplearning4j provides excellent capabilities to perform advanced deep learning tasks.
Here are some of the significant changes available in DL4J 1.0.0-alpha:
Deeplearning4j: New changes made to the framework
- Enhanced and new layers added to the DL4J toolkit.
- Lots of new API changes to optimize the training, building, and deploying neural network models in the production environment.
- A considerable amount of bug fixes and optimizations are done to the DL4J toolkit.
Keras 2 import support
- Now you can import Keras 2 models into DL4J, while still keeping backward compatibility for Keras 1.
- The older module DL4J-keras and Model API in DL4J version 0.9.1 is removed. In order to import Keras models, the only entry point you can use is KerasModelImport.
- Refer DL4J-Keras import support to know more about the complete list of updates.
ND4J: New features
A powerful library used for scientific and numerical computing for the JVM:
- Hundreds of new operations and features added to ease scientific computing, an essential building block for deep learning tasks.
- Added NVIDIA CUDA support for 9.0/9.1. They are continuing support for CUDA 8.0, however dropping support for CUDA 7.5.
- New API changes are done to the ND4J library.
- There is a new Alpha release of SameDiff, which is an auto-differentiation engine for ND4J.
- It supports two execution modes for serialized graphs: Java-driven execution, and Native execution.
- It also supports import of TensorFlow and ONNX graphs for inference purposes. You can know all the other new features at SameDiff release notes.
DataVec: New features
An effective ETL library for getting data into the pipeline, so neural networks can understand:
- Added new features and bug fixes to perform efficient and powerful ETL processes.
- New API changes incorporated in the DataVec library.
Arbiter: New features
A package for efficient optimization of neural networks to obtain good performance:
- New Workspace support added to carry out hyperparameter optimization of machine learning models.
- New layers and API changes have been done to the tool.
- Bug fixes and improvements for optimized tuning performances. A complete list of changes is available on Arbiter release notes.
RL4J: New features
A reinforcement learning framework integrated with deeplearning4j for the JVM:
- Added support for LSTM layers to asynchronous advantage actor-critic (A3C) models.
- Now you can use the latest version of VizDoom since MDP for Doom is updated.
- Lots of fixes and improvements implemented in the RL4J framework.
A scala wrapper for DL4J resembling a Keras like API for deep learning:
- New ScalNet Scala API is released which is very much similar to Keras API. It supports Keras based sequential models.
- The project module closely resembles both DL4J model-import module and Keras. Refer ScalNet release notes, if you like to know more.
ND4S: N-Dimensional Arrays for Scala
An open-source Scala bindings for ND4J:
- ND4S now has Scala 2.12 support
Possible issues with the DL4J 1.0.0-alpha release
- Since this is an alpha release, you may encounter performance related issues and other possible issues (when compared to DL4J version 0.9.1). This will be addressed and rectified in the next release.
- Support for training a Keras model in DL4J is still very limited. This issue will be handled in the next release. To know more, you can refer Keras import bug report.
- Major new operations added in ND4J still do not use GPU yet. The same applies to the new auto-differentiation engine for ND4J.
We can expect more improvements and new features on DL4J 1.0.0 roadmap. For the full list of updates, you can refer the release notes.
Check out other popular posts: