Tensorflow 101
Jaidev Deshpande (~jaidev) 
Description:
This tutorial is meant to familiarize participants with Tensorflow, generally as a tensor library and particularly as a tool for doing daytoday machine learning tasks. The ultimate goal of the tutorial is to be able to make participants comfortable enough with it so that they can use tensorflow as a scalable substitute for other ML libraries like sklearn.
Why Learn Tensorflow?
For the same reason that you should learn NumPy. Tensorflow is to Keras (and many other deep learning libraries) what NumPy is to sklearn (and many other machine learning libraries). It is the underlying data model of many deep learning applications. There are always nooks and crannies in any deep learning application that high level wrapper libraries cannot reach. The tutorial is aimed at making these accessible and debuggable with tensorflow.
What will I learn?
The focus of the tutorial would be on loss functions  ensuring their fundamental correctness with respect to the machine learning problem at hand, ensuring their differentiability and convergence are critical to solving a deep learning problem. There are many readymade loss functions in tensorflow, and using these as building blocks, we will see how to make arbitrarily complex loss functions.
Tentative Plan

Tensorflow Basics (30  45 minutes)
 Tensors and operations
 Graphs and sessions

Machine learning with Tensorflow (60  90 minutes)
 Estimators, datasets and models
 Automatic differentiation
 Loss functions & differentiability of operations
 Layers and networks

Introduction to Tensorboard (30 minutes)
 Visualizing Tensorflow graphs
 Plotting learning curves
FAQs:
Q. Will I need a GPU?
A. No. The beauty of tensorflow is that it can seamlessly deploy code to GPUs, without you needing a GPU to develop that code.
Q. What is the format of the tutorial?
A. Being a tutorial, this session is meant to be highly interactive in nature. It will be a sequence of units where concepts are first explained and then the audience will have to solve exercises in a Jupyter notebook.
Q. I don't know anything about neural networks or deep learning. Should I attend this tutorial?
A. Absolutely. The focus is on tensors, which are the domain of tensorflow, and not on network layers, which are domain of keras.
Prerequisites:
 Basic knowledge of Python data structures and NumPy arrays
 Basic knowledge of linear algebra
 Elementary vector calculus
Content URLs:
Speaker Info:
Jaidev is a data scientist based in New Delhi, India. He specializes in building datadriven products and the tooling around them for a living. His research interests are in signal processing and computational harmonic analysis. He is obsessed with applications of machine learning in personal productivity and recommendation systems. He blogs about these here.
0
Janell Howland (~janell)
Login to add a new comment.