VOOZH about

URL: https://www.coursera.org/learn/customising-models-tensorflow2

⇱ Customising your models with TensorFlow 2 | Coursera


Customising your models with TensorFlow 2

Customising your models with TensorFlow 2

14,769 already enrolled

Included with

Ask Coursera

Gain insight into a topic and learn the fundamentals.
4.8

196 reviews

Intermediate level

Recommended experience

Flexible schedule
3 weeks at 10 hours a week
Learn at your own pace
90%
Most learners liked this course

Gain insight into a topic and learn the fundamentals.
4.8

196 reviews

Intermediate level

Recommended experience

Flexible schedule
3 weeks at 10 hours a week
Learn at your own pace
90%
Most learners liked this course

Build your subject-matter expertise

This course is part of the TensorFlow 2 for Deep Learning Specialization
When you enroll in this course, you'll also be enrolled in this Specialization.
  • 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 videosTotal 81 minutes
  • Welcome to Customising your Models with TensorFlow 22 minutes
  • Interview with Laurence Moroney5 minutes
  • The Keras functional API6 minutes
  • Multiple inputs and outputs6 minutes
  • [Coding tutorial] Multiple inputs and outputs10 minutes
  • Variables5 minutes
  • Tensors6 minutes
  • [Coding tutorial] Variables and Tensors9 minutes
  • Accessing layer Variables4 minutes
  • Accessing layer Tensors5 minutes
  • [Coding tutorial] Accessing model layers8 minutes
  • Freezing layers5 minutes
  • [Coding tutorial] Freezing layers8 minutes
  • Wrap up and introduction to the programming assignment1 minute
5 readingsTotal 50 minutes
  • About Imperial College & the team10 minutes
  • How to be successful in this course10 minutes
  • Grading policy10 minutes
  • Additional readings & helpful references10 minutes
  • Device placement10 minutes
1 assignmentTotal 10 minutes
  • [Knowledge check] Transfer learning10 minutes
1 programming assignmentTotal 60 minutes
  • Transfer learning60 minutes
1 discussion promptTotal 10 minutes
  • Introduce yourself10 minutes
6 ungraded labsTotal 160 minutes
  • [Coding tutorial] Multiple inputs and outputs20 minutes
  • [Coding tutorial] Variables and Tensors20 minutes
  • [Coding tutorial] Accessing model layers20 minutes
  • [Reading] Layer nodes20 minutes
  • [Coding tutorial] Freezing layers20 minutes
  • Transfer learning60 minutes
1 pluginTotal 15 minutes
  • Pre-Course Survey15 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 videosTotal 93 minutes
  • Welcome to week 2 - Data Pipeline2 minutes
  • Keras datasets3 minutes
  • [Coding tutorial] Keras datasets12 minutes
  • Dataset generators7 minutes
  • [Coding tutorial] Dataset generators12 minutes
  • Keras image data augmentation6 minutes
  • [Coding tutorial] Keras image data augmentation11 minutes
  • The Dataset class9 minutes
  • [Coding tutorial] The Dataset class11 minutes
  • Training with Datasets7 minutes
  • [Coding tutorial] Training with Datasets12 minutes
  • Wrap up and introduction to the programming assignment1 minute
1 readingTotal 10 minutes
  • TensorFlow Datasets10 minutes
1 assignmentTotal 15 minutes
  • [Knowledge check] Python generators15 minutes
1 programming assignmentTotal 60 minutes
  • Data pipeline with Keras and tf.data60 minutes
