Deep learning is a fast-growing field within artificial intelligence, and deep neural networks have seen rapid adoption in recent years. Successes in machine vision, speech recognition and natural language processing show the technology is ripe for adoption by enterprise.

Eclipse Deeplearning4j targets enterprises looking to implement deep learning technologies. Many large organizations have already adopted big data technologies such as Apache Spark, Apache Hadoop, and Apache Kafka for building large-scale data pipelines and integrating various data warehouses.

Deeplearning4j will integrate with these popular open-source technologies to make it easy for enterprise to adopt deep learning technologies as part of their existing stack.

Deep learning technologies are also being utilized at the edge to support Internet of Things (IoT) deployments. Android is an increasingly popular OS for writing applications for smart edge devices. Deeplearning4j primarily targets large-scale enterprise environments and embedded environments on Android, but in the future, it will be deployable on other kinds of environments via export in C.

In its current incarnation, Deeplearning4j is a software distribution of several projects targeted at integrating with enterprise environments. The project as submitted to the Eclipse Foundation would encompass everything from reinforcement learning to integrations with various platforms, with the goal of building machine learning workflows from ETL through training to inference.

The main goal of the project is to be a production runtime that imports models from the Python ecosystem and runs them at scale, offering a stable and secure product to large organizations.

Most deep learning frameworks in today's environment are simply tensor libraries implementing automatic differentiation, with the rest of the production stack being left as an "exercise for the reader". Production stack refers to everything from integration with web development frameworks to dealing with messy data.

Deeplearning4j also targets a mix of legacy big data environments and running on hybrid big data clusters (which are now an emerging trend with Apache YARN and Apache Mesos supporting GPUs).

Capitalizing on this trend, Deeplearning4j aims to provide smooth integration for large enterprise environments while also allowing access to more cutting-edge resources in settings that other deep learning projects don’t consider, including:

J2EE application servers

Hadoop and Spark

Connecting to enterprise data warehouses

JMX integration

Application frameworks like spring and play

Proper Java annotation support

Apache Camel and Spring Integrations (via datavec)

Deeplearning4j started in late 2013 as a project at Skymind (the company behind Deeplearning4j) and has grown quickly in feature scope and community since the project's inception.