lightning talks & integrations track - integration of deeplearning4j library with apache apex @...
TRANSCRIPT
1
Integration of Deeplearning4j withApache Apex
Ambarish PandePriyanka Gugale Devraj Baheti
Priya HedaPriyanka Kekane
2
• What is Deep Learning?
• Why Deeplearning4j?
• Using Deep Learning with Apex
• Architecture of the integration
• Challenges faced during the integration
• Demo
Agenda
3
• Deep learning is a branch of machine learning based on a set of algorithms that attempt to model high level abstractions in data.
• Deep learning eliminates the need for feature engineering.• Effectively works on unsupervised data.
Deep Learning
4
• Deep learning uses deep neural networks to model the high level abstractions in data.
• Deep neural networks are neural networks with more than one hidden layer.
Deep Learning
5
● Colorization of black and white images• Object Classification in Photographs• Automatic Game playing• Image Caption Generation• Handwriting Recognition• Automatic Machine Translation• Adding sound to silent movies
Applications of Deep Learning
6
● An Open Source Deep Learning library( released under Apache 2.0 license)● DL4J is Distributed● Written for Java and Scala● Integrated with Hadoop● Skymind is its commercial support arm● The Neural Net platform Dl4j provides various neural networks like Long
Short-Term Memory units, Convolutional Neural Networks for image processing, Deep AutoEncoder, Restricted Boltzmann Machine, Recurrent Nets, Denoising Autoencoders etc.
Deeplearning4j
7
Deeplearning4j
8
● Training Deep Learning models on single processor is extremely slow.
● Dl4j works with multi CPU and multi GPU systems.
● This integration will enhance the implementation of deep learning models in
distributed and stream processing environments.
Using Deep Learning with Apex
9
• We achieve distributed training of neural networks using Data Parallelism.• In data parallelism, different machines have a complete copy of the model,
each machine simply gets a different portion of data.
Architecture of the integration
10
● We use a method called Parameter Averaging to combine and synchronize models trained on different machines.
Architecture of the integration
11
DAG for the integration
12
● The Iris flower data set or Fisher's Iris data set is a multivariate data set.● The data set consists of 150 samples from each of three species of Iris (Iris
setosa, Iris virginica and Iris versicolor). Four features were measured from each sample: the length and the width of the sepals and petals, in centimetres.
Dataset used
Iris versicolor Iris setosa Iris virginica
13
DEMO
14
15
• Had to change default packaging of Apex Application
• We used Maven Shade plugin for packaging the app.
• Certain components of Nd4j are incompatible with KryoSerializer.
• We are using Java Serializer for those components.
Challenges faced during Integration
16
Thank You!