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
- Introduction to TensorFlow and deep learning
- TensorFlow use cases and applications
- TensorFlow ecosystem and tooling
- Machine learning and deep learning workflows
- Overview of the course objectives and practical exercises
TensorFlow 2.x vs Previous Versions — What's New
- Key differences between TensorFlow 1.x and 2.x
- Eager execution
- Simplified APIs and improved usability
- Changes to model construction and training
- Introduction to Keras as the high-level API
- Migration considerations for existing TensorFlow applications
- TensorFlow 2.x best practices
Setting up TensorFlow 2.x
- Installing TensorFlow
- Configuring a Python environment
- Verifying the TensorFlow installation
- Installing and managing required dependencies
- Configuring CPU and GPU environments
- Using TensorFlow with Jupyter notebooks
- Basic TensorFlow commands and operations
- Troubleshooting installation and configuration issues
Overview of TensorFlow 2.x Features and Architecture
- TensorFlow architecture and core components
- Tensors and tensor operations
- Variables and constants
- Computational graphs and eager execution
- Automatic differentiation
- TensorFlow APIs and modules
- Keras integration
- Data pipelines with
tf.data - Model serialization and TensorFlow SavedModel
- TensorFlow ecosystem and development workflow
How Neural Networks Work
- Fundamentals of artificial neural networks
- Neurons, layers, and network architectures
- Activation functions
- Forward propagation
- Loss functions
- Backpropagation
- Gradient descent and optimization
- Learning rates and optimization strategies
- Overfitting and underfitting
- Regularization techniques
- Training, validation, and test datasets
Using TensorFlow 2.x to Create Deep Learning Models
- Creating tensors and variables
- Building neural networks with Keras
- Sequential and functional model APIs
- Defining custom models and layers
- Configuring optimizers
- Selecting appropriate loss functions
- Training models with
fit() - Custom training loops
- Callbacks and training monitoring
- Managing model checkpoints
Analyzing Data
- Understanding datasets for machine learning
- Exploring structured and unstructured data
- Data visualization
- Identifying patterns and anomalies
- Handling missing and inconsistent data
- Splitting data into training, validation, and test sets
- Selecting relevant features
- Preparing datasets for TensorFlow models
Preprocessing Data
- Data normalization and standardization
- Encoding categorical data
- Handling missing values
- Feature scaling
- Image preprocessing
- Text preprocessing
- Data augmentation
- Building efficient input pipelines
- Using
tf.data - Batching, shuffling, caching, and prefetching
- Preparing data for model training
Building a Model
- Selecting an appropriate neural network architecture
- Defining model inputs and outputs
- Creating dense neural networks
- Choosing activation functions
- Configuring the model for training
- Selecting optimizers and loss functions
- Training and validating the model
- Monitoring training metrics
- Improving model performance
- Preventing overfitting
- Implementing regularization and dropout
Implementing a State-of-the-Art Image Classifier
- Fundamentals of image classification
- Preparing image datasets
- Image normalization and augmentation
- Convolutional neural networks
- Convolution and pooling layers
- Designing an image classification architecture
- Transfer learning
- Using pretrained models
- Fine-tuning pretrained networks
- Building an advanced image classifier
- Evaluating classification performance
Training the Model
- Configuring training parameters
- Batch size and epochs
- Optimizer selection
- Learning-rate scheduling
- Training callbacks
- Early stopping
- Checkpointing models
- Monitoring training progress
- Detecting overfitting
- Improving training performance
- Distributed training considerations
Training on a GPU vs a TPU
- CPU, GPU, and TPU architectures
- Advantages of hardware acceleration
- Configuring TensorFlow for GPU training
- Understanding TPU-based training
- Selecting hardware for different workloads
- Moving computations between devices
- Managing memory and computational resources
- Comparing training performance
- Distributed and accelerated training strategies
Evaluating the Model
- Selecting appropriate evaluation metrics
- Accuracy, precision, recall, and F1 score
- Regression evaluation metrics
- Confusion matrices
- Validation strategies
- Evaluating classification models
- Evaluating model generalization
- Identifying model weaknesses
- Comparing different model configurations
Making Predictions
- Using trained models for inference
- Preparing new input data
- Performing batch and individual predictions
- Interpreting model outputs
- Classification probabilities
- Regression predictions
- Building an inference workflow
- Handling unseen data
- Managing prediction pipelines
Evaluating the Predictions
- Analyzing prediction quality
- Comparing predictions with expected results
- Identifying false positives and false negatives
- Error analysis
- Evaluating model confidence
- Visualizing prediction results
- Detecting data and prediction bias
- Improving model performance based on prediction analysis
Debugging the Model
- Identifying common training problems
- Diagnosing incorrect predictions
- Debugging data pipelines
- Investigating loss and metric behavior
- Detecting exploding and vanishing gradients
- Diagnosing overfitting and underfitting
- Inspecting model layers and outputs
- Using TensorFlow debugging and profiling tools
- Improving model stability and performance
Saving a Model
- Saving trained models
- TensorFlow SavedModel format
- Saving and restoring model weights
- Saving model architecture and configuration
- Loading models for inference
- Model versioning
- Exporting models for deployment
- Managing model artifacts
- Preparing models for production environments
Deploying a Model to the Cloud
- Introduction to cloud-based model deployment
- Preparing TensorFlow models for production
- Serving models through APIs
- Model serving concepts
- Containerizing TensorFlow applications
- Cloud-based inference
- Scaling model-serving workloads
- Monitoring deployed models
- Managing model versions
- Production deployment considerations
Deploying a Model to a Mobile Device
- Challenges of mobile machine learning
- TensorFlow Lite
- Converting TensorFlow models for mobile deployment
- Model optimization and size reduction
- Quantization
- Running inference on mobile devices
- 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
- TensorFlow Lite for embedded applications
- Resource constraints and optimization
- Reducing model size and computational requirements
- Edge inference
- Sensor and real-time data processing
- Running predictions locally
- Power and memory considerations
- Integrating TensorFlow models into IoT workflows
- Testing and monitoring edge deployments
Integrating a Model with Different Languages
- TensorFlow model interoperability
- Serving models through APIs
- Using TensorFlow models from different programming environments
- Python-based model integration
- Integrating models into web applications
- Model inference through REST-based services
- Integrating TensorFlow into existing applications
- Data exchange and serialization
- Production integration considerations
Troubleshooting
- Diagnosing TensorFlow installation problems
- Troubleshooting model-building errors
- Debugging data preprocessing issues
- Resolving training failures
- Investigating GPU and TPU configuration problems
- Diagnosing memory and performance issues
- Troubleshooting model loading and saving
- Debugging deployment problems
- 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
- Review of training and evaluation techniques
- 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 experience in Python.
- Experience with the Linux command line.
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.