SlideShare a Scribd company logo
1 of 24
Download to read offline
Enhance your Java applications
with Deep Learning
using Deep Netts
Dr Zoran Sevarac, Deep Netts CEO
Demystifying Machine Learning
A computer algorithm that is capable to
automatically configure internal parameters (learn)
by looking at a set of examples given as data set,
in order to perform specific task on a similar data with
the highest possible accuracy.
1) Classify data
classification task
2) Estimate numeric value
regression task
3) Recognize image
classification + regression(position)
It can learn from examples to:
What it can do
How can that be usefull
Classification
Predict Banner Click
Detect Spam or Fraud
Classify web pages
Classify support ticket
Classify users
Image Recognition
Image classification
(automate content
management)
Visual Inspection
Object Detection
(recognize multiple objects
in image)
Regression
Predict application
performance for given
load
Optimize configuration
parameters
Predict sales or cost
Why Deep Learning
•Higher accuracy with more data
•Successful with high dimensional data
(large number of inputs)
•Automates steps from traditional
machine learning
Challenges for Java Developers
● Complex to get started with and learn
○ Many algorithms - which one to use?
○ Many settings - what are these for?
● Great flexibility BUT difficult to use - what do I do with all of this?
Well you just need to learn some basic linear algebra, calculus, optimization,
statistics, basic machine learning,…
...and then you’ll be able to start to understand deep learning
● And you have great choice of many machine learning platforms
After learning Java during the lockdown, a 14-year-old created
deep learning for his sudoku game in Java using Deep Netts -
means no PhD required, no heavy math!
What is special about Deep Netts?
Full article at:
https://www.deepnetts.com/blog/how-14-year-old-learned-deep-learning-in-java-using-deep-
netts.html
If you know basic Java, you can apply deep learning using Deep Netts.
About Deep Netts
● Pure Java Deep Learning Toolkit
● Library and Developer friendly tool
● Community Edition (Open Source)
● Official Java Standard - JSR 381
Basic Machine Learning Tasks with Deep Netts Wizard
Classification
Assign item to category
Image Recognition
Assign image to category
Regression
Predict numeric value
Machine Learning Workflow
Data
Preparation
Model
Training
Model
Testing
Model
Tuning
Model
Deployment
Debugging
Import data from file or
directory, cleanup and
prepare for training
Quick and easy experimentation with various settings JAR with model and
Deep Netts library JAR
Using Deep Netts:
Basic Deep Learning Model - FeedForward Neural Network
Directed graph in which each node performs some computation
Nodes are grouped into layers to determine the order of
computation.
Each node performs computation based on it’s inputs and set
of weight coefficients.
Learning based on error minimization of total network error
for given data set.
Training Procedure
Training Algorithm
Training
Examples
Error
Target Outputs
Inputs Outputs
Adjusting Internal Parameters
https://www.deepnetts.com/blog/from-basic-machine-learning-to-deep-learning-in-5-minutes.html
Loss Function
Optimization Method
Image Recognition using Convolutional Neural Network
● Extension of a feed forward network
specialized for image
classification/recognition
● Introduces convolutional layers with
adaptive image filters capable for
learning and detecting shape and
color features
● Reduces manual image
preprocessing and feature extraction
- it’s learned during the training
https://developer.nvidia.com/discover/convolutional-neural-network
Trainable
Feature
Detector
Classifier
Example: Parking Lot Occupancy Detection
Image classification using convolutional neural network
http://cnrpark.it/A Dataset for Visual Occupancy Detection of Parking Lots: CNRPark+EXT
Giuseppe Amato, Fabio Carrara, Fabrizio Falchi, Claudio Gennaro, Claudio Vairo
Deep learning for decentralized parking lot occupancy detection
Java Code Example for Parking Lot Occupacy
Full source using Deep Netts Community Edition available at GitHub:
https://github.com/deepnetts/parking-lot-occupancy-detection
Demo video
https://www.deepnetts.com/blog/parking-lot-occupancy-detection-using-deep-learning-in-java.html
Loading and Using Trained Network
// Load trained network
ConvolutionalNetwork neuralNet =
FileIO.createFromFile("savedNetwork.dnet", ConvolutionalNetwork.class);
// Create image classifier from trained network
ConvolutionalImageClassifier imageClassifier = new
ConvolutionalImageClassifier(neuralNet);
// Classify some image
Map<String, Float> results = imageClassifier.classify(new File("someImage.png"));
Data Clasification Example: Email spam
Decide if a given email is spam or not?
70% chance that given email is a spam
(based on examples that the model was trained with)
Binary classification task
FeedForwardNetwork neuralNet = FeedForwardNetwork.builder()
.addInputLayer(numInputs)
.addFullyConnectedLayer(25, ActivationType.RELU)
.addOutputLayer(numOutputs, ActivationType.SIGMOID)
.lossFunction(LossType.CROSS_ENTROPY)
Data and Model
Complete code example on GitHub:
https://github.com/deepnetts/SpamClassifier
CSV File
Neural
network
Tutorial
https://blogs.oracle.com/developers/introduction-to-machine-learning-and-neural-networks-for-java-developers
Community Edition and VisRec API
Deep Netts Community Edition
https://www.deepnetts.com/blog/deep-netts-community-edition
Code examples:
https://github.com/deepnetts/deepnetts-communityedition/tree/community-visrec/deepnetts-examples
VisRec API, official Java Standard JSR381
Reference Implementation Based on Deep Netts
https://github.com/JavaVisRec
https://github.com/JavaVisRec/visrec-api/wiki/Getting-Started-Guide
Generic ML Layer
Visual
Recognition
Image
Abstraction
VisRec Public API
Apps/Libs
Visual Recognition Layer
JSR381
Service Provider Interface
ML Engine 1
Service Provider Impl
ML Engine 2
Service Provider Impl
JSR 381
Architecture
Java Code Example in VisRec API
Next Steps
Download and Try Deep Netts
https://deepnetts.com/download
Only for participants of this session:
Build a pilot project and write blog post about it
To Get Free Development License
Enhance your java applications with deep learning using deep netts

