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 of TensorFlow
- The TensorFlow ecosystem and associated tooling
- Workflows for machine learning and deep learning projects
- Course objectives and an overview of practical exercises
TensorFlow 2.x vs Earlier Versions — Key Updates
- Major distinctions between TensorFlow 1.x and 2.x
- Implementation of eager execution
- Simplified APIs and enhanced user experience
- Modifications to 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
Configuring TensorFlow 2.x
- Installing the TensorFlow framework
- Setting up the Python environment
- Verifying the correctness of the TensorFlow installation
- Managing and installing necessary dependencies
- Configuring environments for CPU and GPU usage
- Utilizing TensorFlow within Jupyter notebooks
- Basic TensorFlow commands and fundamental operations
- Resolving common installation and configuration issues
TensorFlow 2.x Features and Architecture Overview
- Core components and internal architecture of TensorFlow
- Understanding tensors and tensor operations
- Handling variables and constants
- Computational graphs versus eager execution
- Mechanisms of automatic differentiation
- Exploring TensorFlow APIs and modules
- Integration with Keras
- Creating data pipelines using
tf.data - Model serialization via TensorFlow SavedModel
- The TensorFlow ecosystem and development workflow
How Neural Networks Function
- Basics of artificial neural networks
- Neurons, layers, and network architecture design
- The role of activation functions
- The process of forward propagation
- Selection and use of loss functions
- Mechanisms of backpropagation
- Gradient descent and optimization algorithms
- Learning rate strategies and optimization techniques
- Identifying overfitting and underfitting
- Techniques for regularization
- Managing training, validation, and test datasets
Creating Deep Learning Models with TensorFlow 2.x
- Creating and manipulating tensors and variables
- Constructing neural networks using Keras
- Using Sequential and Functional model APIs
- Defining custom models and layers
- Configuring optimization algorithms
- Choosing suitable loss functions
- Training models using
fit() - Implementing custom training loops
- Utilizing callbacks for training monitoring
- Managing model checkpoints
Data Analysis
- Understanding datasets in the context of machine learning
- Exploring both structured and unstructured data types
- Techniques for data visualization
- Identifying underlying patterns and anomalies
- Strategies for handling missing or inconsistent data
- Partitioning data into training, validation, and test sets
- Feature selection methods
- Preparing datasets for TensorFlow model ingestion
Data Preprocessing
- Normalization and standardization of data
- Encoding techniques for categorical data
- Methods for addressing missing values
- Feature scaling procedures
- Preprocessing techniques for images
- Preprocessing techniques for text data
- Implementing data augmentation
- Building efficient input pipelines
- Utilizing
tf.data - Operations for batching, shuffling, caching, and prefetching
- Preparing data specifically for model training
Model Construction
- Selecting the appropriate neural network architecture
- Defining model inputs and outputs
- Building dense neural networks
- Selecting appropriate activation functions
- Configuring the model for the training phase
- Choosing optimizers and loss functions
- Training and validating the model
- Monitoring key training metrics
- Strategies for enhancing model performance
- Preventing overfitting
- Applying regularization and dropout techniques
Implementing a State-of-the-Art Image Classifier
- Core principles of image classification
- Preparing image datasets for training
- Image normalization and augmentation techniques
- Understanding Convolutional Neural Networks (CNNs)
- Utilizing convolution and pooling layers
- Designing the architecture for image classification
- Applying transfer learning methodologies
- Leveraging pretrained models
- Fine-tuning pretrained networks
- Constructing an advanced image classifier
- Evaluating the performance of the classifier
Model Training
- Configuring essential training parameters
- Setting batch sizes and epoch counts
- Selecting the appropriate optimizer
- Implementing learning-rate scheduling
- Utilizing training callbacks
- Applying early stopping techniques
- Creating model checkpoints
- Monitoring training progress in real-time
- 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-based training
- Understanding TPU-specific training workflows
- Selecting hardware based on specific workloads
- Managing computation movement between devices
- Optimizing memory and computational resource usage
- Comparing training performance across hardware types
- Strategies for distributed and accelerated training
Model Evaluation
- Choosing appropriate evaluation metrics
- Understanding accuracy, precision, recall, and F1 score
- Evaluation metrics for regression tasks
- Interpreting confusion matrices
- Various validation strategies
- Evaluating classification model performance
- Assessing model generalization capabilities
- Identifying specific model weaknesses
- Comparing outcomes from different model configurations
Generating Predictions
- Utilizing trained models for inference
- Preparing new input data for prediction
- Performing batch and individual predictions
- Interpreting model output values
- Understanding classification probabilities
- Analyzing regression predictions
- Building a robust inference workflow
- Handling previously unseen data
- Managing prediction pipelines in production
Evaluating Predictions
- Analyzing the quality of predictions
- Comparing predicted outputs with expected results
- Identifying false positives and false negatives
- Conducting detailed error analysis
- Evaluating model confidence levels
- Visualizing prediction results for insights
- Detecting biases in data and predictions
- Enhancing model performance based on prediction analysis
Model Debugging
- Identifying common issues during training
- Diagnosing the causes of incorrect predictions
- Debugging data pipeline issues
- Analyzing the behavior of loss and metrics
- Detecting exploding and vanishing gradients
- Diagnosing overfitting and underfitting scenarios
- Inspecting internal model layers and outputs
- Utilizing TensorFlow debugging and profiling tools
- Improving model stability and overall performance
Saving the Model
- Procedures for saving trained models
- The TensorFlow SavedModel format
- Saving and restoring model weights
- Persisting model architecture and configuration
- Loading models for subsequent inference
- Implementing model versioning
- Exporting models for deployment
- Managing model artifacts effectively
- Preparing models for production environments
Deploying Models to the Cloud
- Introduction to cloud-based model deployment strategies
- Preparing TensorFlow models for production readiness
- Serving models via API interfaces
- Concepts in model serving infrastructure
- Containerizing TensorFlow applications
- Implementing cloud-based inference
- Scaling model-serving workloads
- Monitoring models in a deployed state
- Managing multiple model versions
- Key considerations for production deployment
Deploying Models to Mobile Devices
- Challenges specific to mobile machine learning
- Introduction to TensorFlow Lite
- Converting TensorFlow models for mobile compatibility
- Model optimization and size reduction techniques
- Applying quantization methods
- Executing inference on mobile hardware
- Managing resource constraints on mobile devices
- Integrating models into mobile application frameworks
- Testing inference performance on mobile platforms
Deploying Models to Embedded Systems (IoT)
- Machine learning applications on embedded devices
- Using TensorFlow Lite for embedded scenarios
- Addressing resource constraints and optimization
- Reducing model size and computational demands
- Implementing edge inference
- Processing sensor and real-time data
- Running predictions locally on the device
- Considering power consumption and memory limits
- Integrating TensorFlow models into IoT workflows
- Testing and monitoring edge deployments
Integrating Models with Various Languages
- Interoperability of TensorFlow models
- Serving models through API endpoints
- Utilizing TensorFlow models across different programming environments
- Python-based model integration patterns
- Integrating models into web applications
- Model inference via REST-based services
- Integrating TensorFlow into existing application stacks
- Data exchange and serialization formats
- Considerations for production-level integration
Troubleshooting
- Diagnosing issues with TensorFlow installation
- Troubleshooting errors in model construction
- Debugging problems in data preprocessing
- Resolving failures during the training process
- Investigating configuration issues with GPU and TPU
- Diagnosing memory leaks and performance bottlenecks
- Troubleshooting model loading and saving errors
- Debugging deployment-related problems
- Practical exercises in troubleshooting
Summary and Conclusion
- Review of core TensorFlow 2.x concepts
- Recap of neural network and deep learning workflows
- Summary of data preparation and model development
- Review of image classification techniques
- Recap of training and evaluation methodologies
- Summary 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
- Proficiency in Python programming.
- Familiarity with the Linux command line.
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.