Customising your models with TensorFlow 2

Imperial College London via Coursera

Go to Course: https://www.coursera.org/learn/customising-models-tensorflow2

Introduction

### Course Review: Customising Your Models with TensorFlow 2 on Coursera #### Overview If you're looking to deepen your understanding of deep learning and gain hands-on experience with TensorFlow 2, the course "Customising Your Models with TensorFlow 2" on Coursera is an excellent choice. Designed for learners with a foundational knowledge of TensorFlow, this course focuses on building tailored deep learning models, leveraging lower-level APIs, and streamlining data workflows. It prepares participants to tackle various applications, whether in natural language processing or complex image classification. #### Course Structure The syllabus is structured into five comprehensive modules, allowing students to systematically build their understanding and capabilities in TensorFlow 2: 1. **The Keras Functional API**: This introductory week sets the stage for model flexibility by teaching the functional API. You will learn to build architectures that include multiple inputs and outputs, manage tensors and variables, and access inner layers. The programming assignment utilizes transfer learning on the widely used dogs and cats image dataset, enabling you to apply what you've learned immediately. 2. **Data Pipeline**: Recognizing the importance of efficient data handling, this week focuses on constructing a robust data pipeline. You'll explore tools from Keras and the `tf.data` module for loading, processing, and augmenting your datasets. Through a practical assignment with LSUN and CIFAR-100 datasets, you will develop the skills to optimize data flow for deep learning. 3. **Sequence Modelling**: This module highlights the intricate nature of sequence data, covering various applications from natural language processing to time series forecasting. You'll work with recurrent neural networks while learning different layer types pertinent for sequence data analysis. The assignment culminates in creating a generative language model using the works of Shakespeare, an engaging way to appreciate the intricacies of RNNs. 4. **Model Subclassing and Custom Training Loops**: For those looking to push the boundaries of model customization, this week introduces subclassing APIs for models and layers. You'll gain a granular level of control over your model’s design and the training process itself. The programming task involves developing a deep residual network, bringing theoretical knowledge into practice. 5. **Capstone Project**: The conclusion of the course revolves around a capstone project that encapsulates all the skills you’ve acquired throughout the course. You will undertake the challenge of creating a custom neural translation model from English to German, an ambitious but rewarding task that showcases your ability to blend various concepts learned in previous weeks. #### Additional Insights One of the standout features of this course is its emphasis on practical application. Each module comes with a significant programming assignment that solidifies your understanding and builds your portfolio. The use of real-world datasets ensures that learners not only grasp the theory but also develop competencies that can be applied in actual projects. The course is led by experienced instructors, whose guidance is evident in the clear, concise instructional materials. They provide a balanced mix of theory, practical exercises, and insightful tips, enhancing the learning experience. Moreover, the interactive forums on Coursera offer a supportive community for the exchange of ideas and troubleshooting. #### Recommendations I highly recommend "Customising Your Models with TensorFlow 2" for anyone looking to elevate their TensorFlow skills and build personalized deep learning models. It is particularly suited for individuals who have a basic understanding of machine learning concepts and wish to dive deeper into advanced techniques. Before enrolling, it may be beneficial to have familiarity with Python programming and foundational knowledge of deep learning principles. This will help ensure you get the most out of the course’s rich content and challenging assignments. In conclusion, whether you are an aspiring data scientist, a machine learning enthusiast, or a professional looking to enhance your skill set, this course equips you with the tools necessary to stand out in the evolving field of artificial intelligence. So, gear up to transform your theoretical knowledge into practical prowess and make an impact with your customized models in TensorFlow 2!

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.

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

Skills

Tensorflow Deep Learning keras

Reviews

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

It would be better if related readings can contain some of the background knowledge.

This course is very challenging, as require concrete understanding on tensorflow to conduct the whole project

Loved this course, loved this specialization, the team doesn't support you so you are left alone. But we may see it as a formative experience.

Great course, really helped me getting a much more insightful view to an important package.