More Related Content

What's hot

Details of Lazy Deep Learning for Images Recognition in ZZ Photo app
Details of Lazy Deep Learning for Images Recognition in ZZ Photo appDetails of Lazy Deep Learning for Images Recognition in ZZ Photo app
Details of Lazy Deep Learning for Images Recognition in ZZ Photo app
PAY2 YOU
 

What's hot (20)

Deep Learning with Microsoft R Open
Deep Learning with Microsoft R OpenDeep Learning with Microsoft R Open
Deep Learning with Microsoft R Open
 
Deep Learning Primer: A First-Principles Approach
Deep Learning Primer: A First-Principles ApproachDeep Learning Primer: A First-Principles Approach
Deep Learning Primer: A First-Principles Approach
 
Machine Learning and Deep Learning with R
Machine Learning and Deep Learning with RMachine Learning and Deep Learning with R
Machine Learning and Deep Learning with R
 
(CMP305) Deep Learning on AWS Made EasyCmp305
(CMP305) Deep Learning on AWS Made EasyCmp305(CMP305) Deep Learning on AWS Made EasyCmp305
(CMP305) Deep Learning on AWS Made EasyCmp305
 
Advance deep learning
Advance deep learningAdvance deep learning
Advance deep learning
 
Neural Networks and Deep Learning
Neural Networks and Deep LearningNeural Networks and Deep Learning
Neural Networks and Deep Learning
 
Deep Learning at Scale
Deep Learning at ScaleDeep Learning at Scale
Deep Learning at Scale
 
Deep Learning for Robotics
Deep Learning for RoboticsDeep Learning for Robotics
Deep Learning for Robotics
 
2nd DL Meetup @ Dublin - Irene
2nd DL Meetup @ Dublin - Irene2nd DL Meetup @ Dublin - Irene
2nd DL Meetup @ Dublin - Irene
 
Deep learning frameworks v0.40
Deep learning frameworks v0.40Deep learning frameworks v0.40
Deep learning frameworks v0.40
 
Introduction of Deep Learning
Introduction of Deep LearningIntroduction of Deep Learning
Introduction of Deep Learning
 
[AI07] Revolutionizing Image Processing with Cognitive Toolkit
[AI07] Revolutionizing Image Processing with Cognitive Toolkit[AI07] Revolutionizing Image Processing with Cognitive Toolkit
[AI07] Revolutionizing Image Processing with Cognitive Toolkit
 
Introduction to Deep Learning
Introduction to Deep LearningIntroduction to Deep Learning
Introduction to Deep Learning
 
Language translation with Deep Learning (RNN) with TensorFlow
Language translation with Deep Learning (RNN) with TensorFlowLanguage translation with Deep Learning (RNN) with TensorFlow
Language translation with Deep Learning (RNN) with TensorFlow
 
