Getting started with TensorFlow 2

Brought by: Coursera

Overview

Welcome to this course on Getting started with TensorFlow 2!

In this course you will learn a complete end-to-end workflow for developing deep learning models with Tensorflow, from building, training, evaluating and predicting with models using the Sequential API, validating your models and including regularisation, implementing callbacks, and saving and loading 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 an image classifier deep learning 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 is intended for both users who are completely new to Tensorflow, as well as users with experience in Tensorflow 1.x.

The 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/feedforward and convolutional neural networks), activation functions, output layers, and optimisation.

Syllabus

  • Introduction to TensorFlow
    • TensorFlow is one of the most popular libraries for deep learning, and it’s widely used today amongst researchers and professionals at all levels. In this week, you will get started with using TensorFlow on the Coursera platform and familiarise yourself with the course structure. You will also learn about some helpful resources when developing deep learning models in TensorFlow, including Google Colab. This week is really about getting everything set up, ready for diving into TensorFlow in the following week of the course.
  • The Sequential model API
    • There are multiple ways to build and apply deep learning models in TensorFlow, from high-level, quick and easy-to-use APIs, to low-level operations. In this week you will learn to use the high-level Keras API for quickly building, training, evaluating and predicting from deep learning models. The programming assignment for this week will give you the opportunity to put all this into practice and develop an image classification model from scratch on the MNIST dataset of handwritten images.
  • Validation, regularisation and callbacks
    • Model validation and selection is an essential part of developing any machine learning model development to help prevent overfitting and improve generalisation. In this week you will learn how to use a validation dataset in a training run and apply regularisation techniques to your model. You will also learn how to use callbacks to monitor performance and perform actions according to specified criteria. In the programming assignment for this week you will put model validation and regularisation into practice on the well-known Iris dataset.
  • Saving and loading models
    • As part of your deep learning model development, you will need to be able to save and load TensorFlow models, possibly according to certain criteria you want to specify. In this week you will learn how to use callbacks to save models, manual saving and loading, and options that are available when saving models, including saving weights only. In addition, you will practice loading and using pre-trained deep learning models. In the programming assignment for this week you will write flexible model saving and loading implementations for a model trained on satellite images.
  • Capstone Project
    • In this course you have learned an end-to-end workflow for developing deep learning models in Tensorflow. The Capstone Project gives you the opportunity to bring all of your knowledge together to develop a deep learning classifier on a labelled image dataset of street view house numbers.

Taught by

Dr Kevin Webster

Getting started with TensorFlow 2
Go to course

Getting started with TensorFlow 2

Brought by: Coursera

  • Coursera
  • Free
  • English
  • Certificate Available
  • Available at any time
  • intermediate
  • Arabic, French, Portuguese, Italian, German, Russian, English, Spanish, Korean, Thai, Indonesian, Kazakh, Hindi, Swedish, Greek, Chinese, Ukrainian, Japanese, Polish, Dutch, Turkish, Hungarian
