1
© 2016 Pivotal
Machine Learning as a Service
Dev, Developer, Predikto Inc
My twitter is functionally irrelevant
2
Agenda
 This slide
 A very brief intro to Tensorflow
 Demo Code
 Pros/Cons
 Conclusion
3
Disclaimer

I will not be giving perfect machine learning-centric definitions

If you’re looking for an in depth machine learning focused talk, checkout
talks from Andrew Ng, Yann LeCunn, etc

I’m going to keep things as simple as possible

There will be spicy memes
4
So what is Tensorflow

Tensor = Multidimensional Array

Tensorflow graph based computational framework

i.e Artificial Neural Networks / Deep Learning

Can be simple (right)

Or Complicated (below)
5
So what!?

Well this toolkit is becoming popular among Data Scientist and Machine
Learning practioners

Graph Based computation can do state of the art

Image Classification (Inception)

Audio Synthesis (lyrebird.ai)

Style Transfer (PRISMA)
6
Yeah I still don’t get how this helps me!

Well Tensorflow actually has API’s for multiple languages (including one
for Java!)

And can export pre-trained graphs

Which means we can import and run those graphs ad-hoc
7
WRITE ALL THE CODE
Thanks McSteamy
8
PROS

Growing Community!
https://redd.it/6ee70n
9
CONS

The worst api for everyone who isn’t a Python developer
10
CONS

The worst documentation for everyone who isn’t a Python developer
11
CONS

And finally it’s all JNI under the covers
12
Conclusion

Tensorflow can do neat and interesting stuff

Maybe not ready for prime time in the Java world

More documentation for those libraries
13
Thanks!
Contact Info:
dev.gupta.k@gmail.com

Machine Learning as a MicroService

Editor's Notes

  • #2 My name is Dev. I’m a developer at Predikto a small local startup We work on moving unplanned maint to planned And we mainly work on a Python stack but not too long ago I was writing message brokers with Spring boot in an enterprise setting
  • #4 Keeping things simple. No hardcore definitions, No boring theory, no math above a 3rd grade level Just nice an simple as much as possible If you want more in depth stuff check out Andrew Ng, Or Yann LeCunn, The Google Brain Team, OpenAI these are the guys and gals working on crazy neural network stuff
  • #5 So what is tensorflow? Well first what is a Tensor. It’s a fancy name for a typed multidimensional array. Tensorflow is chaining together nodes on a graph where each node takes in a Tensor, does some work and Spits out a Tensor. This is all an artificial neural network really is Note Inception is just a code name for a very specific graph that was designed by Google
  • #6 Graph based or Artificial Neural Networks or Deep Learning are becoming a popular set of tools among Data Scientists or people writing machine learning software. Did I win buzzword bingo? It’s state of the art in Image Classification like Inception Or crazy audio synthesis Apps like PRISMA where you can even change how an image looks based on how another image looks.
  • #7 Well this popular toolkit has a Java API. And luckily for us fellow mortals we can actually import pre-trained graphs. In this case training means we have fed images and their labels so this graph can “learn” And we can just run them with a few relatively simply commands.
  • #8 SO LET’S WRITE ALL THE CODE TO BUILD SOMETHING THAT CAN CLASSIFY IMAGES. Assumptions: Data scientist have trained and told us the preprocessing steps for every individual image. And gave us all possible lables. NOTE SHOW THE PICTURE OF THE PIANO