Slide 1

Slide 1 text

@Vikram_Tiwari Co-founder, Tech at Omni Labs, Inc. GDE for Cloud and Machine Learning TensorFlow.js

Slide 2

Slide 2 text

Come join us in building Personalized automation for the Web - Senior Full-stack Dev Node.js, Google Cloud - Senior Frontend Dev JavaScript, React, Redux - Senior UI/UX Designer Graphic Design, UI/UX https://omniinc.com/careers @Vikram_Tiwari

Slide 3

Slide 3 text

TensorFlow.js A machine learning library for JavaScript @Vikram_Tiwari

Slide 4

Slide 4 text

@Vikram_Tiwari TensorFlow.js A machine learning library for JavaScript Run existing models Pre-packaged JavaScript or Converted from Python

Slide 5

Slide 5 text

TensorFlow.js A machine learning library for JavaScript Retrain existing models With transfer learning Run existing models Pre-packaged JavaScript or Converted from Python @Vikram_Tiwari

Slide 6

Slide 6 text

TensorFlow.js A machine learning library for JavaScript Write models in JS Train from scratch Retrain existing models With transfer learning Run existing models Pre-packaged JavaScript or Converted from Python @Vikram_Tiwari

Slide 7

Slide 7 text

5M CDN hits 120+ contributors 500K NPM downloads 11K GitHub stars TensorFlow.js turns 1.0 ! @Vikram_Tiwari

Slide 8

Slide 8 text

Ready to use Models JavaScript APIs for common ML tasks Image Classification Object Detection Pose Detection Speech Commands Text Classification npm install or use from hosted scripts @Vikram_Tiwari

Slide 9

Slide 9 text

- Use pre-trained off-the shelf models - Convert existing Python models - Train in the browser and Node.js - Deploy on Platforms @Vikram_Tiwari With tf.js you can Platforms Core API Layers API Models

Slide 10

Slide 10 text

Pre-trained models

Slide 11

Slide 11 text

Posenet Image Segmentation http://bit.ly/31daUGL @Vikram_Tiwari

Slide 12

Slide 12 text

const model = await toxicity.load(); const results = model.classify(['you suck']); // Result { "label": "identity_attack", "results": [{ "probabilities": [0.96, 0.03], "match": false }] }, { "label": "insult", "results": [{ "probabilities": [0.08, 0.91], "match": true }] }, ... Text Toxicity Text Classifier http://bit.ly/2OBQ4PT @Vikram_Tiwari

Slide 13

Slide 13 text

Convert Python models

Slide 14

Slide 14 text

Bring py modules to js - Command line tool - Saved Model, TFHub, Keras - 170+ ops - TensorFlow 2.0 support @Vikram_Tiwari

Slide 15

Slide 15 text

Python Model TensorFlow.js Converter Tool JavaScript App @Vikram_Tiwari

Slide 16

Slide 16 text

Build your own models @Vikram_Tiwari

Slide 17

Slide 17 text

const model = tf.sequential(); model.add(tf.layers.conv2d({ inputShape: [IMAGE_WIDTH, IMAGE_HEIGHT, IMAGE_CHANNELS], kernelSize: 5, filters: 8, strides: 1, activation: 'relu', kernelInitializer: 'varianceScaling' })); model.add(tf.layers.maxPooling2d({poolSize: [2, 2], strides: [2, 2]})); ... model.add(tf.layers.flatten()); model.add(tf.layers.dense({ units: NUM_CLASSES, activation: 'softmax' })); @Vikram_Tiwari

Slide 18

Slide 18 text

model.compile({ loss: 'categoricalCrossentropy', optimizer: 'sgd' }); // Train model from scratch or transfer learning. await model.fit(xs, ys, {epochs: 10}); // Save the result of training. await model.save('localstorage://my-js-model'); // After training, get prediction from model. const prediction = model.predict(input); @Vikram_Tiwari

Slide 19

Slide 19 text

Many Platforms Browser Mobile Server Desktop @Vikram_Tiwari

Slide 20

Slide 20 text

Creatability Exploring how creative tools can be made more accessible for everyone. experiments.withgoogle.com/collection/creatability @Vikram_Tiwari

Slide 21

Slide 21 text

Uber Manifold Visual Debugging Tool @Vikram_Tiwari

Slide 22

Slide 22 text

AirBnB Identity Document Detection

Slide 23

Slide 23 text

Clinic.js ML powered profiling of server side applications.

Slide 24

Slide 24 text

Magenta Studio Make music with ML Ableton Live Plugins @Vikram_Tiwari

Slide 25

Slide 25 text

TensorFlow.js is powering ML in mobile JavaScript applications @Vikram_Tiwari

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

What’s did it take? Everything - Fixing bugs in browsers - Matrix operations on WebGL - Tensorflow Ops and Layers APIs on tfjs/core - Data API and more... @Vikram_Tiwari

Slide 28

Slide 28 text

What’s Next? - More ready-to-use models - Easier access for data and other browser APIs - More supported operations for building models - WebGL to WASM... maybe!? @Vikram_Tiwari

Slide 29

Slide 29 text

@Vikram_Tiwari Co-founder, Tech at Omni Labs, Inc. GDE for Cloud and Machine Learning That’s all folks!