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
- 4,797