Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
Introduction
- Foundations of TensorFlow and deep learning
- Practical applications and use cases for TensorFlow
- The broader TensorFlow ecosystem and associated tooling
- Workflows for machine learning and deep learning projects
- Course goals and an overview of practical exercises
TensorFlow 2.x vs. Previous Versions — What's New
- Major distinctions between TensorFlow 1.x and 2.x
- The concept of eager execution
- Enhanced usability through simplified APIs
- Updates to how models are constructed and trained
- Overview of Keras as the high-level API
- Considerations for migrating existing TensorFlow applications
- Recommended best practices for TensorFlow 2.x
Setting Up TensorFlow 2.x
- Installation process for TensorFlow
- Setting up a compatible Python environment
- Confirming the installation was successful
- Installing and managing necessary dependencies
- Configuring environments for both CPU and GPU usage
- Working with TensorFlow in Jupyter notebooks
- Essential TensorFlow commands and operations
- Resolving common installation and configuration issues
Overview of TensorFlow 2.x Features and Architecture
- Core components of the TensorFlow architecture
- Understanding tensors and tensor operations
- Working with variables and constants
- Computational graphs vs. eager execution
- The role of automatic differentiation
- Key TensorFlow APIs and modules
- Integration with Keras
- Constructing data pipelines using
tf.data - Model serialization and the TensorFlow SavedModel format
- The TensorFlow ecosystem and development workflow
How Neural Networks Work
- Basics of artificial neural networks
- Understanding neurons, layers, and network structures
- The function of activation functions
- The process of forward propagation
- Types of loss functions
- The mechanism of backpropagation
- Gradient descent and optimization methods
- Learning rate strategies and optimization
- Recognizing overfitting and underfitting
- Techniques for regularization
- The role of training, validation, and test datasets
Creating Deep Learning Models with TensorFlow 2.x
- Generating tensors and variables
- Constructing neural networks using Keras
- Using Sequential and functional model APIs
- Defining custom models and layers
- Setting up optimizers
- Choosing suitable loss functions
- Training models via the
fit()method - Implementing custom training loops
- Monitoring training through callbacks
- Managing model checkpoints
Data Analysis
- Understanding datasets suitable for machine learning
- Examining structured and unstructured data
- Techniques for data visualization
- Identifying patterns and anomalies in data
- Managing missing and inconsistent data entries
- Partitioning data into training, validation, and test sets
- Selecting relevant features for modeling
- Preparing datasets for use in TensorFlow models
Data Preprocessing
- Normalizing and standardizing data
- Encoding categorical variables
- Strategies for handling missing values
- Feature scaling methods
- Preprocessing images for model input
- Text preprocessing techniques
- Data augmentation strategies
- Building efficient input pipelines
- Utilizing
tf.datafor data handling - Operations such as batching, shuffling, caching, and prefetching
- Finalizing data preparation for model training
Model Construction
- Choosing an appropriate neural network architecture
- Defining model inputs and outputs
- Building dense neural networks
- Selecting the right activation functions
- Configuring the model for the training phase
- Choosing optimizers and loss functions
- Training and validating the model
- Tracking training metrics
- Strategies for enhancing model performance
- Mitigating overfitting
- Applying regularization and dropout techniques
Implementing a State-of-the-Art Image Classifier
- Core concepts of image classification
- Preparing image datasets for training
- Image normalization and augmentation techniques
- Understanding Convolutional Neural Networks (CNNs)
- Convolution and pooling layers
- Designing the architecture for image classification
- The concept of transfer learning
- Leveraging pretrained models
- Fine-tuning pretrained networks
- Constructing an advanced image classifier
- Assessing classification performance
Training the Model
- Setting training parameters
- Determining batch size and number of epochs
- Selecting the appropriate optimizer
- Learning-rate scheduling strategies
- Implementing training callbacks
- Using early stopping to prevent overtraining
- Creating model checkpoints
- Tracking training progress
- Identifying signs of overfitting
- Optimizing training performance
- Considerations for distributed training
Training on GPU vs. TPU
- Architectural differences between CPU, GPU, and TPU
- Benefits of hardware acceleration
- Configuring TensorFlow for GPU-based training
- Understanding TPU-based training processes
- Choosing the right hardware for specific workloads
- Transferring computations between devices
- Managing memory and computational resources
- Comparing training performance across hardware types
- Strategies for distributed and accelerated training
Evaluating the Model
- Selecting appropriate evaluation metrics
- Understanding accuracy, precision, recall, and F1 score
- Metrics for evaluating regression models
- Interpreting confusion matrices
- Validation strategies for model assessment
- Evaluating classification model performance
- Assessing model generalization capabilities
- Identifying areas where the model may be weak
- Comparing different model configurations
Making Predictions
- Using trained models for inference
- Preparing new input data for prediction
- Performing both batch and individual predictions
- Interpreting the model's output
- Understanding classification probabilities
- Making regression predictions
- Building an end-to-end inference workflow
- Handling previously unseen data
- Managing the prediction pipeline
Assessing Predictions
- Analyzing the quality of predictions
- Comparing predicted results against expected outcomes
- Identifying false positives and false negatives
- Conducting error analysis
- Evaluating model confidence levels
- Visualizing prediction results for clarity
- Detecting potential bias in data and predictions
- Enhancing model performance based on prediction analysis
Debugging the Model
- Identifying common issues in the training process
- Diagnosing the causes of incorrect predictions
- Troubleshooting data pipeline issues
- Analyzing the behavior of loss and metrics
- Detecting exploding and vanishing gradients
- Diagnosing overfitting and underfitting issues
- Inspecting model layers and outputs
- Utilizing TensorFlow debugging and profiling tools
- Improving model stability and overall performance
Saving a Model
- Methods for saving trained models
- The TensorFlow SavedModel format
- Saving and restoring model weights
- Storing model architecture and configuration details
- Loading models for inference tasks
- Implementing model versioning
- Exporting models ready for deployment
- Managing various model artifacts
- Preparing models for production environments
Deploying a Model to the Cloud
- Overview of cloud-based model deployment
- Preparing TensorFlow models for production use
- Serving models via APIs
- Key concepts in model serving
- Containerizing TensorFlow applications
- Implementing cloud-based inference
- Scaling model-serving workloads
- Monitoring models after deployment
- Managing multiple model versions
- 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 platforms
- Optimizing models for size and efficiency
- The process of quantization
- Executing inference on mobile devices
- Managing resource constraints on mobile devices
- Integrating models into mobile applications
- Testing the performance of mobile inference
Deploying a Model to an Embedded System (IoT)
- Applying machine learning to embedded devices
- Using TensorFlow Lite for embedded applications
- Addressing resource constraints and optimization
- Reducing model size and computational demands
- The concept of edge inference
- Processing sensor and real-time data
- Executing predictions locally on the device
- 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 API endpoints
- Accessing TensorFlow models from various programming environments
- Python-based integration methods
- Incorporating models into web applications
- Performing model inference via REST-based services
- Integrating TensorFlow into existing application stacks
- Data exchange and serialization techniques
- Considerations for production-level integration
Troubleshooting
- Diagnosing TensorFlow installation issues
- Resolving errors during model construction
- Debugging problems in data preprocessing
- Addressing failures in the training process
- Investigating GPU and TPU configuration issues
- Diagnosing memory and performance bottlenecks
- Troubleshooting model loading and saving operations
- Debugging deployment-related problems
- Practical exercises for troubleshooting
Summary and Conclusion
- Recap of key TensorFlow 2.x concepts
- Review of neural network and deep learning workflows
- Review of data preparation and model development processes
- Summary of image classification techniques
- Review of training and evaluation methodologies
- Review of model debugging and optimization strategies
- Review of deployment options for cloud, mobile, and IoT
- Best practices for TensorFlow development
- Final practical exercise
- Questions and discussion
Requirements
- Programming proficiency in Python.
- Experience using the Linux command line.
Target Audience
- Developers
- Data Scientists
21 Hours
Testimonials (4)
The training was organized and well-planned out, and I come out of it with systematized knowledge and a good look at topics we looked at
Magdalena - Samsung Electronics Polska Sp. z o.o.
Course - Deep Learning with TensorFlow 2
Trainer's knowledge and the fact they were very approachable. They could easily convey important knowledge
Mateusz Stachyra - Samsung Electronics Polska Sp. z o.o.
Course - Deep Learning with TensorFlow 2
I liked that we covered the basics too
Tomasz - Samsung Electronics Polska Sp. z o.o.
Course - Deep Learning with TensorFlow 2
The trainer explained the content well and was engaging throughout. He stopped to ask questions and let us come to our own solutions in some practical sessions. He also tailored the course well for our needs.