8.1.2PHP Version887msRequest Duration2MBMemory UsageGET en/courses/{slug}Route
    • Booting (551ms)
    • Application (334ms)
    • 1 x Booting (62.13%)
      551.21ms
      1 x Application (37.65%)
      333.99ms
      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 executed20.93ms
      • select * from `courses` where `slug_en` = 'getting-started-with-tensorflow-2' limit 1
        18.84ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. getting-started-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-09 17:37:37' where `id` = 6877
        970μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-06-09 17:37:37
        • 1. 6877
        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)
        250μ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)
        180μ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
        220μ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
        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 * from `html_files` where `html_files`.`id` = 6868 limit 1
        270μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 6868
        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
        RNaj3EoJpruzZPzM962CxCCGuWX0gKdNN7rFhF8X
        locale
        en
        _previous
        array:1 [ "url" => "https://www.corspedia.com/en/courses/getting-started-with-tensorflow-2" ]
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /en/courses/getting-started-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.11" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "x-forwarded-for" => array:1 [ 0 => "216.73.216.11" ] "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 => "94d265dd6e6ceae4-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.11" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_X_FORWARDED_FOR" => "216.73.216.11" "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" => "94d265dd6e6ceae4-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" => "17392" "REMOTE_ADDR" => "172.71.254.173" "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/getting-started-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" => 1749490657.1263 "REQUEST_TIME" => 1749490657 ]
        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 => "Mon, 09 Jun 2025 17:37:37 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6Ijgwa2lpSmkraEZXN3NlbXZua0grdWc9PSIsInZhbHVlIjoia2FNMXhMWWtBSnI3cXJiTzcyTzMxZzNhYldjRUpaa0lXaUNRSC9ZSzVqd0NSeHJ3MFQzYy8yMDJFTUVxUzFGYjhjMzRTbFlIajVzQWxrakhpU2dtVUdzbzUzVUlLNEJaTm1oVkxXM2oyd2wxdDM3eUlrM1J0SzcxeUFEb1FCc1giLCJtYWMiOiI4MmY4MDQ2MDE4NWIyYTlhM2Y4MzIwMDY4NDhhMjA0YTE3NGUyNjQxOWNjZmY1MGU1YzUwNzUxMjcxZmJjMzQ4IiwidGFnIjoiIn0%3D; expires=Mon, 09 Jun 2025 19:37:38 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6Ijgwa2lpSmkraEZXN3NlbXZua0grdWc9PSIsInZhbHVlIjoia2FNMXhMWWtBSnI3cXJiTzcyTzMxZzNhYldjRUpaa0lXaUNRSC9ZSzVqd0NSeHJ3MFQzYy8yMDJFTUVxUzFGYjhjMzRTb" 1 => "laravel_session=eyJpdiI6ImRFa3UyQklxZ2NjN1kybjdNN1NuelE9PSIsInZhbHVlIjoiV1BoZXZ3ZlY2dkhPUDJvUE50c2xycERqRjNaRzhMdVNJcXZMU3AzSG1ZbzdjZzdDdUJHYVI4U0dNZ3d2a01DUVM0Uk1yc3oxQ1BTSTNJVk9Mb3RrbS9wbWluUnVoZzQ1RjBZcWdnMkdGSkdKcW03bEJtRkw2WjBBQ1VBYW9jd1ciLCJtYWMiOiJiMWJlNDUwNzcyNGQ3ODU3MzVkZTEwYWY1Nzc4Nzg4OGNhNTVlMmE4ZTcyYmI0Y2E3NTBkNjdhNjI3MWNiMzZlIiwidGFnIjoiIn0%3D; expires=Mon, 09 Jun 2025 19:37:38 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6ImRFa3UyQklxZ2NjN1kybjdNN1NuelE9PSIsInZhbHVlIjoiV1BoZXZ3ZlY2dkhPUDJvUE50c2xycERqRjNaRzhMdVNJcXZMU3AzSG1ZbzdjZzdDdUJHYVI4U0dNZ3d2a01DUVM0" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6Ijgwa2lpSmkraEZXN3NlbXZua0grdWc9PSIsInZhbHVlIjoia2FNMXhMWWtBSnI3cXJiTzcyTzMxZzNhYldjRUpaa0lXaUNRSC9ZSzVqd0NSeHJ3MFQzYy8yMDJFTUVxUzFGYjhjMzRTbFlIajVzQWxrakhpU2dtVUdzbzUzVUlLNEJaTm1oVkxXM2oyd2wxdDM3eUlrM1J0SzcxeUFEb1FCc1giLCJtYWMiOiI4MmY4MDQ2MDE4NWIyYTlhM2Y4MzIwMDY4NDhhMjA0YTE3NGUyNjQxOWNjZmY1MGU1YzUwNzUxMjcxZmJjMzQ4IiwidGFnIjoiIn0%3D; expires=Mon, 09-Jun-2025 19:37:38 GMT; path=/XSRF-TOKEN=eyJpdiI6Ijgwa2lpSmkraEZXN3NlbXZua0grdWc9PSIsInZhbHVlIjoia2FNMXhMWWtBSnI3cXJiTzcyTzMxZzNhYldjRUpaa0lXaUNRSC9ZSzVqd0NSeHJ3MFQzYy8yMDJFTUVxUzFGYjhjMzRTb" 1 => "laravel_session=eyJpdiI6ImRFa3UyQklxZ2NjN1kybjdNN1NuelE9PSIsInZhbHVlIjoiV1BoZXZ3ZlY2dkhPUDJvUE50c2xycERqRjNaRzhMdVNJcXZMU3AzSG1ZbzdjZzdDdUJHYVI4U0dNZ3d2a01DUVM0Uk1yc3oxQ1BTSTNJVk9Mb3RrbS9wbWluUnVoZzQ1RjBZcWdnMkdGSkdKcW03bEJtRkw2WjBBQ1VBYW9jd1ciLCJtYWMiOiJiMWJlNDUwNzcyNGQ3ODU3MzVkZTEwYWY1Nzc4Nzg4OGNhNTVlMmE4ZTcyYmI0Y2E3NTBkNjdhNjI3MWNiMzZlIiwidGFnIjoiIn0%3D; expires=Mon, 09-Jun-2025 19:37:38 GMT; path=/; httponlylaravel_session=eyJpdiI6ImRFa3UyQklxZ2NjN1kybjdNN1NuelE9PSIsInZhbHVlIjoiV1BoZXZ3ZlY2dkhPUDJvUE50c2xycERqRjNaRzhMdVNJcXZMU3AzSG1ZbzdjZzdDdUJHYVI4U0dNZ3d2a01DUVM0" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "RNaj3EoJpruzZPzM962CxCCGuWX0gKdNN7rFhF8X" "locale" => "en" "_previous" => array:1 [ "url" => "https://www.corspedia.com/en/courses/getting-started-with-tensorflow-2" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]