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 use cases and applications of TensorFlow
- Exploring the TensorFlow ecosystem and associated tooling
- Workflows for machine learning and deep learning
- Overview of course goals and hands-on exercises
TensorFlow 2.x vs Previous Versions — What's New
- Distinct differences between TensorFlow 1.x and 2.x
- The role of eager execution
- Simplified APIs and enhanced usability
- Evolutions in model construction and training processes
- Introduction to Keras as the primary high-level API
- Considerations for migrating existing TensorFlow applications
- Best practices for developing with TensorFlow 2.x
Setting up TensorFlow 2.x
- Installation procedures for TensorFlow
- Configuring the Python development environment
- Validating the TensorFlow installation
- Managing and installing necessary dependencies
- Setting up CPU and GPU environments
- Integrating TensorFlow with Jupyter notebooks
- Essential TensorFlow commands and operations
- Resolving common installation and configuration challenges
Overview of TensorFlow 2.x Features and Architecture
- Core components of TensorFlow architecture
- Working with tensors and tensor operations
- Management of variables and constants
- Computational graphs and the mechanics of eager execution
- The concept of automatic differentiation
- Exploring TensorFlow APIs and modules
- Integration of Keras
- Constructing data pipelines using
tf.data - Model serialization via TensorFlow SavedModel
- Navigating the TensorFlow development workflow and ecosystem
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
- Defining loss functions
- Mechanics of backpropagation
- Optimization via gradient descent
- Strategies for learning rates and optimization
- Managing overfitting and underfitting
- Application of regularization techniques
- Utilizing training, validation, and test datasets
Using TensorFlow 2.x to Create Deep Learning Models
- Creating tensors and managing variables
- Constructing neural networks utilizing Keras
- Differentiating between sequential and functional model APIs
- Defining custom models and layers
- Configuration of optimizers
- Selecting suitable loss functions
- Training models via
fit() - Implementing custom training loops
- Monitoring training through callbacks
- Managing model checkpoints
Analyzing Data
- Understanding datasets in the context of machine learning
- Exploring both structured and unstructured data types
- Techniques for data visualization
- Identifying key patterns and anomalies
- Addressing missing or inconsistent data
- Partitioning data into training, validation, and test sets
- Feature selection processes
- Preparing datasets for TensorFlow models
Preprocessing Data
- Normalization and standardization of data
- Encoding categorical variables
- Strategies for handling missing values
- Techniques for feature scaling
- Image preprocessing workflows
- Text preprocessing methods
- Implementing data augmentation
- Building efficient input pipelines
- Leveraging
tf.data - Strategies for batching, shuffling, caching, and prefetching
- Final data preparation for model training
Building a Model
- Selecting the optimal neural network architecture
- Defining model inputs and outputs
- Constructing dense neural networks
- Choosing appropriate activation functions
- Configuring models for the training phase
- Selection of optimizers and loss functions
- Process of training and validating the model
- Monitoring key training metrics
- Strategies for enhancing model performance
- Techniques to prevent overfitting
- Implementing regularization and dropout
Implementing a State-of-the-Art Image Classifier
- Core principles of image classification
- Preparation of image datasets
- Techniques for image normalization and augmentation
- Understanding convolutional neural networks
- Use of convolution and pooling layers
- Architecting an image classification system
- The concept of transfer learning
- Leveraging pretrained models
- Techniques for fine-tuning pretrained networks
- Building an advanced image classifier
- Evaluating the performance of classifications
Training the Model
- Setting training parameters
- Adjusting batch size and epochs
- Selection of optimizers
- Implementing learning-rate scheduling
- Utilizing training callbacks
- Applying early stopping mechanisms
- Model checkpointing strategies
- Monitoring the progress of training
- Detection of overfitting
- Optimizing training performance
- 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-based training
- Understanding TPU-based training environments
- Selecting appropriate hardware for specific workloads
- Transferring computations between devices
- Managing memory and computational resources
- Comparing training performance across hardware
- Strategies for distributed and accelerated training
Evaluating the Model
- Selecting the right evaluation metrics
- Interpreting accuracy, precision, recall, and F1 scores
- Metrics for regression evaluation
- Analysis of confusion matrices
- Strategies for validation
- Evaluating the effectiveness of classification models
- Assessing model generalization capabilities
- Identifying model weaknesses
- Comparing various model configurations
Making Predictions
- Utilizing trained models for inference
- Preparation of new input data
- Executing batch and individual predictions
- Interpreting model outputs
- Analyzing classification probabilities
- Generating regression predictions
- Constructing an inference workflow
- Handling unseen data
- Managing prediction pipelines
Evaluating the Predictions
- Analyzing the quality of predictions
- Comparing predictions against expected outcomes
- Identifying false positives and negatives
- Conducting error analysis
- Evaluating model confidence levels
- Visualizing prediction outcomes
- Detecting bias in data and predictions
- Enhancing model performance based on analysis
Debugging the Model
- Identifying common training issues
- Diagnosing sources of incorrect predictions
- Debugging data pipeline errors
- Analyzing loss and metric behavior
- Detecting exploding and vanishing gradients
- Diagnosing overfitting and underfitting issues
- Inspecting model layers and outputs
- Utilizing TensorFlow debugging and profiling tools
- Enhancing model stability and overall performance
Saving a Model
- Saving trained model artifacts
- Understanding the TensorFlow SavedModel format
- Saving and restoring model weights
- Persisting model architecture and configuration
- Loading models for inference tasks
- Implementing 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 use
- Serving models via APIs
- Concepts of model serving
- Containerizing TensorFlow applications
- Implementing cloud-based inference
- Scaling model-serving workloads
- Monitoring deployed models
- Managing model versions in the cloud
- 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
- Optimizing models and reducing their size
- Techniques for 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
- Using TensorFlow Lite for embedded applications
- Addressing resource constraints and optimization
- Reducing model size and computational demands
- Implementing edge inference
- Processing sensor and real-time data
- Running local predictions
- Considering power and memory usage
- Integrating TensorFlow models into IoT workflows
- Testing and monitoring edge deployments
Integrating a Model with Different Languages
- Model interoperability in TensorFlow
- Serving models through API interfaces
- Utilizing TensorFlow models across programming environments
- Python-based model integration
- Integrating models into web applications
- Model inference via REST-based services
- Incorporating TensorFlow into existing applications
- Data exchange and serialization methods
- Production integration considerations
Troubleshooting
- Diagnosing TensorFlow installation issues
- Troubleshooting errors in model building
- Debugging data preprocessing problems
- Resolving training failures
- Investigating GPU and TPU configuration issues
- Diagnosing memory and performance bottlenecks
- Troubleshooting model loading and saving
- Debugging deployment challenges
- Hands-on troubleshooting exercises
Summary and Conclusion
- Review of core TensorFlow 2.x concepts
- Recap of neural network and deep learning workflows
- Review of data preparation and model development
- Summary of image classification techniques
- Review of training and evaluation methods
- Recap of model debugging and optimization
- Summary of cloud, mobile, and IoT deployment strategies
- Best practices for TensorFlow development
- Final practical exercise
- Q&A and discussion
Requirements
- Proficiency in Python programming.
- Working knowledge of the Linux command line.
Target Audience
- Software 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.