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
- Fundamentals of TensorFlow and deep learning
- Real-world use cases and applications of TensorFlow
- The TensorFlow ecosystem and associated tooling
- Workflows for machine learning and deep learning
- Course objectives and an overview of practical exercises
TensorFlow 2.x vs Previous Versions — What's New
- Key distinctions between TensorFlow 1.x and 2.x
- The concept of eager execution
- Simplified APIs and enhanced usability
- Shifts in model construction and training methodologies
- Introducing Keras as the high-level interface
- Considerations for migrating existing TensorFlow applications
- Best practices for leveraging TensorFlow 2.x
Setting up TensorFlow 2.x
- Installation procedures for TensorFlow
- Configuring a suitable Python environment
- Verifying the TensorFlow setup
- Managing and installing necessary dependencies
- Configuring CPU and GPU environments
- Utilizing TensorFlow within Jupyter notebooks
- Basic commands and operations in TensorFlow
- Troubleshooting common installation and configuration issues
Overview of TensorFlow 2.x Features and Architecture
- TensorFlow architecture and its core components
- Tensors and tensor operations
- Variables and constants in computation
- Computational graphs and the eager execution mode
- The mechanism of automatic differentiation
- Exploring TensorFlow APIs and modules
- Integration with Keras
- Creating data pipelines using
tf.data - Model serialization and the TensorFlow SavedModel format
- The broader TensorFlow ecosystem and development workflow
How Neural Networks Work
- Foundations of artificial neural networks
- Structure of neurons, layers, and network architectures
- Role and selection of activation functions
- The process of forward propagation
- Types of loss functions
- The backpropagation algorithm
- Gradient descent and optimization techniques
- Learning rates and optimization strategies
- Addressing overfitting and underfitting
- Regularization methods
- Managing training, validation, and test datasets
Using TensorFlow 2.x to Create Deep Learning Models
- Creation of tensors and variables
- Constructing neural networks via Keras
- Utilizing Sequential and Functional API models
- Defining custom models and layers
- Configuration of optimizers
- Selecting suitable loss functions
- Training models using
fit() - Implementing custom training loops
- Monitoring training through callbacks
- Managing model checkpoints
Analyzing Data
- Understanding datasets suitable for machine learning
- Exploring both structured and unstructured data types
- Techniques for data visualization
- Identifying underlying patterns and anomalies
- Managing missing and inconsistent data entries
- Partitioning data into training, validation, and test sets
- Feature selection processes
- Preparing datasets for TensorFlow model ingestion
Preprocessing Data
- Data normalization and standardization techniques
- Encoding categorical variables
- Strategies for handling missing values
- Feature scaling methods
- Image preprocessing workflows
- Text preprocessing methods
- Application of data augmentation
- Building efficient input pipelines
- Utilizing the
tf.dataAPI - Batching, shuffling, caching, and prefetching data
- Finalizing data preparation for model training
Building a Model
- Selection of appropriate neural network architectures
- Defining model inputs and outputs
- Construction of dense neural networks
- Choosing suitable activation functions
- Configuring the model for the training phase
- Selecting optimizers and loss functions
- Training and validating the model
- Monitoring key training metrics
- Strategies to improve model performance
- Techniques to prevent overfitting
- Implementation of regularization and dropout
Implementing a State-of-the-Art Image Classifier
- Principles of image classification
- Preparing image datasets
- Image normalization and augmentation strategies
- Architectures of convolutional neural networks (CNNs)
- Use of convolution and pooling layers
- Designing an effective image classification architecture
- The concept of transfer learning
- Utilization of pretrained models
- Fine-tuning pretrained networks
- Construction of an advanced image classifier
- Evaluation of classification performance
Training the Model
- Configuration of training parameters
- Setting batch sizes and epoch counts
- Selection of optimizers
- Implementing learning-rate scheduling
- Use of training callbacks
- Applying early stopping techniques
- Checkpointing models during training
- Monitoring training progress
- 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 training
- Understanding TPU-based training environments
- Selecting hardware for specific workloads
- Migrating computations between devices
- Managing memory and computational resources
- Comparative analysis of training performance
- Strategies for distributed and accelerated training
Evaluating the Model
- Selection of appropriate evaluation metrics
- Interpreting accuracy, precision, recall, and F1 score
- Metrics for regression tasks
- Analysis of confusion matrices
- Validation strategies
- Evaluation of classification models
- Assessing model generalization capabilities
- Identification of model weaknesses
- Comparison of different model configurations
Making Predictions
- Utilizing trained models for inference
- Preparation of new input data
- Performing batch and individual predictions
- Interpretation of model outputs
- Understanding classification probabilities
- Making regression predictions
- Constructing an inference workflow
- Handling unseen data
- Managing prediction pipelines
Evaluating the Predictions
- Analysis of prediction quality
- Comparison of predictions against expected outcomes
- Identification of false positives and false negatives
- Conducting error analysis
- Evaluating model confidence levels
- Visualization of prediction results
- Detection of bias in data and predictions
- Improving model performance based on prediction analysis
Debugging the Model
- Identification of common training issues
- Diagnosis of incorrect predictions
- Debugging 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
- Use of TensorFlow debugging and profiling tools
- Improving model stability and performance
Saving a Model
- Saving trained models
- Use of the TensorFlow SavedModel format
- Saving and restoring model weights
- Preserving model architecture and configuration
- Loading models for inference tasks
- Model versioning practices
- Exporting models for deployment
- Management of model artifacts
- Preparing models for production environments
Deploying a Model to the Cloud
- Introduction to cloud-based model deployment
- Preparation of TensorFlow models for production
- Serving models via APIs
- Concepts in model serving
- Containerization of TensorFlow applications
- Cloud-based inference
- Scaling model-serving workloads
- Monitoring deployed models
- Management of model versions
- Considerations for production deployment
Deploying a Model to a Mobile Device
- Challenges specific to mobile machine learning
- Introduction to TensorFlow Lite
- Conversion of TensorFlow models for mobile deployment
- Model optimization and size reduction
- Quantization techniques
- Execution of inference on mobile devices
- Management of mobile device resources
- Integration of models into mobile applications
- Testing mobile inference performance
Deploying a Model to an Embedded System (IoT)
- Machine learning on embedded devices
- Use of TensorFlow Lite for embedded applications
- Addressing resource constraints and optimization
- Reduction of model size and computational requirements
- Edge inference concepts
- Processing of sensor and real-time data
- Execution of local predictions
- Considerations for power and memory usage
- Integration of TensorFlow models into IoT workflows
- Testing and monitoring edge deployments
Integrating a Model with Different Languages
- TensorFlow model interoperability
- Serving models via APIs
- Utilizing TensorFlow models across different programming environments
- Python-based model integration
- Integration of models into web applications
- Model inference through REST-based services
- Integration of TensorFlow into existing applications
- Data exchange and serialization methods
- Considerations for production integration
Troubleshooting
- Diagnosis of TensorFlow installation problems
- Troubleshooting errors in model building
- Debugging issues in data preprocessing
- Resolution of training failures
- Investigation of GPU and TPU configuration problems
- Diagnosis of memory and performance issues
- Troubleshooting model loading and saving processes
- Debugging deployment challenges
- Practical 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 processes
- Recap of image classification techniques
- Review of training and evaluation methods
- Recap of model debugging and optimization
- Review of deployment strategies for cloud, mobile, and IoT
- Best practices for TensorFlow development
- Final practical exercise
- Open questions and discussion
Requirements
- Programming proficiency in Python.
- Practical experience with 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.