Get in Touch

Course Outline

Introduction

  • Foundations of TensorFlow and deep learning principles
  • Real-world use cases and practical applications
  • Exploring the TensorFlow ecosystem and associated tooling
  • Workflows in machine learning and deep learning
  • Course objectives and an overview of practical exercises

TensorFlow 2.x vs Previous Versions — What's New

  • Distinct differences between TensorFlow 1.x and 2.x
  • The mechanics of eager execution
  • Enhanced usability through simplified APIs
  • Evolution in model construction and training processes
  • Keras introduced as the primary high-level API
  • Strategies for migrating existing TensorFlow applications
  • Best practices for TensorFlow 2.x development

Setting up TensorFlow 2.x

  • Installing the TensorFlow framework
  • Configuring an optimal Python environment
  • Verifying the integrity of the TensorFlow installation
  • Managing required dependencies
  • Setting up CPU and GPU environments
  • Utilising TensorFlow within Jupyter notebooks
  • Core TensorFlow commands and basic operations
  • Resolving common installation and configuration issues

Overview of TensorFlow 2.x Features and Architecture

  • Architectural components and core functionality
  • Working with tensors and tensor operations
  • Managing variables and constants
  • Computational graphs vs. eager execution
  • Automatic differentiation
  • Key TensorFlow APIs and modules
  • Deep dive into Keras integration
  • Constructing efficient data pipelines using tf.data
  • Model serialisation and the TensorFlow SavedModel format
  • Development workflow within the TensorFlow ecosystem

How Neural Networks Work

  • Core concepts of artificial neural networks
  • Structure of neurons, layers, and network architectures
  • Selection of activation functions
  • The process of forward propagation
  • Understanding loss functions
  • Mechanisms of backpropagation
  • Gradient descent and optimisation methods
  • Strategies for learning rates and optimisation
  • Diagnosing overfitting and underfitting
  • Applying regularisation techniques
  • Utilising training, validation, and test datasets

Using TensorFlow 2.x to Create Deep Learning Models

  • Generating tensors and variables
  • Constructing neural networks using Keras
  • Comparing Sequential and Functional model APIs
  • Designing custom models and layers
  • Configuring optimisers effectively
  • Selecting suitable loss functions
  • Training models via the fit() method
  • Creating custom training loops
  • Implementing callbacks and monitoring training
  • Managing model checkpoints

Analyzing Data

  • Curating datasets for machine learning
  • Exploring structured and unstructured data types
  • Techniques for data visualisation
  • Identifying meaningful patterns and anomalies
  • Addressing missing or inconsistent data points
  • Partitioning data into training, validation, and test sets
  • Feature selection strategies
  • Preparing datasets specifically for TensorFlow models

Preprocessing Data

  • Data normalisation and standardisation
  • Encoding categorical variables
  • Strategies for handling missing values
  • Feature scaling methods
  • Image preprocessing techniques
  • Text data preprocessing
  • Implementing data augmentation
  • Building high-performance input pipelines
  • Leveraging tf.data
  • Techniques for batching, shuffling, caching, and prefetching
  • Final preparation of data for model training

Building a Model

  • Selecting the appropriate neural network architecture
  • Defining model inputs and outputs
  • Constructing dense neural networks
  • Choosing the right activation functions
  • Configuring the model for optimal training
  • Selecting optimisers and loss functions
  • Training and validating the model
  • Monitoring key training metrics
  • Enhancing model performance
  • Mitigating overfitting
  • Implementing regularisation and dropout

Implementing a State-of-the-Art Image Classifier

  • Essentials of image classification
  • Preparing image datasets
  • Image normalisation and augmentation
  • Convolutional Neural Networks (CNNs)
  • Understanding convolution and pooling layers
  • Designing an effective image classification architecture
  • The concept of transfer learning
  • Utilising pretrained models
  • Fine-tuning pretrained networks
  • Constructing an advanced image classifier
  • Evaluating classification accuracy and performance

Training the Model

  • Configuring training parameters
  • Optimising batch size and epoch counts
  • Selecting the appropriate optimiser
  • Implementing learning-rate scheduling
  • Utilising training callbacks
  • Applying early stopping techniques
  • Checkpointing models during training
  • Monitoring training progress
  • Detecting signs of overfitting
  • Enhancing training efficiency
  • Considerations for distributed training

Training on a GPU vs a TPU

  • Architectural differences between CPU, GPU, and TPU
  • Benefits of hardware acceleration
  • Configuring TensorFlow for GPU utilisation
  • Understanding TPU-based training
  • Matching hardware to specific workloads
  • Offloading computations to appropriate devices
  • Managing memory and computational resources
  • Comparing performance across different hardware
  • Strategies for distributed and accelerated training

