Get in Touch

Course Outline

Introduction

  • Introduction to TensorFlow and deep learning
  • TensorFlow use cases and applications
  • TensorFlow ecosystem and tooling
  • Machine learning and deep learning workflows
  • Overview of the course objectives and practical exercises

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

  • Key differences between TensorFlow 1.x and 2.x
  • Eager execution
  • Simplified APIs and improved usability
  • Changes to model construction and training
  • Introduction to Keras as the high-level API
  • Migration considerations for existing TensorFlow applications
  • TensorFlow 2.x best practices

Setting up TensorFlow 2.x

  • Installing TensorFlow
  • Configuring a Python environment
  • Verifying the TensorFlow installation
  • Installing and managing required dependencies
  • Configuring CPU and GPU environments
  • Using TensorFlow with Jupyter notebooks
  • Basic TensorFlow commands and operations
  • Troubleshooting installation and configuration issues

Overview of TensorFlow 2.x Features and Architecture

  • TensorFlow architecture and core components
  • Tensors and tensor operations
  • Variables and constants
  • Computational graphs and eager execution
  • Automatic differentiation
  • TensorFlow APIs and modules
  • Keras integration
  • Data pipelines with tf.data
  • Model serialization and TensorFlow SavedModel
  • TensorFlow ecosystem and development workflow

How Neural Networks Work

  • Fundamentals of artificial neural networks
  • Neurons, layers, and network architectures
  • Activation functions
  • Forward propagation
  • Loss functions
  • Backpropagation
  • Gradient descent and optimization
  • Learning rates and optimization strategies
  • Overfitting and underfitting
  • Regularization techniques
  • Training, validation, and test datasets

Using TensorFlow 2.x to Create Deep Learning Models

  • Creating tensors and variables
  • Building neural networks with Keras
  • Sequential and functional model APIs
  • Defining custom models and layers
  • Configuring optimizers
  • Selecting appropriate loss functions
  • Training models with fit()
  • Custom training loops
  • Callbacks and training monitoring
  • Managing model checkpoints

Analyzing Data

  • Understanding datasets for machine learning
  • Exploring structured and unstructured data
  • Data visualization
  • Identifying patterns and anomalies
  • Handling missing and inconsistent data
  • Splitting data into training, validation, and test sets
  • Selecting relevant features
  • Preparing datasets for TensorFlow models

Preprocessing Data

  • Data normalization and standardization
  • Encoding categorical data
  • Handling missing values
  • Feature scaling
  • Image preprocessing
  • Text preprocessing
  • Data augmentation
  • Building efficient input pipelines
  • Using tf.data
  • Batching, shuffling, caching, and prefetching
  • Preparing data for model training

Building a Model

  • Selecting an appropriate neural network architecture
  • Defining model inputs and outputs
  • Creating dense neural networks
  • Choosing activation functions
  • Configuring the model for training
  • Selecting optimizers and loss functions
  • Training and validating the model
  • Monitoring training metrics
  • Improving model performance
  • Preventing overfitting
  • Implementing regularization and dropout

Implementing a State-of-the-Art Image Classifier

  • Fundamentals of image classification
  • Preparing image datasets
  • Image normalization and augmentation
  • Convolutional neural networks
  • Convolution and pooling layers
  • Designing an image classification architecture
  • Transfer learning
  • Using pretrained models
  • Fine-tuning pretrained networks
  • Building an advanced image classifier
  • Evaluating classification performance

Training the Model

  • Configuring training parameters
  • Batch size and epochs
  • Optimizer selection
  • Learning-rate scheduling
  • Training callbacks
  • Early stopping
  • Checkpointing models
  • Monitoring training progress
  • Detecting overfitting
  • Improving training performance
  • Distributed training considerations

Training on a GPU vs a TPU

  • CPU, GPU, and TPU architectures
  • Advantages of hardware acceleration
  • Configuring TensorFlow for GPU training
  • Understanding TPU-based training
  • Selecting hardware for different workloads
  • Moving computations between devices
  • Managing memory and computational resources
  • Comparing training performance
  • Distributed and accelerated training strategies

Evaluating the Model

  • Selecting appropriate evaluation metrics
  • Accuracy, precision, recall, and F1 score
  • Regression evaluation metrics
  • Confusion matrices
  • Validation strategies
  • Evaluating classification models
  • Evaluating model generalization
  • Identifying model weaknesses
  • Comparing different model configurations

Making Predictions

  • Using trained models for inference
  • Preparing new input data
  • Performing batch and individual predictions
  • Interpreting model outputs
  • Classification probabilities
  • Regression predictions
  • Building an inference workflow
  • Handling unseen data
  • Managing prediction pipelines

Evaluating the Predictions

  • Analyzing prediction quality
  • Comparing predictions with expected results
  • Identifying false positives and false negatives
  • Error analysis
  • Evaluating model confidence
  • Visualizing prediction results
  • Detecting data and prediction bias
  • Improving model performance based on prediction analysis

Debugging the Model

  • Identifying common training problems
  • Diagnosing incorrect predictions
  • Debugging data pipelines
  • Investigating loss and metric behavior
  • Detecting exploding and vanishing gradients
  • Diagnosing overfitting and underfitting
  • Inspecting model layers and outputs
  • Using TensorFlow debugging and profiling tools
  • Improving model stability and performance

Saving a Model

  • Saving trained models
  • TensorFlow SavedModel format
  • Saving and restoring model weights
  • Saving model architecture and configuration
  • Loading models for inference
  • Model versioning
  • Exporting models for deployment
  • Managing model artifacts
  • Preparing models for production environments

Deploying a Model to the Cloud

  • Introduction to cloud-based model deployment
  • Preparing TensorFlow models for production
  • Serving models through APIs
  • Model serving concepts
  • Containerizing TensorFlow applications
  • Cloud-based inference
  • Scaling model-serving workloads
  • Monitoring deployed models
  • Managing model versions
  • Production deployment considerations

Deploying a Model to a Mobile Device

  • Challenges of mobile machine learning
  • TensorFlow Lite
  • Converting TensorFlow models for mobile deployment
  • Model optimization and size reduction
  • Quantization
  • Running inference on mobile devices
  • Managing mobile device resources
  • Integrating models into mobile applications
  • Testing mobile inference performance

Deploying a Model to an Embedded System (IoT)

  • Machine learning on embedded devices
  • TensorFlow Lite for embedded applications
  • Resource constraints and optimization
  • Reducing model size and computational requirements
  • Edge inference
  • Sensor and real-time data processing
  • Running predictions locally
  • Power and memory considerations
  • Integrating TensorFlow models into IoT workflows
  • Testing and monitoring edge deployments

Integrating a Model with Different Languages

  • TensorFlow model interoperability
  • Serving models through APIs
  • Using TensorFlow models from different programming environments
  • Python-based model integration
  • Integrating models into web applications
  • Model inference through REST-based services
  • Integrating TensorFlow into existing applications
  • Data exchange and serialization
  • Production integration considerations

Troubleshooting

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

Summary and Conclusion

  • Review of TensorFlow 2.x concepts
  • Review of neural network and deep learning workflows
  • Review of data preparation and model development
  • Review of image classification
  • Review of training and evaluation techniques
  • Review of model debugging and optimization
  • Review of cloud, mobile, and IoT deployment
  • Best practices for TensorFlow development
  • Final practical exercise
  • Questions and discussion

Requirements

  • Programming experience in Python.
  • Experience with the Linux command line.

Audience

  • Developers
  • Data Scientists
 21 Hours

Number of participants


Price per participant

Testimonials (4)

Upcoming Courses

Related Categories