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.
Duration 21 hours
Course Outline
Introduction
- Fundamentals of TensorFlow and deep learning
- Practical use cases and real-world applications
- The TensorFlow ecosystem and associated tooling
- Workflows for machine learning and deep learning
- Overview of learning objectives and hands-on exercises
TensorFlow 2.x vs Previous Versions — New Features
- Primary distinctions between TensorFlow 1.x and 2.x
- Implementation of eager execution
- Simplified APIs and enhanced user experience
- Evolution in model construction and training processes
- Introduction 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 procedures for TensorFlow
- Configuration of the Python environment
- Verification of the TensorFlow installation
- Management of required dependencies
- Setup of CPU and GPU environments
- Utilizing TensorFlow within Jupyter notebooks
- Essential TensorFlow commands and operations
- Resolving installation and configuration challenges
Overview of TensorFlow 2.x Features and Architecture
- Core components of TensorFlow architecture
- Tensors and associated tensor operations
- Management of variables and constants
- Computational graphs versus eager execution
- Mechanisms for automatic differentiation
- Exploration of TensorFlow APIs and modules
- Integration with Keras
- Constructing data pipelines using
tf.data - Model serialization and the TensorFlow SavedModel format
- The TensorFlow ecosystem and standard development workflows
How Neural Networks Work
- Foundations of artificial neural networks
- Structure of neurons, layers, and network architectures
- The role of activation functions
- Process of forward propagation
- Selection of loss functions
- Principles of backpropagation
- Optimization via gradient descent
- Strategies for learning rates and optimization
- Addressing overfitting and underfitting
- Techniques for regularization
- Division of data into training, validation, and test sets
Using TensorFlow 2.x to Create Deep Learning Models
- Creation and management of tensors and variables
- Constructing neural networks using Keras
- Utilizing Sequential and Functional model APIs
- Definition of custom models and layers
- Configuration of optimizers
- Selection of suitable loss functions
- Model training utilizing
fit() - Development of custom training loops
- Monitoring training through callbacks
- Management of model checkpoints
Analyzing Data
- Understanding datasets in the context of machine learning
- Exploration of structured and unstructured data
- Methods for data visualization
- Identification of patterns and anomalies
- Strategies for handling missing or inconsistent data
- Partitioning data into training, validation, and test sets
- Selection of relevant features
- Preparation of datasets for TensorFlow models
Preprocessing Data
- Techniques for data normalization and standardization
- Encoding of categorical data
- Handling of missing values
- Methods for feature scaling
- Preprocessing techniques for images
- Preprocessing techniques for text
- Application of data augmentation
- Construction of efficient input pipelines
- Utilization of
tf.data - Processes for batching, shuffling, caching, and prefetching
- Final data preparation for model training
Building a Model
- Selection of an appropriate neural network architecture
- Definition of model inputs and outputs
- Creation of dense neural networks
- Selection of activation functions
- Configuration of the model for training
- Choice of optimizers and loss functions
- Execution of model training and validation
- Monitoring of training metrics
- Strategies for enhancing model performance
- Prevention of overfitting
- Implementation of regularization and dropout
Implementing a State-of-the-Art Image Classifier
- Fundamentals of image classification
- Preparation of image datasets
- Image normalization and augmentation techniques
- Architecture of convolutional neural networks
- Application of convolution and pooling layers
- Design of image classification architectures
- Application of transfer learning
- Utilization of pretrained models
- Fine-tuning of pretrained networks
- Construction of advanced image classifiers
- Evaluation of classification performance
Training the Model
- Configuration of training parameters
- Management of batch size and epochs
- Selection of optimizers
- Scheduling of learning rates
- Implementation of training callbacks
- Application of early stopping
- Checkpointing of models
- Monitoring of training progress
- Detection of overfitting
- Optimization of training performance
- Considerations for distributed training
Training on a GPU vs a TPU
- Architectural differences between CPU, GPU, and TPU
- Benefits of hardware acceleration
- Configuration of TensorFlow for GPU training
- Understanding TPU-based training workflows
- Selection of appropriate hardware for specific workloads
- Migration of computations between devices
- Management of memory and computational resources
- Comparison of training performance across devices
- Strategies for distributed and accelerated training
Evaluating the Model
- Selection of appropriate evaluation metrics
- Analysis of accuracy, precision, recall, and F1 score
- Metrics for regression evaluation
- Interpretation of confusion matrices
- Implementation of validation strategies
- Evaluation of classification models
- Assessment of model generalization
- Identification of model weaknesses
- Comparison of various model configurations
Making Predictions
- Use of trained models for inference tasks
- Preparation of new input data
- Execution of batch and individual predictions
- Interpretation of model outputs
- Analysis of classification probabilities
- Interpretation of regression predictions
- Construction of inference workflows
- Handling of unseen data
- Management of prediction pipelines
Evaluating the Predictions
- Analysis of prediction quality
- Comparison of predictions against expected results
- Identification of false positives and false negatives
- Conducting error analysis
- Evaluation of model confidence levels
- Visualization of prediction outcomes
- Detection of data and prediction bias
- Improvement of model performance based on prediction insights
Debugging the Model
- Identification of common training issues
- Diagnosis of incorrect predictions
- Debugging of data pipelines
- Investigation of loss and metric behavior
- Detection of exploding and vanishing gradients
- Diagnosis of overfitting and underfitting
- Inspection of model layers and outputs
- Utilization of TensorFlow debugging and profiling tools
- Enhancement of model stability and performance
Saving a Model
- Storage of trained models
- Use of the TensorFlow SavedModel format
- Saving and restoring model weights
- Persistence of model architecture and configuration
- Loading models for inference purposes
- Implementation of model versioning
- Exporting models for deployment
- Management of model artifacts
- Preparation of models for production environments
Deploying a Model to the Cloud
- Introduction to cloud-based model deployment
- Preparation of TensorFlow models for production use
- Serving models via APIs
- Concepts in model serving
- Containerization of TensorFlow applications
- Execution of cloud-based inference
- Scaling of model-serving workloads
- Monitoring of deployed models
- Management of model versions
- Considerations for production deployment
Deploying a Model to a Mobile Device
- Challenges specific to mobile machine learning
- Overview of TensorFlow Lite
- Conversion of TensorFlow models for mobile deployment
- Optimization of model size and performance
- Application of quantization
- Execution of inference on mobile devices
- Management of mobile device resources
- Integration of models into mobile applications
- Testing of mobile inference performance
Deploying a Model to an Embedded System (IoT)
- Implementation of machine learning on embedded devices
- Use of TensorFlow Lite for embedded applications
- Management of resource constraints and optimization
- Reduction of model size and computational demands
- Execution of edge inference
- Processing of sensor and real-time data
- Local execution of predictions
- Considerations for power and memory usage
- Integration of TensorFlow models into IoT workflows
- Testing and monitoring of edge deployments
Integrating a Model with Different Languages
- Interoperability of TensorFlow models
- Serving models through APIs
- Utilization of TensorFlow models across diverse programming environments
- Implementation of Python-based model integration
- Integration of models into web applications
- Execution of model inference via REST-based services
- Incorporation of TensorFlow into existing applications
- Management of data exchange and serialization
- Considerations for production integration
Troubleshooting
- Diagnosis of TensorFlow installation issues
- Troubleshooting of model-building errors
- Debugging of data preprocessing problems
- Resolution of training failures
- Investigation of GPU and TPU configuration issues
- Diagnosis of memory and performance bottlenecks
- Troubleshooting of model loading and saving processes
- Debugging of deployment challenges
- Execution of practical troubleshooting exercises
Summary and Conclusion
- Recap of TensorFlow 2.x core concepts
- Review of neural network and deep learning workflows
- Recap of data preparation and model development processes
- Review of image classification techniques
- Recap of training and evaluation methods
- Review of model debugging and optimization strategies
- Review of deployment across cloud, mobile, and IoT environments
- Best practices for TensorFlow development
- Final practical exercise
- Q&A and group discussion
Requirements
- Programming proficiency in Python.
- Experience using the Linux command line.
Audience
- Developers
- Data Scientists
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.