Welcome to this course on Getting started with TensorFlow 2!
In this course you will learn a complete end-to-end workflow for developing deep learning models with Tensorflow, from building, training, evaluating and predicting with models using the Sequential API, validating your models and including regularisation, implementing callbacks, and saving and loading models.
You will put concepts that you learn about into practice straight away in practical, hands-on coding tutorials, which you will be guided through by a graduate teaching assistant. In addition there is a series of automatically graded programming assignments for you to consolidate your skills.
At the end of the course, you will bring many of the concepts together in a Capstone Project, where you will develop an image classifier deep learning model from scratch.
Tensorflow is an open source machine library, and is one of the most widely used frameworks for deep learning. The release of Tensorflow 2 marks a step change in the product development, with a central focus on ease of use for all users, from beginner to advanced level. This course is intended for both users who are completely new to Tensorflow, as well as users with experience in Tensorflow 1.x.
The prerequisite knowledge required in order to be successful in this course is proficiency in the python programming language, (this course uses python 3), knowledge of general machine learning concepts (such as overfitting/underfitting, supervised learning tasks, validation, regularisation and model selection), and a working knowledge of the field of deep learning, including typical model architectures (MLP/feedforward and convolutional neural networks), activation functions, output layers, and optimisation.
Introduction to TensorFlow
TensorFlow is one of the most popular libraries for deep learning, and it’s widely used today amongst researchers and professionals at all levels. In this week, you will get started with using TensorFlow on the Coursera platform and familiarise yourself with the course structure. You will also learn about some helpful resources when developing deep learning models in TensorFlow, including Google Colab. This week is really about getting everything set up, ready for diving into TensorFlow in the following week of the course.
The Sequential model API
There are multiple ways to build and apply deep learning models in TensorFlow, from high-level, quick and easy-to-use APIs, to low-level operations. In this week you will learn to use the high-level Keras API for quickly building, training, evaluating and predicting from deep learning models. The programming assignment for this week will give you the opportunity to put all this into practice and develop an image classification model from scratch on the MNIST dataset of handwritten images.
Validation, regularisation and callbacks
Model validation and selection is an essential part of developing any machine learning model development to help prevent overfitting and improve generalisation. In this week you will learn how to use a validation dataset in a training run and apply regularisation techniques to your model. You will also learn how to use callbacks to monitor performance and perform actions according to specified criteria. In the programming assignment for this week you will put model validation and regularisation into practice on the well-known Iris dataset.
Saving and loading models
As part of your deep learning model development, you will need to be able to save and load TensorFlow models, possibly according to certain criteria you want to specify. In this week you will learn how to use callbacks to save models, manual saving and loading, and options that are available when saving models, including saving weights only. In addition, you will practice loading and using pre-trained deep learning models. In the programming assignment for this week you will write flexible model saving and loading implementations for a model trained on satellite images.
In this course you have learned an end-to-end workflow for developing deep learning models in Tensorflow. The Capstone Project gives you the opportunity to bring all of your knowledge together to develop a deep learning classifier on a labelled image dataset of street view house numbers.