Evaluating the Model

  • Selecting relevant evaluation metrics
  • Assessing accuracy, precision, recall, and F1 score
  • Metrics for regression tasks
  • Interpreting confusion matrices
  • Validating model robustness
  • Evaluating classification performance
  • Assessing generalisation capabilities
  • Identifying potential model weaknesses
  • Comparing various model configurations

Making Predictions

  • Utilising trained models for inference
  • Preparing new input data
  • Executing batch and individual predictions
  • Interpreting model outputs
  • Understanding classification probabilities
  • Generating regression predictions
  • Constructing a reliable inference workflow
  • Handling unseen data scenarios
  • Managing prediction pipelines

Evaluating the Predictions

  • Analyzing the quality of predictions
  • Comparing predictions against expected outcomes
  • Identifying false positives and false negatives
  • Conducting detailed error analysis
  • Assessing model confidence
  • Visualising prediction results
  • Detecting bias in data and predictions
  • Refining model performance based on prediction insights

Debugging the Model

  • Identifying common training bottlenecks
  • Diagnosing the root causes of incorrect predictions
  • Debugging data pipeline issues
  • Analyzing loss and metric trends
  • Detecting exploding and vanishing gradients
  • Diagnosing overfitting and underfitting
  • Inspecting internal model layers and outputs
  • Leveraging TensorFlow debugging and profiling tools
  • Improving model stability and overall performance

Saving a Model

  • Preserving trained models
  • Using the TensorFlow SavedModel format
  • Saving and restoring model weights
  • Storing model architecture and configuration
  • Loading models for subsequent inference
  • Implementing model versioning
  • Exporting models for deployment
  • Managing model artefacts
  • Preparing models for production environments

Deploying a Model to the Cloud

  • Overview of cloud-based model deployment
  • Preparing TensorFlow models for production readiness
  • Serving models via APIs
  • Core concepts of model serving
  • Containerising TensorFlow applications
  • Implementing cloud-based inference
  • Scaling model-serving workloads
  • Monitoring deployed models in real-time
  • Managing model versions in the cloud
  • Key considerations for production deployment

Deploying a Model to a Mobile Device

  • Challenges specific to mobile machine learning
  • Introduction to TensorFlow Lite
  • Converting TensorFlow models for mobile use
  • Optimising model size and efficiency
  • Applying quantisation techniques
  • Running inference on mobile hardware
  • Managing mobile device resource constraints
  • Integrating models into mobile applications
  • Testing mobile inference performance

Deploying a Model to an Embedded System (IoT)

  • Machine learning applications on embedded devices
  • Using TensorFlow Lite for embedded scenarios
  • Navigating resource constraints and optimisation
  • Reducing model footprint and computational load
  • Implementing edge inference
  • Processing sensor and real-time data
  • Executing local predictions
  • Considering power and memory limitations
  • Integrating TensorFlow models into IoT workflows
  • Testing and monitoring edge deployments

Integrating a Model with Different Languages

  • Interoperability of TensorFlow models
  • Serving models through various APIs
  • Accessing TensorFlow models from different programming environments
  • Python-based model integration
  • Integrating models into web applications
  • Performing model inference via REST services
  • Incorporating TensorFlow into existing application stacks
  • Data exchange and serialisation protocols
  • Considerations for production-level integration

Troubleshooting

  • Diagnosing TensorFlow installation issues
  • Resolving model-building errors
  • Debugging data preprocessing complications
  • Addressing training failures
  • Investigating GPU and TPU configuration conflicts
  • Diagnosing memory and performance bottlenecks
  • Troubleshooting model loading and saving
  • Resolving deployment-related issues
  • Practical troubleshooting exercises

Summary and Conclusion

  • Recap of key TensorFlow 2.x concepts
  • Review of neural network and deep learning workflows
  • Summary of data preparation and model development
  • Reflection on image classification techniques
  • Review of training and evaluation strategies
  • Summary of model debugging and optimisation
  • Overview of cloud, mobile, and IoT deployment
  • Best practices for TensorFlow development
  • Final practical exercise
  • Open floor for questions and discussion

Requirements

  • Demonstrated proficiency in Python programming.
  • Familiarity with the Linux command line interface.

Target Audience

  • Software Developers
  • Data Scientists
 21 Hours

Testimonials (4)

Upcoming Courses

Related Categories