Introduction to TensorFlow
Learn to build, train and run deep neural networks using TensorFlow
In the first part of this course, you will learn the fundamentals of TensorFlow, such as computational graphs, auto-differentiation, sessions, placeholders and more. You will then learn how to apply this knowledge by building a simple logistic regression classifier, training it using stochastic gradient descent, and running it to make predictions. In the process you will also get a brief introduction (or reminder) to some of the fundamental concepts of Machine Learning, such as training sets/test sets, overfitting, cost function and gradient descent. In the second part of this course, you will learn about deep neural networks and techniques to train them efficiently using TensorFlow.
Google open sourced TensorFlow in November 2015, and since then it has grown into the most popular Deep Learning framework available today. Many companies are already using it to tackle complex tasks such as Natural Language Processing, image or speech recognition and much more, often gaining a decisive competitive advantage: don’t get left behind!
What you'll learn-and how you can apply it
- How TensorFlow relies on computation graphs, and how they are used.
- Stochastic Gradient Descent to optimize a cost function, using Automatic Differentiation to compute the gradients.
- How neural networks are built and how they can perform tasks such as image classification.
And you will be able to:
- Use TensorFlow for any kind of numerical computation.
- Build, train and run Deep Neural Networks.
- Train Convolutional Neural Networks to perform image classification.
This training course is for you because...
You are a Software Engineer, Data Scientist, or Data Analyst with little or no Machine Learning experience and need to learn how to use TensorFlow to build, train and run deep neural networks for image recognition, natural language processing or more.
Basic experience with the Python programming language.
Materials needed in advance/downloads:
A working Python 3.4+ installation with TensorFlow 0.12.0, NumPy and Jupyter.
To test whether you will be able to run the jupyter notebooks in your upcoming training, please:
Navigate here: https://notebook.oreilly-jupyterhub.com (This is the link to the test site)
- Sign in with your Safari credentials
- Click "start my server"
Click on "notebook .ipynb"
Run each of the code cells: click the cell then either press Shift+Return or click the triangle in the top menu
There may be a few second delay, but you should eventually see the graphs. If you do not, this probably means that your firewall is blocking JupyterHub's websockets. Please turn off your company VPN or speak with your system administrator to allow.
Getting started with TensorFlow (lesson)
Introduction to Python (video)
Analyzing Data with Python (webcast)
About your instructor
Aurélien Géron is a Machine Learning consultant, author of the O’Reilly book “Hands-on Machine Learning with Scikit-Learn and TensorFlow”. A former Googler, he led the YouTube video classification team from 2013 to 2016. He was also a founder and CTO of Wifirst from 2002 to 2012, a leading Wireless ISP in France, and a founder and CTO of Polyconseil in 2001, the firm that now manages the electric car sharing service Autolib. Before this he worked as a software engineer in a variety of domains: finance (JP Morgan and Société Générale), defense (Canada's DOD), and healthcare (blood transfusion).
Whenever he has the chance, he loves to write and teach: he published a few technical books (on C++, WiFi, and Internet architectures), and was a Computer Science lecturer in a French engineering school, as well as a trainer for several companies.
The timeframes are only estimates and may vary according to how the class is progressing
Segment 1 - Introduction Length 10min
Quick bio, deep learning frameworks, computation graphs, course objectives.
Segment 2 - TensorFlow basics Length 20min
Quick installation, construction phase, execution phase, sessions, graphs, constants, variables, initializers, evaluating nodes.
Segment 3 - Linear regression with TensorFlow Length 30min
Linear regression refresher, building the model and the cost function, manually computing the gradients, implementing gradient descent. Training the model. Making predictions using the model. Saving/Loading the model.
Segment 4 - Using autodiff and optimizers Length 20min
Automatic differentiation. Using autodiff to compute the gradients. Using TensorFlow optimizers.
Segment 5 - Feeding training data to the learning algorithm Length 20min
Using constants, using placeholders, using readers.
Segment 5 - TensorBoard
Starting tensorboard, visualizing the computation graph, visualizing statistics and learning curves.
Segment 6 - Organizing your code Length 20min
Name scopes, sharing variables, organizing model components.
Segment 7 - Artificial neural networks Length 30min
Artificial neurons, perceptron, multi-layer perceptron, TensorFlow playground demo, building and training a deep neural network.
Segment 8 - Techniques for training deep nets Length 30min
Weight initialization, ReLU activation function, faster optimizers, transfer learning, unsupervised pretraining, regularization using dropout, data augmentation.
Segment 9 - Convolutional neural networks for image classification - part 1
Visual cortex, convolutional layers
Segment 10 - Convolutional neural networks for image classification - part 2 Length 20min
Pooling layers, CNN architectures. Implementing a CNN to tackle MNIST.