Deep Learning Cases: Text and Image Processing
Deep Learning Cases: Text and Image ProcessingDeep Learning Cases: Text and Image Processing
Deep Learning Cases: Text and Image Processing
 
Deep learning on mobile
Deep learning on mobileDeep learning on mobile
Deep learning on mobile
 
Dog Breed Classification using PyTorch on Azure Machine Learning
Dog Breed Classification using PyTorch on Azure Machine LearningDog Breed Classification using PyTorch on Azure Machine Learning
Dog Breed Classification using PyTorch on Azure Machine Learning
 
Chainer GTC 2016
Chainer GTC 2016Chainer GTC 2016
Chainer GTC 2016
 
Deep Learning - Overview of my work II
Deep Learning - Overview of my work IIDeep Learning - Overview of my work II
Deep Learning - Overview of my work II
 
Details of Lazy Deep Learning for Images Recognition in ZZ Photo app
Details of Lazy Deep Learning for Images Recognition in ZZ Photo appDetails of Lazy Deep Learning for Images Recognition in ZZ Photo app
Details of Lazy Deep Learning for Images Recognition in ZZ Photo app
 

Similar to Enhance your java applications with deep learning using deep netts

Learn to Build an App to Find Similar Images using Deep Learning- Piotr Teterwak
Learn to Build an App to Find Similar Images using Deep Learning- Piotr TeterwakLearn to Build an App to Find Similar Images using Deep Learning- Piotr Teterwak
Learn to Build an App to Find Similar Images using Deep Learning- Piotr Teterwak
PyData
 

Similar to Enhance your java applications with deep learning using deep netts (20)

Challenges of Deep Learning in Computer Vision Webinar - Tessellate Imaging
Challenges of Deep Learning in Computer Vision Webinar - Tessellate ImagingChallenges of Deep Learning in Computer Vision Webinar - Tessellate Imaging
Challenges of Deep Learning in Computer Vision Webinar - Tessellate Imaging
 
B4UConference_machine learning_deeplearning
B4UConference_machine learning_deeplearningB4UConference_machine learning_deeplearning
B4UConference_machine learning_deeplearning
 
Training course lect1
Training course lect1Training course lect1
Training course lect1
 
Metaphorical Analysis of diseases in Tomato leaves using Deep Learning Algori...
Metaphorical Analysis of diseases in Tomato leaves using Deep Learning Algori...Metaphorical Analysis of diseases in Tomato leaves using Deep Learning Algori...
Metaphorical Analysis of diseases in Tomato leaves using Deep Learning Algori...
 
Josh Patterson, Advisor, Skymind – Deep learning for Industry at MLconf ATL 2016
Josh Patterson, Advisor, Skymind – Deep learning for Industry at MLconf ATL 2016Josh Patterson, Advisor, Skymind – Deep learning for Industry at MLconf ATL 2016
Josh Patterson, Advisor, Skymind – Deep learning for Industry at MLconf ATL 2016
 
Deep Learning: DL4J and DataVec
Deep Learning: DL4J and DataVecDeep Learning: DL4J and DataVec
Deep Learning: DL4J and DataVec
 
IRJET- Object Detection in an Image using Convolutional Neural Network
IRJET- Object Detection in an Image using Convolutional Neural NetworkIRJET- Object Detection in an Image using Convolutional Neural Network
IRJET- Object Detection in an Image using Convolutional Neural Network
 
Learn to Build an App to Find Similar Images using Deep Learning- Piotr Teterwak
Learn to Build an App to Find Similar Images using Deep Learning- Piotr TeterwakLearn to Build an App to Find Similar Images using Deep Learning- Piotr Teterwak
Learn to Build an App to Find Similar Images using Deep Learning- Piotr Teterwak
 
Distributed Deep Learning Using Java on the Client and in the Cloud
Distributed Deep Learning Using Java on the Client and in the CloudDistributed Deep Learning Using Java on the Client and in the Cloud
Distributed Deep Learning Using Java on the Client and in the Cloud
 
Final training course
Final training courseFinal training course
Final training course
 
Deep Learning Projects - Anomaly Detection Using Deep Learning
Deep Learning Projects - Anomaly Detection Using Deep LearningDeep Learning Projects - Anomaly Detection Using Deep Learning
Deep Learning Projects - Anomaly Detection Using Deep Learning
 
