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
- The TensorFlow ecosystem and associated tooling
- Workflows for machine learning and deep learning
- Overview of course objectives and hands-on exercises
TensorFlow 2.x vs Earlier Versions — New Features
- Principal differences between TensorFlow 1.x and 2.x
- Eager execution capabilities
- Simplified APIs and enhanced usability
- Updates to model construction and training processes
- Introduction to Keras as the high-level interface
- Considerations for migrating existing TensorFlow applications
- Best practices for working with TensorFlow 2.x
Configuring the TensorFlow 2.x Environment
- Installation procedures for TensorFlow
- Setting up the Python environment
- Verifying the TensorFlow setup
- Managing necessary dependencies
- Configuration of CPU and GPU environments
- Integrating TensorFlow with Jupyter notebooks
- Essential TensorFlow commands and operations
- Resolving installation and configuration challenges
TensorFlow 2.x Architecture and Features
- Core components of the TensorFlow architecture
- Understanding tensors and tensor operations
- Managing variables and constants
- Computational graphs and eager execution mechanisms
- Automatic differentiation
- Exploring TensorFlow APIs and modules
- Integration with Keras
- Constructing data pipelines using
tf.data - Model serialization via TensorFlow SavedModel
- The broader TensorFlow ecosystem and development workflows
Neural Network Mechanics
- Core concepts of artificial neural networks
- Neurons, layers, and network structures
- Role of activation functions
- Forward propagation processes
- Selection of loss functions
- Backpropagation algorithm
- Gradient descent and optimization techniques
- Learning rates and optimization strategies
- Addressing overfitting and underfitting
- Regularization methods
- Splitting data into training, validation, and test sets
Developing Deep Learning Models with TensorFlow 2.x
- Creation of tensors and variables
- Building neural networks using Keras
- Utilizing Sequential and Functional API models
- Defining custom models and layers
- Configuration of optimizers
- Choosing suitable loss functions
- Model training via
fit() - Implementing custom training loops
- Monitoring training through callbacks
- Managing model checkpoints
Data Analysis
- Understanding datasets suitable for machine learning
- Exploring structured and unstructured data sources
- Data visualization techniques
- Identifying patterns and anomalies in data
- Managing missing and inconsistent data points
- Partitioning data into training, validation, and test sets
- Feature selection strategies
- Preparing datasets for TensorFlow model consumption
Data Preprocessing
- Data normalization and standardization
- Encoding categorical variables
- Addressing missing values
- Feature scaling techniques
- Image preprocessing workflows
- Text preprocessing methods
- Data augmentation strategies
- Building efficient input pipelines
- Leveraging
tf.data - Batching, shuffling, caching, and prefetching data
- Optimizing data readiness for model training
Model Construction
- Selecting the appropriate neural network architecture
- Defining model inputs and outputs
- Creating dense neural networks
- Choosing effective activation functions
- Configuring the model for the training phase
- Selecting optimizers and loss functions
- Training and validating the model
- Monitoring key training metrics
- Strategies for enhancing model performance
- Mitigating overfitting
- Implementing regularization and dropout layers
Developing an Advanced Image Classifier
- Basics of image classification
- Preparation of image datasets
- Image normalization and augmentation
- Convolutional neural network architectures
- Application of convolution and pooling layers
- Designing an architecture for image classification
- Utilizing transfer learning
- Incorporating pretrained models
- Fine-tuning pretrained networks
- Building a sophisticated image classifier
- Evaluating classification accuracy and performance
Model Training
- Configuration of training parameters
- Optimizing batch size and epoch counts
- Selection of optimizers
- Learning rate scheduling
- Implementing training callbacks
- Applying early stopping mechanisms
- Checkpointing the model
- Monitoring training progress
- Detecting signs of overfitting
- Improving training efficiency
- Considerations for distributed training
Training on GPU vs TPU
- Architectures of CPUs, GPUs, and TPUs
- Benefits of hardware acceleration
- Configuring TensorFlow for GPU-based training
- Understanding TPU-based training workflows
- Selecting hardware suited to specific workloads
- Offloading computations between devices
- Managing memory and computational resources
- Benchmarking training performance across hardware
- Strategies for distributed and accelerated training
Model Evaluation
- Choosing appropriate evaluation metrics
- Assessing accuracy, precision, recall, and F1 score
- Metrics for regression tasks
- Interpreting confusion matrices
- Validation methodologies
- Evaluating classification models
- Assessing model generalization capability
- Identifying areas of model weakness
- Comparing different model configurations
Generating Predictions
- Utilizing trained models for inference
- Preparation of new input data
- Performing batch and single-instance predictions
- Interpreting model outputs
- Analyzing classification probabilities
- Generating regression predictions
- Constructing a robust inference workflow
- Handling previously unseen data
- Managing prediction pipelines
Assessing Prediction Quality
- Analyzing the quality of predictions
- Comparing predictions against expected outcomes
- Identifying false positives and false negatives
- Conducting error analysis
- Evaluating model confidence levels
- Visualizing prediction results
- Detecting biases in data and predictions
- Enhancing model performance based on prediction insights
Model Debugging
- Identifying common training issues
- Diagnosing sources of incorrect predictions
- Debugging data pipeline inefficiencies
- Analyzing loss and metric behaviors
- Detecting exploding and vanishing gradients
- Diagnosing overfitting and underfitting conditions
- Inspecting model layers and internal outputs
- Utilizing TensorFlow debugging and profiling tools
- Improving model stability and overall performance
Model Persistence
- Saving trained model instances
- The TensorFlow SavedModel format
- Saving and restoring model weights
- Persisting model architecture and configuration
- Loading models for inference tasks
- Model versioning strategies
- Exporting models for deployment
- Managing model artifacts
- Preparing models for production environments
Cloud Deployment
- Introduction to cloud-based model deployment
- Preparing TensorFlow models for production use
- Serving models via APIs
- Core concepts of model serving
- Containerizing TensorFlow applications
- Cloud-based inference workflows
- Scaling model-serving workloads
- Monitoring deployed models
- Managing multiple model versions
- Key considerations for production deployment
Mobile Device Deployment
- Challenges specific to mobile machine learning
- Overview of TensorFlow Lite
- Converting TensorFlow models for mobile platforms
- Model optimization and size reduction
- Application of quantization
- Executing inference on mobile devices
- Managing mobile device resource constraints
- Integrating models into mobile applications
- Testing mobile inference performance
Embedded System (IoT) Deployment
- Machine learning on embedded devices
- Using TensorFlow Lite for embedded applications
- Addressing resource constraints and optimization
- Reducing model size and computational load
- Edge inference implementations
- Processing sensor and real-time data
- Executing predictions locally
- Considerations for power and memory usage
- Integrating TensorFlow models into IoT workflows
- Testing and monitoring edge deployments
Cross-Language Integration
- TensorFlow model interoperability
- Serving models through API interfaces
- Utilizing TensorFlow models in diverse programming environments
- Python-centric model integration
- Integrating models into web applications
- Model inference via REST-based services
- Incorporating TensorFlow into existing application stacks
- Data exchange and serialization protocols
- Considerations for production-grade integration
Troubleshooting
- Diagnosing TensorFlow installation issues
- Resolving model-building errors
- Debugging data preprocessing problems
- Addressing training failures
- Investigating GPU and TPU configuration issues
- Diagnosing memory and performance bottlenecks
- Resolving model loading and saving errors
- Debugging deployment-related issues
- Practical troubleshooting exercises
Conclusion
- Recap of TensorFlow 2.x core concepts
- Review of neural network and deep learning workflows
- Summary of data preparation and model development processes
- Overview of image classification techniques
- Review of training and evaluation methodologies
- Summary of model debugging and optimization practices
- Recap of cloud, mobile, and IoT deployment strategies
- Best practices for TensorFlow development
- Final practical exercise
- Open floor for questions and discussion
Requirements
- Programming proficiency in Python.
- Familiarity with the Linux command line interface.
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.