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
- Foundations 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
- Course objectives and overview of practical exercises
TensorFlow 2.x vs. Previous Versions — What’s New
- Key distinctions between TensorFlow 1.x and 2.x
- The shift to eager execution
- Simplified APIs and enhanced usability
- Evolution in model construction and training processes
- Introduction to Keras as the high-level API
- Considerations for migrating existing TensorFlow applications
- Best practices for TensorFlow 2.x development
Setting Up TensorFlow 2.x
- Installation procedures for TensorFlow
- Configuring the Python environment
- Validating the TensorFlow installation
- Managing required dependencies
- Setting up CPU and GPU environments
- 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
- Tensors and tensor-level operations
- Managing variables and constants
- Computational graphs and the benefits of eager execution
- Mechanisms for 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
Understanding Neural Networks
- Basics of artificial neural networks
- Structure of neurons, layers, and architectures
- Roles of activation functions
- The process of forward propagation
- Selection and application of loss functions
- The mechanics of backpropagation
- Gradient descent and optimization algorithms
- Strategies for learning rates and optimization
- Identifying overfitting and underfitting
- Applying regularization techniques
- Managing training, validation, and test datasets
Creating Deep Learning Models with TensorFlow 2.x
- Generating tensors and variables
- Constructing neural networks using Keras
- Utilizing Sequential and Functional API styles
- Defining custom models and layers
- Configuring optimization strategies
- Choosing suitable loss functions
- Training models via the
fit()method - Implementing custom training loops
- Monitoring training with callbacks
- Managing model checkpoints
Data Analysis
- Understanding datasets in the context of machine learning
- Exploring structured and unstructured data sources
- Techniques for data visualization
- Identifying patterns and anomalies
- Handling missing and inconsistent data points
- Partitioning data into training, validation, and test sets
- Feature selection strategies
- Preparing datasets for TensorFlow consumption
Preprocessing Data
- Normalization and standardization of data
- Encoding methods for categorical data
- Strategies for handling missing values
- Feature scaling techniques
- Image preprocessing workflows
- Text preprocessing techniques
- Implementing data augmentation
- Building efficient input pipelines
- Leveraging
tf.data - Optimizations like batching, shuffling, caching, and prefetching
- Final data preparation for model training
Building a Model
- Selecting appropriate neural network architectures
- Defining model inputs and outputs
- Constructing dense neural networks
- Choosing effective activation functions
- Configuring models for optimal training
- Selecting optimizers and loss functions
- Training and validating model performance
- Monitoring key training metrics
- Strategies for enhancing model performance
- Mitigating overfitting
- Implementing regularization and dropout
Implementing a State-of-the-Art Image Classifier
- Fundamentals of image classification
- Preparing image datasets
- Image normalization and augmentation techniques
- Understanding Convolutional Neural Networks (CNNs)
- Utilizing convolution and pooling layers
- Designing architectures for image classification
- Applying transfer learning concepts
- Leveraging pretrained models
- Fine-tuning pretrained networks
- Constructing an advanced image classifier
- Evaluating classification accuracy
Training the Model
- Configuring essential training parameters
- Managing batch sizes and epochs
- Selecting appropriate optimizers
- Implementing learning-rate scheduling
- Using training callbacks
- Applying early stopping techniques
- Checkpointing model states
- Monitoring training progress
- Detecting 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 training
- Understanding TPU-based training workflows
- Matching hardware to specific workloads
- Orchestrating computations across devices
- Managing memory and computational resources
- Benchmarking training performance
- Strategies for distributed and accelerated training
Evaluating the Model
- Selecting relevant evaluation metrics
- Metrics for accuracy, precision, recall, and F1 score
- Evaluation metrics for regression tasks
- Interpreting confusion matrices
- Validation methodologies
- Assessing classification model performance
- Evaluating generalization capabilities
- Identifying model weaknesses
- Comparing different model configurations
Making Predictions
- Utilizing trained models for inference
- Preparing new input data
- Executing batch and individual predictions
- Interpreting model outputs
- Understanding classification probabilities
- Generating regression predictions
- Building robust inference workflows
- Handling unseen data scenarios
- Managing prediction pipelines
Evaluating the Predictions
- Analyzing the quality of predictions
- Comparing predicted vs. expected results
- Identifying false positives and false negatives
- Conducting error analysis
- Assessing model confidence levels
- Visualizing prediction outcomes
- Detecting data and prediction bias
- Enhancing model performance based on predictive analysis
Debugging the Model
- Identifying common training pitfalls
- Diagnosing sources of incorrect predictions
- Debugging data pipeline issues
- Analyzing loss and metric behaviors
- Detecting exploding and vanishing gradients
- Diagnosing overfitting and underfitting
- Inspecting model layers and intermediate outputs
- Leveraging TensorFlow debugging and profiling tools
- Improving model stability and performance
Saving a Model
- Preserving trained models
- Using the TensorFlow SavedModel format
- Saving and restoring model weights
- Preserving model architecture and configurations
- 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 deployment strategies
- Preparing TensorFlow models for production
- Serving models via APIs
- Concepts in model serving
- Containerizing TensorFlow applications
- Executing cloud-based inference
- Scaling model-serving workloads
- Monitoring deployed models
- Managing model versions in production
- Key considerations for production deployment
Deploying a Model to a Mobile Device
- Challenges inherent in mobile machine learning
- Introduction to TensorFlow Lite
- Converting TensorFlow models for mobile platforms
- Optimizing model size and performance
- Applying quantization techniques
- Running inference on mobile hardware
- 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
- Navigating resource constraints and optimization
- Reducing model size and computational load
- Implementing edge inference
- Processing sensor and real-time data
- Executing local predictions
- 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 interfaces
- Utilizing TensorFlow models across programming environments
- Python-based model integration strategies
- Integrating models into web applications
- Inference via REST-based services
- Embedding TensorFlow into existing applications
- Data exchange and serialization formats
- Considerations for production-level integration
Troubleshooting
- Diagnosing TensorFlow installation issues
- Troubleshooting model-building errors
- 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
- 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
- Summary of image classification techniques
- Recap of training and evaluation methods
- Review 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.
- Familiarity with the Linux command line interface.
Target Audience
- Software 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.