8 ungraded labsTotal 200 minutes
  • [Coding tutorial] Keras datasets20 minutes
  • [Coding tutorial] Dataset generators20 minutes
  • [Coding tutorial] Keras image data augmentation20 minutes
  • [Reading] TimeSeriesGenerator20 minutes
  • [Coding tutorial] The Dataset class20 minutes
  • [Reading] Creating Datasets from different sources20 minutes
  • [Coding tutorial] Training with Datasets20 minutes
  • Data pipeline with Keras and tf.data60 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 videosTotal 92 minutes
  • Welcome to week 3 - Sequence Modelling2 minutes
  • Interview with Doug Kelly11 minutes
  • Preprocessing sequence data7 minutes
  • [Coding tutorial] The IMDB dataset9 minutes
  • [Coding tutorial] Padding and masking sequence data7 minutes
  • The Embedding layer5 minutes
  • [Coding tutorial] The Embedding layer5 minutes
  • [Coding tutorial] The Embedding Projector13 minutes
  • Recurrent neural network layers5 minutes
  • [Coding tutorial] Recurrent neural network layers9 minutes
  • Stacked RNNs and the Bidirectional wrapper8 minutes
  • [Coding tutorial] Stacked RNNs and the Bidirectional wrapper11 minutes
  • Wrap up and introduction to the programming assignment1 minute
1 assignmentTotal 15 minutes
  • [Knowledge check] Recurrent neural networks15 minutes
1 programming assignmentTotal 60 minutes
  • Language model for the Shakespeare dataset60 minutes
7 ungraded labsTotal 180 minutes
  • [Coding tutorial] Preprocessing sequence data20 minutes
  • [Reading] Tokenizing text Data20 minutes
  • [Coding tutorial] Embeddings20 minutes
  • [Coding tutorial] Recurrent neural network layers20 minutes
  • [Coding tutorial] Stacked RNNs and the Bidirectional wrapper20 minutes
  • [Reading] Stateful RNNs20 minutes
  • Language model for the Shakespeare dataset60 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 videosTotal 71 minutes
  • Welcome to week 4 - Model subclassing and custom training loops2 minutes
  • Model subclassing6 minutes
  • [Coding tutorial] Model subclassing5 minutes
  • Custom layers7 minutes
  • [Coding tutorial] Custom layers10 minutes
  • Automatic differentiation5 minutes
  • [Coding tutorial] Automatic differentiation7 minutes
  • Custom training loops8 minutes
  • [Coding tutorial] Custom training loops11 minutes
  • tf.function decorator4 minutes
  • [Coding tutorial] tf.function decorator5 minutes
  • Wrap up and introduction to the programming assignment2 minutes
1 programming assignmentTotal 60 minutes
  • Residual network60 minutes
8 ungraded labsTotal 200 minutes
  • [Coding tutorial] Model subclassing20 minutes
  • [Coding tutorial] Custom layers20 minutes
  • [Reading] The build method20 minutes
  • [Coding tutorial] Automatic differentiation20 minutes
  • [Coding tutorial] Custom training loops20 minutes
  • [Reading] Tracking metrics in custom training loops20 minutes
  • [Coding tutorial] tf.function decorator20 minutes
  • Residual network60 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 videosTotal 2 minutes
  • Welcome to the Capstone Project1 minute
  • Goodbye video1 minute
1 peer reviewTotal 120 minutes
  • Capstone Project120 minutes
1 ungraded labTotal 60 minutes
  • Capstone Project60 minutes
1 pluginTotal 15 minutes
  • Post-Course Survey15 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

Instructor ratings
4.7 (57 ratings)
Imperial College London
6 Courses48,356 learners

Explore more from Machine Learning

Why people choose Coursera for their career

👁 Image

Felipe M.

Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
👁 Image

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
👁 Image

Larry W.

Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
👁 Image

Chaitanya A.

"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

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

AR
·

Reviewed on Jan 8, 2022

Great follow up for the first course by going deeper to Tensorf Flow 2.0

DL
·

Reviewed on Dec 31, 2023

Take note Tensorflow is still 2.0.0, not updated to later versions for labs

F
·

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.

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

  1. Rename your existing Jupyter Notebook within the individual notebook view

  2. In the notebook view, add “?forceRefresh=true” to the end of your notebook URL

  3. Reload the screen

  4. You will be directed to your home Learner Workspace where you’ll see both old and new Notebook files.

  5. 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:

  1. Find your current notebook version by checking the top of the notebook window for the title

  2. In your Notebook view, click the Coursera logo

  3. 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:

  1. Save your notebook locally to store your current progress

  2. In the notebook toolbar, click Kernel, then Restart

  3. 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.

  4. 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.

Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.

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.