SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
Deep Learning for Java Developers
San Francisco Java User Group
Suyash Joshi
Principal Developer Marketing Director
Oracle, Marketing
April 14, 2020
@java
@suyashcjoshi
#ai
Safe harbor statement
The following is intended to outline our general product direction. It is intended for information
purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any
material, code, or functionality, and should not be relied upon in making purchasing decisions. The
development, release, timing, and pricing of any features or functionality described for Oracle’s
products may change and remains at the sole discretion of Oracle Corporation.
2
Overview
1 WhoAmI & WhoAreYou
2 Why Java & ML
3 Machine (Deep) Learning 101 & ML Engineering Overview
4 ML with Java – Live Coding & Demo of Tools, Libraries, Frameworks
5 Q&A
3
Suyash Joshi
Developer Evangelist / Developer Marketing
SF Bay Area Based, Organizer of Various Meetups Groups
Enterprise Java Developers (6+ years)
AI for Creative Purpose
Loves to perform Magic & Juggling
4
5
Audience Poll
Why do you want to learn more about
Machine Learning/Deep Learning in Java ?
1. Interested from Data Scientist/ML
Researcher perspective
2. Interested from a Java Developer (ML in
Production, ML Ops etc.)
3. General ML/DL interest
What is your current level of understanding with Deep
Learning/Machine Learning frameworks in general ?
1. Not at all
2. Some/beginner Level
3. Intermediate/Advance Level
6
AI - Big Picture
7
The Modern ML Pipeline Lifecycle
Subtitle
8
What Role will you play ?
9
Data Engineer or Data Scientist ?
10
Oracle Cloud Data Science Platform
• Oracle Big Data Service : Fully configured version of Cloudera Enterprise
• Oracle Cloud Infrastructure Data Flow : Fully managed Apache Spark
• OML Notebooks OML & Algorithms – SQL Notebooks on Autonomous Database
• OML4R & OML4Py : R & Python Notebooks for Data Scientists
• OML4Spark - process data in Data Lakes using Spark & Hadoop
• OML Microservices GPUs : Coming soon
• Oracle Cloud Infrastructure Data Science Service
• Pre Configured VM’s – NVIDIA GPU’s with Preinstalled Notebooks, Frameworks
ML Engineer / Software Engineer ?
11
Reference: https://medium.com/@tomaszdudek/but-what-is-this-machine-learning-engineer-actually-doing-18464d5c699
Building ML Services
12
Sample RESTful Services
State of Deep Learning Java Frameworks*
13
Framework / Library Strengths Weakness License
TensorFlow for Java Popular in the industry.
Google is the main contributor,
TF-Java SIG has active developer
community online
Java API, currently
experimental, not 2.0,
stable version – 1.14
Apache 2.0
PyTorch for Java Researchers/Academics love it.
Open AI Support. Facebook is the
main contributor
Lacking Documentation,
Examples. Currently only
useful for inferencing
BSD
DJL (Deep Java Learning) High Level API’s with Engine
Architecture. Support for MXNet,
TensorFlow & PyTorch models. AWS
Research is the main contributor,
active development going on.
An abstraction on top of
MXNet for Java
Apache 2.0
DL4J Supports large number of models,
GPU, distributed training with Spark.
Lot’s of interesting examples, good
documentation. Most Mature.
API are hard to follow and
understand for non-expert
users, Framework is too
bloated
Apache 2.0
Simple Neural Network
14
Feed Forward Neural Net (not showing Back Propagation)
A directed graph, with
nodes organized into
groups called layers
Each node performs
computation on it’s
inputs
Computation can be
reconfigured by
tweaking coefficients
assigned to edges
Steps in an ML Program
15
• Define the neural network that has some learnable parameters (or weights)
• Iterate over a dataset of inputs
• Process input through the network
• Compute the loss (how far is the output from being correct)
• Propagate gradients back into the network’s parameters
• Update the weights of the network, until Model Fits
Steps to build a simple Linear Regression Model
16
Reference: https://github.com/JavaVisRec/visrec-api/wiki/Getting-Started-Guide
Goal: Fit the Curve (linear
function)
Model: y = mx + c
Y = output / prediction
X = input
M, b : adjustable values (weights,
biases)
Data on 2 Variables:
X-Axis : Dependent
Y-Axis : Independent
https://github.com/JavaVisRec/jsr381-examples/blob/master/src/main/java/jsr381/example/SimpleLinearRegressionExample.java
Not so simple Model
17
Reference: https://dzone.com/articles/activation-functions-and-optimizers-for-deep-learn
TensorFlow Open Source Project
18
Reference: https://www.tensorflow.org
TensorFlow for Java Open Source Project
19
“Tensorflow works in Java, you can run training and inference with the same core
functionality as python. The TF JVM SIG is building a new Java API, which will
make these things even simpler, and allow training runs without a line of python
code.
They are building a Keras style API to make DL easier to use, and working on
better integration with the JVM ecosystem including languages like Scala and
Kotlin. If you want to come help you can find them
at github.com/tensorflow/java or on gitter.”
- Dr. Adam Pocock (ML Researcher, Oracle Labs)
https://www.tensorflow.org/install/lang_java
ML Development – Notebook (Jupyter, Apache Zeppelin) Programming
20
https://github.com/SpencerPark/IJava
https://dzone.com/articles/apache-zeppelin-stairway-to-notes-haven
Live Demo
• TensorFlow with Java
• DJL
• VisRec API
21 Copyright © 2020, Oracle and/or its affiliates | Confidential: Internal/Restricted/Highly Restricted [Date]
<dependency>
<groupId>org.tensorflow</groupId>
<artifactId>tensorflow</artifactId>
<version>1.14.0</version>
</dependency>
Version 2.0 in tensorflow/java
Repository, will be merged to
Tensorflow/tensorflow repository
and documentation will be updated
ML Deployment and Monitoring with Java API Support
22
https://oracle.github.io/graphpipe,
https://github.com/mlflow/mlflow/blob/master/mlflow/java/client/README.md
ML Deployment - ONNX
23
https://github.com/microsoft/onnxruntime
Open Neural Network Exchange
- Framework Interoperability
- Pretrained ONNX Models (Zoo)
- ONNX Tools: Export to ONNX Format
- ONNX Tools: Model Optimization
- ONNX Runtime Java Support
- Microsoft, Facebook, Oracle (Adam) etc
Java Ecosystem – JSR381 (Visrual Recognition)
24
https://github.com/JavaVisRec/visrec-ri
25
Audience Poll
How would you like learn/hear more in
order to succeed ML and Java?
1. YouTube / Video tutorials
2. Blogs, How To Guide etc.
3. Live Training / Live Online Sessions
What would you like to learn/hear more about?
1. Cool / Interesting examples (Text, Image, Audio, Video
etc.) using ML Frameworks/Toolkits (DL4J, TF-Java,
PyTorch-Java, DJL etc.)
2. Cloud Native Java/Jakarta EE ML Use Cases:
MLOps(Deployment), Microservices-Kubernetes for ML
Services, Deployment and Updates
3. Python based TF, PyTorch Tutorials etc.
Our mission is to help Java developers
succeed with AI, join us and help in
whatever way possible.
Thank You
Suyash Joshi
suyash@suyashjoshi.com
yash.joshi@oracle.com
27
Learning resources:
- Twitter @suyashcjoshi @java #ai
- Email me and I’ll share more information