IRJET- Object Detection in an Image using Deep Learning
IRJET- Object Detection in an Image using Deep LearningIRJET- Object Detection in an Image using Deep Learning
IRJET- Object Detection in an Image using Deep Learning
 
Distributed Database practicals
Distributed Database practicals Distributed Database practicals
Distributed Database practicals
 
Face-GAN project report.pptx
Face-GAN project report.pptxFace-GAN project report.pptx
Face-GAN project report.pptx
 
Face-GAN project report
Face-GAN project reportFace-GAN project report
Face-GAN project report
 
Deep Neural Networks (DNN)
Deep Neural Networks (DNN)Deep Neural Networks (DNN)
Deep Neural Networks (DNN)
 
Synopsis on online shopping by sudeep singh
Synopsis on online shopping by  sudeep singhSynopsis on online shopping by  sudeep singh
Synopsis on online shopping by sudeep singh
 
Hadoop Summit 2014 - San Jose - Introduction to Deep Learning on Hadoop
Hadoop Summit 2014 - San Jose - Introduction to Deep Learning on HadoopHadoop Summit 2014 - San Jose - Introduction to Deep Learning on Hadoop
Hadoop Summit 2014 - San Jose - Introduction to Deep Learning on Hadoop
 
Hadoop Summit 2014 Distributed Deep Learning
Hadoop Summit 2014 Distributed Deep LearningHadoop Summit 2014 Distributed Deep Learning
Hadoop Summit 2014 Distributed Deep Learning
 
Deep Learning on Hadoop
Deep Learning on HadoopDeep Learning on Hadoop
Deep Learning on Hadoop
 

Recently uploaded

Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
amitlee9823
 
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get CytotecAbortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Riyadh +966572737505 get cytotec
 
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts ServiceCall Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
amitlee9823
 
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
amitlee9823
 
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
amitlee9823
 
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
amitlee9823
 
Probability Grade 10 Third Quarter Lessons
Probability Grade 10 Third Quarter LessonsProbability Grade 10 Third Quarter Lessons
Probability Grade 10 Third Quarter Lessons
JoseMangaJr1
 

Recently uploaded (20)

BabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxBabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptx
 
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort ServiceBDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
 
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
 
ELKO dropshipping via API with DroFx.pptx
ELKO dropshipping via API with DroFx.pptxELKO dropshipping via API with DroFx.pptx
ELKO dropshipping via API with DroFx.pptx
 
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get CytotecAbortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
 
Anomaly detection and data imputation within time series
Anomaly detection and data imputation within time seriesAnomaly detection and data imputation within time series
Anomaly detection and data imputation within time series
 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptx
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signals
 
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts ServiceCall Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptx
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFx
 
Sampling (random) method and Non random.ppt
Sampling (random) method and Non random.pptSampling (random) method and Non random.ppt
Sampling (random) method and Non random.ppt
 
ALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptxALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptx
 
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
 
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
 
Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptx
 
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
 
Probability Grade 10 Third Quarter Lessons
Probability Grade 10 Third Quarter LessonsProbability Grade 10 Third Quarter Lessons
Probability Grade 10 Third Quarter Lessons
 
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
 

