Jaidev Deshpande (~jaidev) |
This tutorial is meant to familiarize participants with Tensorflow, generally as a tensor library and particularly as a tool for doing day-to-day 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 ready-made loss functions in tensorflow, and using these as building blocks, we will see how to make arbitrarily complex loss functions.
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
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.
- Basic knowledge of Python data structures and NumPy arrays
- Basic knowledge of linear algebra
- Elementary vector calculus
Jaidev is a data scientist based in New Delhi, India. He specializes in building data-driven 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.