Weitere ähnliche Inhalte

Was ist angesagt?

Deploying Enterprise Deep Learning Masterclass Preview - Enterprise Deep Lea...
Deploying Enterprise Deep Learning Masterclass Preview -  Enterprise Deep Lea...Deploying Enterprise Deep Learning Masterclass Preview -  Enterprise Deep Lea...
Deploying Enterprise Deep Learning Masterclass Preview - Enterprise Deep Lea...
Sam Putnam [Deep Learning]
 

Was ist angesagt? (20)

Speakers at Nov 2019 PL/SQL Office Hours session
Speakers at Nov 2019 PL/SQL Office Hours sessionSpeakers at Nov 2019 PL/SQL Office Hours session
Speakers at Nov 2019 PL/SQL Office Hours session
 
Deploying Enterprise Deep Learning Masterclass Preview - Enterprise Deep Lea...
Deploying Enterprise Deep Learning Masterclass Preview -  Enterprise Deep Lea...Deploying Enterprise Deep Learning Masterclass Preview -  Enterprise Deep Lea...
Deploying Enterprise Deep Learning Masterclass Preview - Enterprise Deep Lea...
 
7 New Tools Java Developers Should Know
7 New Tools Java Developers Should Know7 New Tools Java Developers Should Know
7 New Tools Java Developers Should Know
 