Enhance your java applications with deep learning using deep netts

  • 1. Enhance your Java applications with Deep Learning using Deep Netts Dr Zoran Sevarac, Deep Netts CEO
  • 2. Demystifying Machine Learning A computer algorithm that is capable to automatically configure internal parameters (learn) by looking at a set of examples given as data set, in order to perform specific task on a similar data with the highest possible accuracy.
  • 3. 1) Classify data classification task 2) Estimate numeric value regression task 3) Recognize image classification + regression(position) It can learn from examples to: What it can do
  • 4. How can that be usefull Classification Predict Banner Click Detect Spam or Fraud Classify web pages Classify support ticket Classify users Image Recognition Image classification (automate content management) Visual Inspection Object Detection (recognize multiple objects in image) Regression Predict application performance for given load Optimize configuration parameters Predict sales or cost
  • 5. Why Deep Learning •Higher accuracy with more data •Successful with high dimensional data (large number of inputs) •Automates steps from traditional machine learning
  • 6. Challenges for Java Developers ● Complex to get started with and learn ○ Many algorithms - which one to use? ○ Many settings - what are these for? ● Great flexibility BUT difficult to use - what do I do with all of this? Well you just need to learn some basic linear algebra, calculus, optimization, statistics, basic machine learning,… ...and then you’ll be able to start to understand deep learning ● And you have great choice of many machine learning platforms
  • 7. After learning Java during the lockdown, a 14-year-old created deep learning for his sudoku game in Java using Deep Netts - means no PhD required, no heavy math! What is special about Deep Netts? Full article at: https://www.deepnetts.com/blog/how-14-year-old-learned-deep-learning-in-java-using-deep- netts.html If you know basic Java, you can apply deep learning using Deep Netts.
  • 8. About Deep Netts ● Pure Java Deep Learning Toolkit ● Library and Developer friendly tool ● Community Edition (Open Source) ● Official Java Standard - JSR 381
  • 9. Basic Machine Learning Tasks with Deep Netts Wizard Classification Assign item to category Image Recognition Assign image to category Regression Predict numeric value
  • 10. Machine Learning Workflow Data Preparation Model Training Model Testing Model Tuning Model Deployment Debugging Import data from file or directory, cleanup and prepare for training Quick and easy experimentation with various settings JAR with model and Deep Netts library JAR Using Deep Netts:
  • 11. Basic Deep Learning Model - FeedForward Neural Network Directed graph in which each node performs some computation Nodes are grouped into layers to determine the order of computation. Each node performs computation based on it’s inputs and set of weight coefficients. Learning based on error minimization of total network error for given data set.
  • 12. Training Procedure Training Algorithm Training Examples Error Target Outputs Inputs Outputs Adjusting Internal Parameters https://www.deepnetts.com/blog/from-basic-machine-learning-to-deep-learning-in-5-minutes.html Loss Function Optimization Method
  • 13. Image Recognition using Convolutional Neural Network ● Extension of a feed forward network specialized for image classification/recognition ● Introduces convolutional layers with adaptive image filters capable for learning and detecting shape and color features ● Reduces manual image preprocessing and feature extraction - it’s learned during the training https://developer.nvidia.com/discover/convolutional-neural-network Trainable Feature Detector Classifier
  • 14. Example: Parking Lot Occupancy Detection Image classification using convolutional neural network http://cnrpark.it/A Dataset for Visual Occupancy Detection of Parking Lots: CNRPark+EXT Giuseppe Amato, Fabio Carrara, Fabrizio Falchi, Claudio Gennaro, Claudio Vairo Deep learning for decentralized parking lot occupancy detection
  • 15. Java Code Example for Parking Lot Occupacy Full source using Deep Netts Community Edition available at GitHub: https://github.com/deepnetts/parking-lot-occupancy-detection
  • 17. Loading and Using Trained Network // Load trained network ConvolutionalNetwork neuralNet = FileIO.createFromFile("savedNetwork.dnet", ConvolutionalNetwork.class); // Create image classifier from trained network ConvolutionalImageClassifier imageClassifier = new ConvolutionalImageClassifier(neuralNet); // Classify some image Map<String, Float> results = imageClassifier.classify(new File("someImage.png"));
  • 18. Data Clasification Example: Email spam Decide if a given email is spam or not? 70% chance that given email is a spam (based on examples that the model was trained with) Binary classification task
  • 19. FeedForwardNetwork neuralNet = FeedForwardNetwork.builder() .addInputLayer(numInputs) .addFullyConnectedLayer(25, ActivationType.RELU) .addOutputLayer(numOutputs, ActivationType.SIGMOID) .lossFunction(LossType.CROSS_ENTROPY) Data and Model Complete code example on GitHub: https://github.com/deepnetts/SpamClassifier CSV File Neural network Tutorial https://blogs.oracle.com/developers/introduction-to-machine-learning-and-neural-networks-for-java-developers
  • 20. Community Edition and VisRec API Deep Netts Community Edition https://www.deepnetts.com/blog/deep-netts-community-edition Code examples: https://github.com/deepnetts/deepnetts-communityedition/tree/community-visrec/deepnetts-examples VisRec API, official Java Standard JSR381 Reference Implementation Based on Deep Netts https://github.com/JavaVisRec https://github.com/JavaVisRec/visrec-api/wiki/Getting-Started-Guide
  • 21. Generic ML Layer Visual Recognition Image Abstraction VisRec Public API Apps/Libs Visual Recognition Layer JSR381 Service Provider Interface ML Engine 1 Service Provider Impl ML Engine 2 Service Provider Impl JSR 381 Architecture
  • 22. Java Code Example in VisRec API
  • 23. Next Steps Download and Try Deep Netts https://deepnetts.com/download Only for participants of this session: Build a pilot project and write blog post about it To Get Free Development License