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 tools
- Workflows in machine learning and deep learning
- Overview of course objectives and practical tasks
TensorFlow 2.x vs Previous Versions — What's New
- Primary distinctions between TensorFlow 1.x and 2.x
- Eager execution features
- 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 TensorFlow 2.x development
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
- Integration with Jupyter notebooks
- Essential TensorFlow commands and operations
- Resolving installation and configuration challenges
Overview of TensorFlow 2.x Features and Architecture
- Core components and TensorFlow architecture
- Tensors and tensor operations
- Management of variables and constants
- Computational graphs and the role of eager execution
- Automatic differentiation techniques
- TensorFlow APIs and modular structure
- Integration with Keras
- Constructing data pipelines with
tf.data - Model serialization and the TensorFlow SavedModel format
- Development workflows within the TensorFlow ecosystem
How Neural Networks Work
- Fundamentals of artificial neural networks
- Structure of neurons, layers, and networks
- Types and applications of activation functions
- The process of forward propagation
- Selection of loss functions
- Backpropagation mechanics
- Gradient descent and optimization methods
- Learning rates and optimization strategies
- Managing overfitting and underfitting
- Application of regularization techniques
- Partitioning data into training, validation, and test sets
Using TensorFlow 2.x to Create Deep Learning Models
- Creation of tensors and variables
- Building neural networks via Keras
- Sequential and functional model APIs
- Definition of custom models and layers
- Configuration of optimizers
- Selection of appropriate loss functions
- Training models using
fit() - Implementation of custom training loops
- Use of callbacks for training monitoring
- Management of model checkpoints
Analyzing Data
- Understanding datasets for machine learning
- Exploration of structured and unstructured data
- Data visualization techniques
- Identification of patterns and anomalies
- Handling missing or inconsistent data
- Splitting data into training, validation, and test sets
- Feature selection strategies
- Preparation of datasets for TensorFlow models
Preprocessing Data
- Data normalization and standardization
- Encoding categorical variables
- Addressing missing values
- Feature scaling methods
- Image preprocessing techniques
- Text preprocessing strategies
- Data augmentation practices
- Construction of efficient input pipelines
- Utilization of
tf.data - Batching, shuffling, caching, and prefetching operations
- Data preparation for model training
Building a Model
- Selection of appropriate neural network architectures
- Definition of model inputs and outputs
- Construction of dense neural networks
- Selection of activation functions
- Model configuration for training
- Choice of optimizers and loss functions
- Model training and validation processes
- Monitoring of training metrics
- Strategies for improving model performance
- Prevention of overfitting
- Implementation of regularization and dropout
Implementing a State-of-the-Art Image Classifier
- Basics of image classification
- Preparation of image datasets
- Image normalization and augmentation
- Convolutional neural network architectures
- Convolution and pooling layers
- Design of image classification structures
- Transfer learning concepts
- Utilization of pretrained models
- Fine-tuning of pretrained networks
- Development of advanced image classifiers
- Evaluation of classification performance
Training the Model
- Configuration of training parameters
- Selection of batch size and epochs
- Optimizer selection criteria
- Learning-rate scheduling techniques
- Use of training callbacks
- Implementation of early stopping
- Model checkpointing procedures
- Monitoring of training progress
- Detection of overfitting
- Enhancement of training performance
- Considerations for distributed training
Training on a GPU vs a TPU
- Comparison of CPU, GPU, and TPU architectures
- Benefits of hardware acceleration
- TensorFlow configuration for GPU training
- Understanding TPU-based training
- Hardware selection for varying workloads
- Transferring computations between devices
- Management of memory and computational resources
- Comparison of training performance metrics
- Distributed and accelerated training strategies
Evaluating the Model
- Selection of appropriate evaluation metrics
- Accuracy, precision, recall, and F1 scores
- Metrics for regression evaluation
- Interpretation of confusion matrices
- Validation strategies
- Evaluation of classification models
- Assessment of model generalization
- Identification of model weaknesses
- Comparison of different model configurations
Making Predictions
- Application of trained models for inference
- Preparation of new input data
- Execution of batch and individual predictions
- Interpretation of model outputs
- Analysis of classification probabilities
- Regression prediction methods
- Construction of inference workflows
- Handling of unseen data
- Management of prediction pipelines
Evaluating the Predictions
- Analysis of prediction quality
- Comparison of predictions with expected results
- Identification of false positives and negatives
- Error analysis techniques
- Evaluation of model confidence levels
- Visualization of prediction outcomes
- Detection of data and prediction bias
- Performance improvement based on prediction analysis
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
- Use of TensorFlow debugging and profiling tools
- Enhancement of model stability and performance
Saving a Model
- Save procedures for trained models
- Details of the TensorFlow SavedModel format
- Saving and restoring model weights
- Persistence of model architecture and configuration
- Loading models for inference tasks
- Model versioning practices
- Exportation of 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
- Serving models via APIs
- Concepts of model serving
- Containerization of TensorFlow applications
- Cloud-based inference operations
- 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 in mobile machine learning
- Overview of TensorFlow Lite
- Conversion of TensorFlow models for mobile
- 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 of mobile inference performance
Deploying a Model to an Embedded System (IoT)
- Machine learning on embedded devices
- TensorFlow Lite for embedded applications
- Resource constraints and optimization strategies
- Reduction of model size and computational needs
- Edge inference concepts
- 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
- Use of TensorFlow models in various programming environments
- Python-based model integration
- Integration of models into web applications
- Model inference via REST-based services
- Incorporation of TensorFlow into existing applications
- Data exchange and serialization methods
- Production integration considerations
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 concerns
- Troubleshooting of model loading and saving
- Debugging of deployment challenges
- Practical troubleshooting exercises
Summary and Conclusion
- Review of TensorFlow 2.x concepts
- Review of neural network and deep learning workflows
- Review of data preparation and model development
- Review of image classification techniques
- Review of training and evaluation methods
- Review of model debugging and optimization
- Review of cloud, mobile, and IoT deployment
- Best practices for TensorFlow development
- Final practical exercise
- Questions and discussion
Requirements
- Programming proficiency in Python.
- Familiarity with the Linux command line.
Target Audience
- 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.