Introducing Java 8
Introducing Java 8Introducing Java 8
Introducing Java 8
 
JSR 236 Concurrency Utils for EE presentation for JavaOne 2013 (CON7948)
JSR 236 Concurrency Utils for EE presentation for JavaOne 2013 (CON7948)JSR 236 Concurrency Utils for EE presentation for JavaOne 2013 (CON7948)
JSR 236 Concurrency Utils for EE presentation for JavaOne 2013 (CON7948)
 
Java EE 7 with Apache Spark for the World’s Largest Credit Card Core Systems ...
Java EE 7 with Apache Spark for the World’s Largest Credit Card Core Systems ...Java EE 7 with Apache Spark for the World’s Largest Credit Card Core Systems ...
Java EE 7 with Apache Spark for the World’s Largest Credit Card Core Systems ...
 
How to Thrive on REST/WebSocket-Based Microservices
How to Thrive on REST/WebSocket-Based MicroservicesHow to Thrive on REST/WebSocket-Based Microservices
How to Thrive on REST/WebSocket-Based Microservices
 
Is An Agile Standard Possible For Java?
Is An Agile Standard Possible For Java?Is An Agile Standard Possible For Java?
Is An Agile Standard Possible For Java?
 
Java Webinar #9: “Raspberry Pi Platform for Java Programmers”
Java Webinar #9: “Raspberry Pi Platform for Java Programmers”Java Webinar #9: “Raspberry Pi Platform for Java Programmers”
Java Webinar #9: “Raspberry Pi Platform for Java Programmers”
 
How to Choose a Deep Learning Framework
How to Choose a Deep Learning FrameworkHow to Choose a Deep Learning Framework
How to Choose a Deep Learning Framework
 
Java: Create The Future Keynote
Java: Create The Future KeynoteJava: Create The Future Keynote
Java: Create The Future Keynote
 
JavaFX Enterprise
JavaFX EnterpriseJavaFX Enterprise
JavaFX Enterprise
 
MySQL
MySQLMySQL
MySQL
 
JavaFX 2 Using the Spring Framework
JavaFX 2 Using the Spring FrameworkJavaFX 2 Using the Spring Framework
JavaFX 2 Using the Spring Framework
 
Infrastructure and Tooling - Full Stack Deep Learning
Infrastructure and Tooling - Full Stack Deep LearningInfrastructure and Tooling - Full Stack Deep Learning
Infrastructure and Tooling - Full Stack Deep Learning
 
Enabling Composition in Distributed Reinforcement Learning with Ray RLlib wit...
Enabling Composition in Distributed Reinforcement Learning with Ray RLlib wit...Enabling Composition in Distributed Reinforcement Learning with Ray RLlib wit...
Enabling Composition in Distributed Reinforcement Learning with Ray RLlib wit...
 
Lecture 11: ML Deployment & Monitoring (Full Stack Deep Learning - Spring 2021)
Lecture 11: ML Deployment & Monitoring (Full Stack Deep Learning - Spring 2021)Lecture 11: ML Deployment & Monitoring (Full Stack Deep Learning - Spring 2021)
Lecture 11: ML Deployment & Monitoring (Full Stack Deep Learning - Spring 2021)
 
Debugging PL/SQL with Oracle SQL Developer
Debugging PL/SQL with Oracle SQL DeveloperDebugging PL/SQL with Oracle SQL Developer
Debugging PL/SQL with Oracle SQL Developer
 
Oracle SQL Developer: 3 Features You're Not Using But Should Be
Oracle SQL Developer: 3 Features You're Not Using But Should BeOracle SQL Developer: 3 Features You're Not Using But Should Be
Oracle SQL Developer: 3 Features You're Not Using But Should Be
 
JavaCro'15 - Java EE 8 - An instant snapshot - David Delabassee
JavaCro'15 - Java EE 8 - An instant snapshot - David DelabasseeJavaCro'15 - Java EE 8 - An instant snapshot - David Delabassee
JavaCro'15 - Java EE 8 - An instant snapshot - David Delabassee
 

Ähnlich wie Deep Learning for Java Developer - Getting Started

JAVA Developer_Resume_Vaibhav Srivastav
JAVA Developer_Resume_Vaibhav SrivastavJAVA Developer_Resume_Vaibhav Srivastav
JAVA Developer_Resume_Vaibhav Srivastav
Vaibhav Srivastav
 
