Customising your models with TensorFlow 2
Customising your models with TensorFlow 2
This course is part of TensorFlow 2 for Deep Learning Specialization
Instructor: Dr Kevin Webster
14,769 already enrolled
Included with
Ask Coursera
196 reviews
Recommended experience
196 reviews
Recommended experience
Skills you'll gain
Tools you'll learn
Details to know
See how employees at top companies are mastering in-demand skills
Build your subject-matter expertise
- Learn new concepts from industry experts
- Gain a foundational understanding of a subject or tool
- Develop job-relevant skills with hands-on projects
- Earn a shareable career certificate
There are 5 modules in this course
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.
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.
What's included
14 videos5 readings1 assignment1 programming assignment1 discussion prompt6 ungraded labs1 plugin
14 videos•Total 81 minutes
- Welcome to Customising your Models with TensorFlow 2•2 minutes
- Interview with Laurence Moroney•5 minutes
- The Keras functional API•6 minutes
- Multiple inputs and outputs•6 minutes
- [Coding tutorial] Multiple inputs and outputs•10 minutes
- Variables•5 minutes
- Tensors•6 minutes
- [Coding tutorial] Variables and Tensors•9 minutes
- Accessing layer Variables•4 minutes
- Accessing layer Tensors•5 minutes
- [Coding tutorial] Accessing model layers•8 minutes
- Freezing layers•5 minutes
- [Coding tutorial] Freezing layers•8 minutes
- Wrap up and introduction to the programming assignment•1 minute
5 readings•Total 50 minutes
- About Imperial College & the team•10 minutes
- How to be successful in this course•10 minutes
- Grading policy•10 minutes
- Additional readings & helpful references•10 minutes
- Device placement•10 minutes
1 assignment•Total 10 minutes
- [Knowledge check] Transfer learning•10 minutes
1 programming assignment•Total 60 minutes
- Transfer learning•60 minutes
1 discussion prompt•Total 10 minutes
- Introduce yourself•10 minutes
6 ungraded labs•Total 160 minutes
- [Coding tutorial] Multiple inputs and outputs•20 minutes
- [Coding tutorial] Variables and Tensors•20 minutes
- [Coding tutorial] Accessing model layers•20 minutes
- [Reading] Layer nodes•20 minutes
- [Coding tutorial] Freezing layers•20 minutes
- Transfer learning•60 minutes
1 plugin•Total 15 minutes
- Pre-Course Survey•15 minutes
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.
What's included
12 videos1 reading1 assignment1 programming assignment8 ungraded labs
12 videos•Total 93 minutes
- Welcome to week 2 - Data Pipeline•2 minutes
- Keras datasets•3 minutes
- [Coding tutorial] Keras datasets•12 minutes
- Dataset generators•7 minutes
- [Coding tutorial] Dataset generators•12 minutes
- Keras image data augmentation•6 minutes
- [Coding tutorial] Keras image data augmentation•11 minutes
- The Dataset class•9 minutes
- [Coding tutorial] The Dataset class•11 minutes
- Training with Datasets•7 minutes
- [Coding tutorial] Training with Datasets•12 minutes
- Wrap up and introduction to the programming assignment•1 minute
1 reading•Total 10 minutes
- TensorFlow Datasets•10 minutes
1 assignment•Total 15 minutes
- [Knowledge check] Python generators•15 minutes
1 programming assignment•Total 60 minutes
- Data pipeline with Keras and tf.data•60 minutes
8 ungraded labs•Total 200 minutes
- [Coding tutorial] Keras datasets•20 minutes
- [Coding tutorial] Dataset generators•20 minutes
- [Coding tutorial] Keras image data augmentation•20 minutes
- [Reading] TimeSeriesGenerator•20 minutes
- [Coding tutorial] The Dataset class•20 minutes
- [Reading] Creating Datasets from different sources•20 minutes
- [Coding tutorial] Training with Datasets•20 minutes
- Data pipeline with Keras and tf.data•60 minutes
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.
What's included
13 videos1 assignment1 programming assignment7 ungraded labs
13 videos•Total 92 minutes
- Welcome to week 3 - Sequence Modelling•2 minutes
- Interview with Doug Kelly•11 minutes
- Preprocessing sequence data•7 minutes
- [Coding tutorial] The IMDB dataset•9 minutes
- [Coding tutorial] Padding and masking sequence data•7 minutes
- The Embedding layer•5 minutes
- [Coding tutorial] The Embedding layer•5 minutes
- [Coding tutorial] The Embedding Projector•13 minutes
- Recurrent neural network layers•5 minutes
- [Coding tutorial] Recurrent neural network layers•9 minutes
- Stacked RNNs and the Bidirectional wrapper•8 minutes
- [Coding tutorial] Stacked RNNs and the Bidirectional wrapper•11 minutes
- Wrap up and introduction to the programming assignment•1 minute
1 assignment•Total 15 minutes
- [Knowledge check] Recurrent neural networks•15 minutes
1 programming assignment•Total 60 minutes
- Language model for the Shakespeare dataset•60 minutes
7 ungraded labs•Total 180 minutes
- [Coding tutorial] Preprocessing sequence data•20 minutes
- [Reading] Tokenizing text Data•20 minutes
- [Coding tutorial] Embeddings•20 minutes
- [Coding tutorial] Recurrent neural network layers•20 minutes
- [Coding tutorial] Stacked RNNs and the Bidirectional wrapper•20 minutes
- [Reading] Stateful RNNs•20 minutes
- Language model for the Shakespeare dataset•60 minutes
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.
What's included
12 videos1 programming assignment8 ungraded labs
12 videos•Total 71 minutes
- Welcome to week 4 - Model subclassing and custom training loops•2 minutes
- Model subclassing•6 minutes
- [Coding tutorial] Model subclassing•5 minutes
- Custom layers•7 minutes
- [Coding tutorial] Custom layers•10 minutes
- Automatic differentiation•5 minutes
- [Coding tutorial] Automatic differentiation•7 minutes
- Custom training loops•8 minutes
- [Coding tutorial] Custom training loops•11 minutes
- tf.function decorator•4 minutes
- [Coding tutorial] tf.function decorator•5 minutes
- Wrap up and introduction to the programming assignment•2 minutes
1 programming assignment•Total 60 minutes
- Residual network•60 minutes
8 ungraded labs•Total 200 minutes
- [Coding tutorial] Model subclassing•20 minutes
- [Coding tutorial] Custom layers•20 minutes
- [Reading] The build method•20 minutes
- [Coding tutorial] Automatic differentiation•20 minutes
- [Coding tutorial] Custom training loops•20 minutes
- [Reading] Tracking metrics in custom training loops•20 minutes
- [Coding tutorial] tf.function decorator•20 minutes
- Residual network•60 minutes
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.
What's included
2 videos1 peer review1 ungraded lab1 plugin
2 videos•Total 2 minutes
- Welcome to the Capstone Project•1 minute
- Goodbye video•1 minute
1 peer review•Total 120 minutes
- Capstone Project•120 minutes
1 ungraded lab•Total 60 minutes
- Capstone Project•60 minutes
1 plugin•Total 15 minutes
- Post-Course Survey•15 minutes
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Instructor
Offered by
Explore more from Machine Learning
- Status: Free TrialI
Imperial College London
Course
- Status: Free TrialD
DeepLearning.AI
Course
- Status: Free TrialD
DeepLearning.AI
Course
- Status: Free TrialI
Imperial College London
Specialization
Why people choose Coursera for their career
Learner reviews
- 5 stars
87.24%
- 4 stars
8.67%
- 3 stars
1.02%
- 2 stars
0%
- 1 star
3.06%
Showing 3 of 196
Reviewed on Jan 8, 2022
Great follow up for the first course by going deeper to Tensorf Flow 2.0
Reviewed on Dec 31, 2023
Take note Tensorflow is still 2.0.0, not updated to later versions for labs
Reviewed on Jan 7, 2021
Amazing course, amazing specialization. I've always been afraid of Tensorflow, but thanks to this course that has totally changed.
Advance your career with an online degree
Earn a degree from world-class universities - 100% online
Frequently asked questions
Jupyter Notebooks are a third-party tool that some Coursera courses use for programming assignments.
You can revert your code or get a fresh copy of your Jupyter Notebook mid-assignment. By default, Coursera persistently stores your work within each notebook.
To keep your old work and also get a fresh copy of the initial Jupyter Notebook, click File, then Make a copy.
We recommend keeping a naming convention such as “Assignment 1 - Initial” or “Copy” to keep your notebook environment organized. You can also download this file locally.
Refresh your notebook
Rename your existing Jupyter Notebook within the individual notebook view
In the notebook view, add “?forceRefresh=true” to the end of your notebook URL
Reload the screen
You will be directed to your home Learner Workspace where you’ll see both old and new Notebook files.
Your Notebook lesson item will now launch to the fresh notebook.
Find missing work
If your Jupyter Notebook files have disappeared, it means the course staff published a new version of a given notebook to fix problems or make improvements. Your work is still saved under the original name of the previous version of the notebook.
To recover your work:
Find your current notebook version by checking the top of the notebook window for the title
In your Notebook view, click the Coursera logo
Find and click the name of your previous file
Unsaved work
"Kernels" are the execution engines behind the Jupyter Notebook UI. As kernels time out after 90 minutes of notebook activity, be sure to save your notebooks frequently to prevent losing any work. If the kernel times out before the save, you may lose the work in your current session.
How to tell if your kernel has timed out:
Error messages such as "Method Not Allowed" appear in the toolbar area.
The last save or auto-checkpoint time shown in the title of the notebook window has not updated recently
Your cells are not running or computing when you “Shift + Enter”
To restart your kernel:
Save your notebook locally to store your current progress
In the notebook toolbar, click Kernel, then Restart
Try testing your kernel by running a print statement in one of your notebook cells. If this is successful, you can continue to save and proceed with your work.
If your notebook kernel is still timed out, try closing your browser and relaunching the notebook. When the notebook reopens, you will need to do "Cell -> Run All" or "Cell -> Run All Above" to regenerate the execution state.
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
More questions
Financial aid available,
¹ Some assignments in this course are AI-graded. For these assignments, your data will be used in accordance with Coursera's Privacy Notice.
