Cage Against the Machine
Machine Learning & React Native
Cage Against the Machine
AUDIO TEST
React Native + Machine Learning
-
Awesome React Native Dev
-
Getting AWS Certified
-
Executive Editor of the Official
React Native Newsletter
Thanks for that intro Frank!
Nic AKA Frank von Hoven
@GANTLABORDE
-
CTS of Infinite Red
-
React Native Core Contributor
-
Machine Learning Enthusiast
Gant Laborde
Your Friend
@GANTLABORDE
THE FUNDAMENTALS OF REACT NATIVE
Slides
and Code Available
Enjoy!
Machine Learning?
WHY
@GANTLABORDE
?
?
?
?
Machine Learning?
WHY
@GANTLABORDE
WRITE ONCE, USE ANYWHERE!
React Native?
WHY
@GANTLABORDE
"Learn once, write anywhere"
Machine Learning?
WHY
@GANTLABORDE
"Write once, train for anywhere"
Machine Learning?
WHY
@GANTLABORDE
React Native
+
Machine Learning
Machine Learning?
WHY
@GANTLABORDE
What does it do?
Machine Learning
@GANTLABORDE
?
?
?
?
What does it do?
Machine Learning
@GANTLABORDE
- Region Detection
- Style Transfer
What does it do?
Machine Learning
@GANTLABORDE
😂
What does it do?
Machine Learning
@GANTLABORDE
What does it do?
Machine Learning
@GANTLABORDE
What does it do?
Machine Learning
@GANTLABORDE
What does it do?
Machine Learning
@GANTLABORDE
@GANTLABORDE
What does it do?
Machine Learning
"Machine Learning does things a human can do;
trained with a lot of time and a lot of examples."
What
Machine Learning
@GANTLABORDE
Should
Should
it do?
What should it do?
Machine Learning
@GANTLABORDE
What should it do?
Machine Learning
@GANTLABORDE
What should it do?
Machine Learning
@GANTLABORDE
Applications
Machine Learning
@GANTLABORDE
Fraudulent Transactions
Recommendations
Best Price!?
Playing Games
Translate
Drive
How long is that line?
Write Music
AND MORE
What is it?
Machine Learning
@GANTLABORDE
What is it?
Machine Learning
@GANTLABORDE
Model
===
function()
Model
function()
What is it?
Machine Learning
@GANTLABORDE
DATA
IN
DATA
OUT
DATA
IN
DATA
OUT
@GANTLABORDE
From Where?
Machine Learning
3
3
PLACES
@GANTLABORDE
Download Existing Models
From Where?
Machine Learning
#1
#1
@GANTLABORDE
Train a
Model
From Where?
Machine Learning
#2
#2
@GANTLABORDE
Modify an Existing
Model
From Where?
Machine Learning
#3
#3
React Native
MACHINE LEARNING &
@GANTLABORDE
-
Silicon Valley show
-
it was real!
-
it was React Native
Not Hotdog
REACT NATIVE + MACHINE LEARNING
@GANTLABORDE
-
Tensorflow (Lite/JS)
-
BrainJS (aka Brain)
-
Core ML
Options
Today
REACT NATIVE + MACHINE LEARNING
@GANTLABORDE
No training on device
REACT NATIVE + MACHINE LEARNING
@GANTLABORDE
MACHINE LEARNING & REACT NATIVE
@GANTLABORDE
-
Tensorflow
-
Tensorflow.JS
-
Tensorflow Lite
Tensorflow
REACT NATIVE + MACHINE LEARNING
@GANTLABORDE
Tensorflow
React Native
@GANTLABORDE
-
Works with mobile (kinda)
- Large model files
- Slow on mobile devices
-
Existing support
- Out of date examples
- react-native-
tensorflow
Tensorflow Lite
React Native
@GANTLABORDE
-
Optimized for Mobile
- GPU optimized
-
Existing support
- react-native-tensorflow-lite
- Image recognition only
- Android only
Tensorflow Lite
React Native
@GANTLABORDE
Executive Summary:
Decent but limited. It's a nice start, and with proper backing, it could become a Machine Learning standard library.
DEMO
Tensorflow JS
React Native
@GANTLABORDE
-
Optimized for Dynamic
- Can be trained in JS
- Supports most TF functions
-
Existing support
- ...
Tensorflow JS
React Native
@GANTLABORDE
Executive Summary:
Currently depends on the DOM. React Native support has been announced on the roadmap, but not officially scheduled for release.
Tensorflow (Lite/JS)
React Native
@GANTLABORDE
Learn More:
Free course on GitHub by Magnus Erik Hvass Pedersen
GitHub Photo
MACHINE LEARNING & REACT NATIVE
@GANTLABORDE
Brain JS
Brain JS
React Native
@GANTLABORDE
-
Pure JavaScript
- The model is a JSON file!
- Easy to modify
-
Existing support
- GPU support almost there
- No Conv2D layers yet
Brain JS
React Native
@GANTLABORDE
Executive Summary:
Your ALL-JS solution. Optimized and synced between GPU and CPU for indepth training. GPU is around the corner, and conv is too, in Brain 2.0
DEMO
Brain JS
React Native
@GANTLABORDE
Robert Plummer
MACHINE LEARNING & REACT NATIVE
@GANTLABORDE
Core ML
Core ML
React Native
@GANTLABORDE
-
iOS Specific Models
- Optimized for iOS devices
- Has many APIs available
-
Existing support
- react-native-coreml-image
- react-native-coreml
Core ML
React Native
@GANTLABORDE
react-native-coreml-image
- requires lots of
setup - syntax is clean
<View style={styles.container}>
<CoreMLImage modelFile="HotDogOrNotHotDog"
onClassification={(evt) => this.onClassification(evt)}>
<View style={styles.container}>
<Text style={styles.info}>{classification}</Text>
</View>
</CoreMLImage>
</View>
Core ML
React Native
@GANTLABORDE
Ray Deck @ray_deck
Core ML
React Native
@GANTLABORDE
react-native-vision
DEMO
5GB of images => 80MB model
Core ML
React Native
@GANTLABORDE
Executive Summary:
Currently depends on the DOM. React Native support has been announced on the roadmap, but not officially scheduled for release.
Core ML
React Native
@GANTLABORDE
Realtime ML!?
Maybe... just maybe
We can use this to stop Nic Cage and find the Declaration of Independence!?
@GANTLABORDE
@GANTLABORDE
MACHINE LEARNING & REACT NATIVE
@GANTLABORDE
REVIEW
-
Tensorflow (Lite/JS)
-
Brain JS
-
Core ML
Review
REACT NATIVE + MACHINE LEARNING
@GANTLABORDE
Review
REACT NATIVE + MACHINE LEARNING
@GANTLABORDE
Review
REACT NATIVE + MACHINE LEARNING
@GANTLABORDE
Review
REACT NATIVE + MACHINE LEARNING
@GANTLABORDE
#FML
BONUS:
REACT NATIVE + MACHINE LEARNING
@GANTLABORDE
Why my Girlfriend thinks I'm crazy
BONUS:
REACT NATIVE + MACHINE LEARNING
@GANTLABORDE
BONUS:
REACT NATIVE + MACHINE LEARNING
@GANTLABORDE
How does one make a Nic or Not model?
BONUS:
REACT NATIVE + MACHINE LEARNING
@GANTLABORDE
What's the hard part?
DATA
- Scrape the internet for pictures of Nic Cage
- Scrape the internet for pictures of Celebs
- Code to remove faces of all images (faceOff)
- Manually check your data for errors
BONUS:
REACT NATIVE + MACHINE LEARNING
@GANTLABORDE
Nic or Nickelback
BONUS:
REACT NATIVE + MACHINE LEARNING
@GANTLABORDE
5+ Hours of This
BONUS:
REACT NATIVE + MACHINE LEARNING
@GANTLABORDE
BONUS:
REACT NATIVE + MACHINE LEARNING
@GANTLABORDE
BONUS:
REACT NATIVE + MACHINE LEARNING
@GANTLABORDE
🥵
BONUS:
REACT NATIVE + MACHINE LEARNING
@GANTLABORDE
Transfer Learning!
BONUS:
REACT NATIVE + MACHINE LEARNING
@GANTLABORDE
🎉
BONUS:
REACT NATIVE + MACHINE LEARNING
@GANTLABORDE
OMG IT WORKS!?
BONUS:
REACT NATIVE + MACHINE LEARNING
@GANTLABORDE
Review
REACT NATIVE + MACHINE LEARNING
@GANTLABORDE
Machine Learning & React Native is Awesome!
Review
REACT NATIVE + MACHINE LEARNING
@GANTLABORDE
"Reimagining everything inspires science."
https://inspirobot.me/
@GANTLABORDE
AMAZON10
Portland, July 11-12
@GANTLABORDE
STICKERS
I HAVE
@GANTLABORDE
INFINITE RED
THANKS
@GANTLABORDE
Thanks
AMAZON!
Cage Against the Machine
Keep in touch:
https://infinite.red/
http://gantlaborde.com/
@GantLaborde Twitter
Cage Against the Machine
By Infinite Red
Cage Against the Machine
React Native and Machine Learning - January 2019 at React Native Amazon
- 5,653