Higher or Lower

ML in JS

Machine Learning in JavaScript

  • What is it?
  • What can it do?
  • How does it work?
  • Should we use it?

TensorFlow

  • Run pre-trained models
    • MobileNet
    • PoseNet
    • coco-ssd
    • speech-commands
    • ...or you own...
  • Train new models

.js

MobileNet


Demo

Why?

  • Always bet on JS! 
  • A big step out of the data science lab
  • ML with optional cloud

How?

  • Uses WebGL to speed up all of the computation

But...

Doesn't training take months of compute-time on specialised hardware?

https://xkcd.com/1838/

Mobilenet

(train time ~ hours)

Input

(bitmap)

Output

(float[1000])

Custom

(train time ~ seconds)

Output

(float[2])

Transfer Learning

Demo

OUR EXPERIENCE

The Good

It works! It's still in use and manages to achieve > 95% accuracy

The Bad

TensorFlow.js has rough edges -

  • Memory-management
  • Cross-device compatibility

The Ugly

Reliable training data is hard to come by!

FIN

  • ML is becoming ever more accessible
  • Collecting training data is still hard
  • Device support is limited

JS

higher-or-lower

By Chris Price

higher-or-lower

  • 703