Sanjaykumar Kakaso Mane_MAY2016
Sanjaykumar Kakaso Mane_MAY2016Sanjaykumar Kakaso Mane_MAY2016
Sanjaykumar Kakaso Mane_MAY2016
Sanjay Mane
 
Javamagazine20140304 dl
Javamagazine20140304 dlJavamagazine20140304 dl
Javamagazine20140304 dl
Vinay H G
 
March april 2014 java magazine
March april 2014   java magazineMarch april 2014   java magazine
March april 2014 java magazine
Taline Felix
 

Ähnlich wie Deep Learning for Java Developer - Getting Started (20)

10 interesting things about java
10 interesting things about java10 interesting things about java
10 interesting things about java
 
Extending DevOps to Big Data Applications with Kubernetes
Extending DevOps to Big Data Applications with KubernetesExtending DevOps to Big Data Applications with Kubernetes
Extending DevOps to Big Data Applications with Kubernetes
 
Java dev mar_2021_keynote
Java dev mar_2021_keynoteJava dev mar_2021_keynote
Java dev mar_2021_keynote
 
Apache Deep Learning 201 - Philly Open Source
Apache Deep Learning 201 - Philly Open SourceApache Deep Learning 201 - Philly Open Source
Apache Deep Learning 201 - Philly Open Source
 
Bringing Deep Learning into production
Bringing Deep Learning into production Bringing Deep Learning into production
Bringing Deep Learning into production
 
The State of Java under Oracle at JCertif 2011
The State of Java under Oracle at JCertif 2011The State of Java under Oracle at JCertif 2011
The State of Java under Oracle at JCertif 2011
 
ODTUG_NoPlsql_vs_SmartDB_Part1_and_2.pptx
ODTUG_NoPlsql_vs_SmartDB_Part1_and_2.pptxODTUG_NoPlsql_vs_SmartDB_Part1_and_2.pptx
ODTUG_NoPlsql_vs_SmartDB_Part1_and_2.pptx
 
JDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKJDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDK
 
ABHAY_SHUKLA
ABHAY_SHUKLAABHAY_SHUKLA
ABHAY_SHUKLA
 
JAVA Developer_Resume_Vaibhav Srivastav
JAVA Developer_Resume_Vaibhav SrivastavJAVA Developer_Resume_Vaibhav Srivastav
JAVA Developer_Resume_Vaibhav Srivastav
 
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, SmileOCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
 
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
 
Sanjaykumar Kakaso Mane_MAY2016
Sanjaykumar Kakaso Mane_MAY2016Sanjaykumar Kakaso Mane_MAY2016
Sanjaykumar Kakaso Mane_MAY2016
 
IBM Strategy for Spark
IBM Strategy for SparkIBM Strategy for Spark
IBM Strategy for Spark
 
Javamagazine20140304 dl
Javamagazine20140304 dlJavamagazine20140304 dl
Javamagazine20140304 dl
 
March april 2014 java magazine
March april 2014   java magazineMarch april 2014   java magazine
March april 2014 java magazine
 
JavaMagazine - Java SE 8 - 2014-03-04
JavaMagazine - Java SE 8 - 2014-03-04JavaMagazine - Java SE 8 - 2014-03-04
JavaMagazine - Java SE 8 - 2014-03-04
 
Why scala for data science
Why scala for data scienceWhy scala for data science
Why scala for data science
 
A practical introduction to Oracle NoSQL Database - OOW2014
A practical introduction to Oracle NoSQL Database - OOW2014A practical introduction to Oracle NoSQL Database - OOW2014
A practical introduction to Oracle NoSQL Database - OOW2014
 
Current & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylightCurrent & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylight
 

Mehr von Suyash Joshi

Mehr von Suyash Joshi (7)

Immersive Web apps using Three.js, WebXR, Web Audio and Tensorflow.js.pdf
Immersive Web apps using Three.js, WebXR, Web Audio and Tensorflow.js.pdfImmersive Web apps using Three.js, WebXR, Web Audio and Tensorflow.js.pdf
Immersive Web apps using Three.js, WebXR, Web Audio and Tensorflow.js.pdf
 
Automatic Mental State Recognition
Automatic Mental State RecognitionAutomatic Mental State Recognition
Automatic Mental State Recognition
 
