Customising your models with TensorFlow 2

Brought by: 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

Customising your models with TensorFlow 2
Go to course

Customising your models with TensorFlow 2

Brought by: Coursera

  • Coursera
  • Free
  • English
  • Certificate Available
  • Available at any time
  • intermediate
  • Arabic, French, Portuguese, Italian, German, Russian, English, Spanish, Thai, Indonesian, Kazakh, Hindi, Swedish, Korean, Greek, Chinese, Ukrainian, Japanese, Polish, Dutch, Turkish
8.1.2PHP Version977msRequest Duration2MBMemory UsageGET en/courses/{slug}Route
    • Booting (619ms)
    • Application (356ms)
    • 1 x Booting (63.35%)
      618.61ms
      1 x Application (36.41%)
      355.60ms
      14 templates were rendered
      • public.courses.show (resources/views/public/courses/show.blade.php)3bladefile
        Params
        0
        course
        1
        links
        2
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.courses.partials.details (resources/views/public/courses/partials/details.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.layouts.main (resources/views/public/layouts/main.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.meta (resources/views/public/layouts/partials/meta.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.navbar (resources/views/public/layouts/partials/navbar.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.links (resources/views/public/auth/profile/partials/links.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.layouts.partials.flash-session (resources/views/public/layouts/partials/flash-session.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      uri
      GET en/courses/{slug}
      middleware
      web, localize:en
      controller
      App\Http\Controllers\CourseController@show
      as
      en.courses.show
      namespace
      prefix
      /en
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      7 statements were executed8.82ms
      • select * from `courses` where `slug_en` = 'customising-your-models-with-tensorflow-2' limit 1
        7.21ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. customising-your-models-with-tensorflow-2
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:20
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • update `courses` set `visitors` = `visitors` + 1, `courses`.`updated_at` = '2025-06-14 15:57:50' where `id` = 713
        650μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-06-14 15:57:50
        • 1. 713
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:21
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `topic_id`, `slug_en`, `slug_ar` from `subjects` where `subjects`.`id` in (43)
        200μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        160μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 25. /app/Http/Controllers/CourseController.php:23
        • 26. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 27. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 28. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 29. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `institutions` where `institutions`.`id` in (27) and `institutions`.`deleted_at` is null
        180μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `providers` where `providers`.`id` in (2) and `providers`.`deleted_at` is null
        170μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `html_files` where `html_files`.`id` = 707 limit 1
        250μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 707
        Backtrace
        • 21. /app/Models/Course.php:84
        • 28. view::public.courses.show:29
        • 30. /vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:125
        • 31. /vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • 32. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:72
      App\Models\HtmlFile
      1
      App\Models\Provider
      1
      App\Models\Institution
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        yXRQF5N5tJZMGW29ZVTep8kkzAp1saeIiQuUlMC4
        locale
        en
        _previous
        array:1 [ "url" => "https://www.corspedia.com/en/courses/customising-your-models-with-tensorflow-2...
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /en/courses/customising-your-models-with-tensorflow-2
        status_code
        200
        
        status_text
        OK
        format
        html
        content_type
        text/html; charset=UTF-8
        request_query
        []
        
        request_request
        []
        
        request_headers
        0 of 0
        array:24 [ "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "216.73.216.8" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "x-forwarded-for" => array:1 [ 0 => "216.73.216.8" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "cf-ray" => array:1 [ 0 => "94fb0690ba086384-ORD" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "priority" => array:1 [ 0 => "u=0, i" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "host" => array:1 [ 0 => "www.corspedia.com" ] "content-length" => array:1 [ 0 => "" ] "content-type" => array:1 [ 0 => "" ] ]
        request_server
        0 of 0
        array:50 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_CF_CONNECTING_IP" => "216.73.216.8" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_X_FORWARDED_FOR" => "216.73.216.8" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_CF_RAY" => "94fb0690ba086384-ORD" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_HOST" => "www.corspedia.com" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "corspedia.com" "SERVER_PORT" => "443" "SERVER_ADDR" => "141.95.147.152" "REMOTE_USER" => "" "REMOTE_PORT" => "21402" "REMOTE_ADDR" => "172.70.179.116" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => "on" "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/var/www/corspedia/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/en/courses/customising-your-models-with-tensorflow-2" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "SCRIPT_FILENAME" => "/var/www/corspedia/public/index.php" "PATH_INFO" => "" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1749916669.8172 "REQUEST_TIME" => 1749916669 ]
        request_cookies
        []
        
        response_headers
        0 of 0
        array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Sat, 14 Jun 2025 15:57:50 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6Ijc1U0txUGtVRkUzNS91TEJDU3VwTUE9PSIsInZhbHVlIjoib1pxWXQ1MXJVZTQ2Q2tJUmdDRjJpMU5BQXdaRGwrRVNFcUtvZkcrcGxSZFJ0MWpLdEEwMFV2bzdSQnFtM3F2UnRwS05pRjh2Vk5GMUVjY1FLZHlPUU1nQ0dtV2xuSmRzVDlCWFRreGhkVkdQL1oreDhFeXFpWEsyVk4yRk0ydFAiLCJtYWMiOiIyOTU3Y2YwMTQ2YjcwNzdiZjc0ZDY5NWM3Yzg4ZjFiNmRjNmY5OGU2YzBlYWRkZDYxZmY4ZmI2YmI4ODkwMjQyIiwidGFnIjoiIn0%3D; expires=Sat, 14 Jun 2025 17:57:50 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6Ijc1U0txUGtVRkUzNS91TEJDU3VwTUE9PSIsInZhbHVlIjoib1pxWXQ1MXJVZTQ2Q2tJUmdDRjJpMU5BQXdaRGwrRVNFcUtvZkcrcGxSZFJ0MWpLdEEwMFV2bzdSQnFtM3F2UnRwS05pR" 1 => "laravel_session=eyJpdiI6Ik1PL1ZJUitURGxIRDR0eFhFdXp2N2c9PSIsInZhbHVlIjoidmJmT3lSb0xIOE1JZW1jc05uRHpWOUdWdnBZQ0JZRTcvV0dSSWdlemxjWEwxMm84MHl3NjZDTFdRaUFCeW4xSUdVTjB1WWw1ZkVIWEhzRkI2MFFRNzBlNk1pMlB0bEFpc3dHejJha2hENk45SFRQVHdCbC9vSEZYbVA3UHNPalAiLCJtYWMiOiIxM2Q4ZjRjMWYxZjgxYzE0MmE4OTc5OGM0MjgyNzVmY2MzMGNkZDA1MTNmNTRjZDM3NTNiMzk5OTRlNjI4ZGUyIiwidGFnIjoiIn0%3D; expires=Sat, 14 Jun 2025 17:57:50 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6Ik1PL1ZJUitURGxIRDR0eFhFdXp2N2c9PSIsInZhbHVlIjoidmJmT3lSb0xIOE1JZW1jc05uRHpWOUdWdnBZQ0JZRTcvV0dSSWdlemxjWEwxMm84MHl3NjZDTFdRaUFCeW4xSUdV" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6Ijc1U0txUGtVRkUzNS91TEJDU3VwTUE9PSIsInZhbHVlIjoib1pxWXQ1MXJVZTQ2Q2tJUmdDRjJpMU5BQXdaRGwrRVNFcUtvZkcrcGxSZFJ0MWpLdEEwMFV2bzdSQnFtM3F2UnRwS05pRjh2Vk5GMUVjY1FLZHlPUU1nQ0dtV2xuSmRzVDlCWFRreGhkVkdQL1oreDhFeXFpWEsyVk4yRk0ydFAiLCJtYWMiOiIyOTU3Y2YwMTQ2YjcwNzdiZjc0ZDY5NWM3Yzg4ZjFiNmRjNmY5OGU2YzBlYWRkZDYxZmY4ZmI2YmI4ODkwMjQyIiwidGFnIjoiIn0%3D; expires=Sat, 14-Jun-2025 17:57:50 GMT; path=/XSRF-TOKEN=eyJpdiI6Ijc1U0txUGtVRkUzNS91TEJDU3VwTUE9PSIsInZhbHVlIjoib1pxWXQ1MXJVZTQ2Q2tJUmdDRjJpMU5BQXdaRGwrRVNFcUtvZkcrcGxSZFJ0MWpLdEEwMFV2bzdSQnFtM3F2UnRwS05pR" 1 => "laravel_session=eyJpdiI6Ik1PL1ZJUitURGxIRDR0eFhFdXp2N2c9PSIsInZhbHVlIjoidmJmT3lSb0xIOE1JZW1jc05uRHpWOUdWdnBZQ0JZRTcvV0dSSWdlemxjWEwxMm84MHl3NjZDTFdRaUFCeW4xSUdVTjB1WWw1ZkVIWEhzRkI2MFFRNzBlNk1pMlB0bEFpc3dHejJha2hENk45SFRQVHdCbC9vSEZYbVA3UHNPalAiLCJtYWMiOiIxM2Q4ZjRjMWYxZjgxYzE0MmE4OTc5OGM0MjgyNzVmY2MzMGNkZDA1MTNmNTRjZDM3NTNiMzk5OTRlNjI4ZGUyIiwidGFnIjoiIn0%3D; expires=Sat, 14-Jun-2025 17:57:50 GMT; path=/; httponlylaravel_session=eyJpdiI6Ik1PL1ZJUitURGxIRDR0eFhFdXp2N2c9PSIsInZhbHVlIjoidmJmT3lSb0xIOE1JZW1jc05uRHpWOUdWdnBZQ0JZRTcvV0dSSWdlemxjWEwxMm84MHl3NjZDTFdRaUFCeW4xSUdV" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "yXRQF5N5tJZMGW29ZVTep8kkzAp1saeIiQuUlMC4" "locale" => "en" "_previous" => array:1 [ "url" => "https://www.corspedia.com/en/courses/customising-your-models-with-tensorflow-2" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]