Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Imperial College London

Customising your models with TensorFlow 2

Imperial College London via Coursera

Overview

Welcome to this course on Customising your models with TensorFlow 2! In this course you will deepen your knowledge and skills with TensorFlow, in order to develop fully customised deep learning models and workflows for any application. You will use lower level APIs in TensorFlow to develop complex model architectures, fully customised layers, and a flexible data workflow. You will also expand your knowledge of the TensorFlow APIs to include sequence 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 a custom neural translation 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 follows on directly from the previous course Getting Started with TensorFlow 2. The additional 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, CNN, RNN, ResNet), and concepts such as transfer learning, data augmentation and word embeddings.

Syllabus

  • The Keras functional API
    • TensorFlow offers multiple levels of API for constructing deep learning models, with varying levels of control and flexibility. In this week you will learn to use the functional API for developing more flexible model architectures, including models with multiple inputs and outputs. You will also learn about Tensors and Variables, as well as accessing and using inner layers within a model. The programming assignment for this week will put these techniques this into practice with a transfer learning application on the dogs and cats image dataset.
  • Data Pipeline
    • A flexible and efficient data pipeline is one of the most essential parts of deep learning model development. In this week you will learn a powerful workflow for loading, processing, filtering and even augmenting data on the fly using tools from Keras and the tf.data module. In the programming assignment for this week you will apply both sets of tools to implement a data pipeline for the LSUN and CIFAR-100 datasets.
  • Sequence Modelling
    • Sequence modelling tasks represent a rich and interesting class of problems, ranging from natural language tasks such as part-of-speech tagging and sentiment analysis, to forecasting of financial time series and speech audio generation. In this week you will learn how to use the recurrent neural network API in TensorFlow, as well as several useful layer types and tools for processing sequence data. In the programming assignment for this week, you will develop a generative language model on the Shakespeare dataset.
  • Model subclassing and custom training loops
    • For more advanced use cases of TensorFlow, it is possible to obtain a low level of control over the design and behaviour of your deep learning model, as well as the training loop itself. In this week you will learn how to exploit the Model and Layer subclassing API to develop fully flexible model architectures, as well as using the automatic differentiation tools in TensorFlow to implement custom training loops. In the programming assignment for this week you will implement these custom model building tools to develop a deep residual network.
  • Capstone Project
    • In this course you have learned a powerful set of tools for developing customised deep learning models, including for sequence data, and flexible data pipelines. The Capstone Project brings many of these concepts together with a task to develop a custom neural translation model from English into German.

Taught by

Dr Kevin Webster

Reviews

4.8 rating at Coursera based on 189 ratings

Start your review of Customising your models with TensorFlow 2

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.