API Challenges for the Metaverse (AR, VR) Ecosystem
API Challenges for the Metaverse (AR, VR) EcosystemAPI Challenges for the Metaverse (AR, VR) Ecosystem
API Challenges for the Metaverse (AR, VR) Ecosystem
 
Creative AI Talk at MLOps Meetup
Creative AI Talk at MLOps MeetupCreative AI Talk at MLOps Meetup
Creative AI Talk at MLOps Meetup
 
State of Mobile AR - Mobile Week 2022 by Suyash Joshi.pptx
State of Mobile AR - Mobile Week 2022 by Suyash Joshi.pptxState of Mobile AR - Mobile Week 2022 by Suyash Joshi.pptx
State of Mobile AR - Mobile Week 2022 by Suyash Joshi.pptx
 
Creative Coding for fun and games (Java)
Creative Coding for fun and games (Java)Creative Coding for fun and games (Java)
Creative Coding for fun and games (Java)
 
Smart POI and Juggling Music Project
Smart POI and Juggling Music ProjectSmart POI and Juggling Music Project
Smart POI and Juggling Music Project
 

Kürzlich hochgeladen

Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
ankushspencer015
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 

Kürzlich hochgeladen (20)

Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
NFPA 5000 2024 standard .
NFPA 5000 2024 standard                                  .NFPA 5000 2024 standard                                  .
NFPA 5000 2024 standard .
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
 
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Intro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdfIntro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdf
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
 

Deep Learning for Java Developer - Getting Started

  • 1. Deep Learning for Java Developers San Francisco Java User Group Suyash Joshi Principal Developer Marketing Director Oracle, Marketing April 14, 2020 @java @suyashcjoshi #ai
  • 2. Safe harbor statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, timing, and pricing of any features or functionality described for Oracle’s products may change and remains at the sole discretion of Oracle Corporation. 2
  • 3. Overview 1 WhoAmI & WhoAreYou 2 Why Java & ML 3 Machine (Deep) Learning 101 & ML Engineering Overview 4 ML with Java – Live Coding & Demo of Tools, Libraries, Frameworks 5 Q&A 3
  • 4. Suyash Joshi Developer Evangelist / Developer Marketing SF Bay Area Based, Organizer of Various Meetups Groups Enterprise Java Developers (6+ years) AI for Creative Purpose Loves to perform Magic & Juggling 4
  • 5. 5 Audience Poll Why do you want to learn more about Machine Learning/Deep Learning in Java ? 1. Interested from Data Scientist/ML Researcher perspective 2. Interested from a Java Developer (ML in Production, ML Ops etc.) 3. General ML/DL interest What is your current level of understanding with Deep Learning/Machine Learning frameworks in general ? 1. Not at all 2. Some/beginner Level 3. Intermediate/Advance Level
  • 6. 6
  • 7. AI - Big Picture 7
  • 8. The Modern ML Pipeline Lifecycle Subtitle 8
  • 9. What Role will you play ? 9
  • 10. Data Engineer or Data Scientist ? 10 Oracle Cloud Data Science Platform • Oracle Big Data Service : Fully configured version of Cloudera Enterprise • Oracle Cloud Infrastructure Data Flow : Fully managed Apache Spark • OML Notebooks OML & Algorithms – SQL Notebooks on Autonomous Database • OML4R & OML4Py : R & Python Notebooks for Data Scientists • OML4Spark - process data in Data Lakes using Spark & Hadoop • OML Microservices GPUs : Coming soon • Oracle Cloud Infrastructure Data Science Service • Pre Configured VM’s – NVIDIA GPU’s with Preinstalled Notebooks, Frameworks
  • 11. ML Engineer / Software Engineer ? 11 Reference: https://medium.com/@tomaszdudek/but-what-is-this-machine-learning-engineer-actually-doing-18464d5c699
  • 12. Building ML Services 12 Sample RESTful Services
  • 13. State of Deep Learning Java Frameworks* 13 Framework / Library Strengths Weakness License TensorFlow for Java Popular in the industry. Google is the main contributor, TF-Java SIG has active developer community online Java API, currently experimental, not 2.0, stable version – 1.14 Apache 2.0 PyTorch for Java Researchers/Academics love it. Open AI Support. Facebook is the main contributor Lacking Documentation, Examples. Currently only useful for inferencing BSD DJL (Deep Java Learning) High Level API’s with Engine Architecture. Support for MXNet, TensorFlow & PyTorch models. AWS Research is the main contributor, active development going on. An abstraction on top of MXNet for Java Apache 2.0 DL4J Supports large number of models, GPU, distributed training with Spark. Lot’s of interesting examples, good documentation. Most Mature. API are hard to follow and understand for non-expert users, Framework is too bloated Apache 2.0
  • 14. Simple Neural Network 14 Feed Forward Neural Net (not showing Back Propagation) A directed graph, with nodes organized into groups called layers Each node performs computation on it’s inputs Computation can be reconfigured by tweaking coefficients assigned to edges
  • 15. Steps in an ML Program 15 • Define the neural network that has some learnable parameters (or weights) • Iterate over a dataset of inputs • Process input through the network • Compute the loss (how far is the output from being correct) • Propagate gradients back into the network’s parameters • Update the weights of the network, until Model Fits
  • 16. Steps to build a simple Linear Regression Model 16 Reference: https://github.com/JavaVisRec/visrec-api/wiki/Getting-Started-Guide Goal: Fit the Curve (linear function) Model: y = mx + c Y = output / prediction X = input M, b : adjustable values (weights, biases) Data on 2 Variables: X-Axis : Dependent Y-Axis : Independent https://github.com/JavaVisRec/jsr381-examples/blob/master/src/main/java/jsr381/example/SimpleLinearRegressionExample.java
  • 17. Not so simple Model 17 Reference: https://dzone.com/articles/activation-functions-and-optimizers-for-deep-learn
  • 18. TensorFlow Open Source Project 18 Reference: https://www.tensorflow.org
  • 19. TensorFlow for Java Open Source Project 19 “Tensorflow works in Java, you can run training and inference with the same core functionality as python. The TF JVM SIG is building a new Java API, which will make these things even simpler, and allow training runs without a line of python code. They are building a Keras style API to make DL easier to use, and working on better integration with the JVM ecosystem including languages like Scala and Kotlin. If you want to come help you can find them at github.com/tensorflow/java or on gitter.” - Dr. Adam Pocock (ML Researcher, Oracle Labs) https://www.tensorflow.org/install/lang_java
  • 20. ML Development – Notebook (Jupyter, Apache Zeppelin) Programming 20 https://github.com/SpencerPark/IJava https://dzone.com/articles/apache-zeppelin-stairway-to-notes-haven
  • 21. Live Demo • TensorFlow with Java • DJL • VisRec API 21 Copyright © 2020, Oracle and/or its affiliates | Confidential: Internal/Restricted/Highly Restricted [Date] <dependency> <groupId>org.tensorflow</groupId> <artifactId>tensorflow</artifactId> <version>1.14.0</version> </dependency> Version 2.0 in tensorflow/java Repository, will be merged to Tensorflow/tensorflow repository and documentation will be updated
  • 22. ML Deployment and Monitoring with Java API Support 22 https://oracle.github.io/graphpipe, https://github.com/mlflow/mlflow/blob/master/mlflow/java/client/README.md
  • 23. ML Deployment - ONNX 23 https://github.com/microsoft/onnxruntime Open Neural Network Exchange - Framework Interoperability - Pretrained ONNX Models (Zoo) - ONNX Tools: Export to ONNX Format - ONNX Tools: Model Optimization - ONNX Runtime Java Support - Microsoft, Facebook, Oracle (Adam) etc
  • 24. Java Ecosystem – JSR381 (Visrual Recognition) 24 https://github.com/JavaVisRec/visrec-ri
  • 25. 25 Audience Poll How would you like learn/hear more in order to succeed ML and Java? 1. YouTube / Video tutorials 2. Blogs, How To Guide etc. 3. Live Training / Live Online Sessions What would you like to learn/hear more about? 1. Cool / Interesting examples (Text, Image, Audio, Video etc.) using ML Frameworks/Toolkits (DL4J, TF-Java, PyTorch-Java, DJL etc.) 2. Cloud Native Java/Jakarta EE ML Use Cases: MLOps(Deployment), Microservices-Kubernetes for ML Services, Deployment and Updates 3. Python based TF, PyTorch Tutorials etc.
  • 26. Our mission is to help Java developers succeed with AI, join us and help in whatever way possible.
  • 27. Thank You Suyash Joshi suyash@suyashjoshi.com yash.joshi@oracle.com 27 Learning resources: - Twitter @suyashcjoshi @java #ai - Email me and I’ll share more information