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
- Overview of TensorFlow and deep learning principles
- Practical use cases and real-world applications
- The TensorFlow ecosystem and associated tooling
- Workflows in machine learning and deep learning
- Course objectives and an overview of practical exercises
TensorFlow 2.x vs Previous Versions — Key Enhancements
- Major differences between TensorFlow 1.x and 2.x
- Introduction to eager execution
- Streamlined APIs and enhanced usability
- Updates to model construction and training processes
- Using Keras as the primary high-level API
- Considerations for migrating existing TensorFlow applications
- Best practices for TensorFlow 2.x development
Setting Up the TensorFlow 2.x Environment
- Installing TensorFlow
- Configuring the Python environment
- Validating the TensorFlow installation
- Managing required dependencies
- Setting up CPU and GPU environments
- Utilizing TensorFlow within Jupyter notebooks
- Basic commands and tensor operations
- Resolving common installation and configuration issues
Understanding TensorFlow 2.x Architecture and Features
- Core components of the TensorFlow architecture
- Working with tensors and tensor operations
- Managing variables and constants
- Computational graphs and the mechanics of eager execution
- The role of automatic differentiation
- Overview of TensorFlow APIs and modules
- Integration of Keras
- Creating data pipelines using
tf.data - Model serialization and the TensorFlow SavedModel format
- The broader TensorFlow ecosystem and development workflows
Neural Network Fundamentals
- Basics of artificial neural networks
- Understanding neurons, layers, and network architecture
- The function of activation functions
- The process of forward propagation
- Choosing and applying loss functions
- The backpropagation algorithm
- Gradient descent and optimization techniques
- Adjusting learning rates and optimization strategies
- Recognizing overfitting and underfitting
- Applying regularization techniques
- Managing training, validation, and test datasets
Constructing Deep Learning Models with TensorFlow 2.x
- Creating tensors and defining variables
- Building neural networks using Keras
- Using Sequential and Functional model APIs
- Defining custom models and layers
- Configuring optimizers for training
- Selecting suitable loss functions
- Training models via
fit() - Implementing custom training loops
- Utilizing callbacks for training monitoring
- Managing model checkpoints
Data Analysis
- Understanding datasets in the context of machine learning
- Exploring structured and unstructured data types
- Techniques for data visualization
- Identifying patterns and anomalies in data
- Handling missing or inconsistent data points
- Splitting data into training, validation, and test sets
- Feature selection strategies
- Preparing datasets for TensorFlow model ingestion
Data Preprocessing
- Normalizing and standardizing data
- Encoding categorical variables
- Methods for handling missing values
- Feature scaling techniques
- Preprocessing images for analysis
- Preparing text data for processing
- Implementing data augmentation
- Building efficient input pipelines
- Utilizing
tf.datafor pipeline creation - Batching, shuffling, caching, and prefetching strategies
- Final preparation of data for model training
Model Construction
- Selecting an appropriate neural network architecture
- Defining model inputs and outputs
- Constructing dense neural networks
- Choosing suitable activation functions
- Configuring the model for the training phase
- Selecting optimizers and defining loss functions
- Training and validating the model
- Monitoring key training metrics
- Strategies to enhance model performance
- Preventing overfitting
- Implementing regularization and dropout
Implementing a State-of-the-Art Image Classifier
- Basics of image classification tasks
- Preparing image datasets for training
- Normalizing and augmenting image data
- Understanding Convolutional Neural Networks (CNNs)
- Using convolution and pooling layers
- Designing the architecture for image classification
- Applying transfer learning techniques
- Leveraging pretrained models
- Fine-tuning pretrained networks
- Building a robust and advanced image classifier
- Evaluating the performance of the classifier
Model Training
- Configuring key training parameters
- Optimizing batch size and epoch count
- Selecting the appropriate optimizer
- Implementing learning-rate schedules
- Utilizing training callbacks
- Applying early stopping techniques
- Checkpointing models during training
- Monitoring training progress in real-time
- Detecting signs of overfitting
- Enhancing overall training performance
- Considerations for distributed training
Training on GPU vs TPU
- Comparing CPU, GPU, and TPU architectures
- Benefits of hardware acceleration
- Configuring TensorFlow for GPU-accelerated training
- Understanding TPU-based training workflows
- Selecting the right hardware for specific workloads
- Managing computations across different devices
- Optimizing memory and computational resource usage
- Comparing training performance across hardware
- Strategies for distributed and accelerated training
Model Evaluation
- Selecting the right evaluation metrics
- Assessing accuracy, precision, recall, and F1 scores
- Metrics for evaluating regression models
- Interpreting confusion matrices
- Implementing effective validation strategies
- Evaluating the performance of classification models
- Assessing model generalization capabilities
- Identifying potential model weaknesses
- Comparing different model configurations
Making Predictions
- Using trained models for inference
- Preparing new input data for prediction
- Executing batch and individual predictions
- Interpreting model outputs accurately
- Analyzing classification probabilities
- Evaluating regression predictions
- Constructing a robust inference workflow
- Handling previously unseen data
- Managing the end-to-end prediction pipeline
Evaluating Prediction Quality
- Analyzing the quality of model predictions
- Comparing predictions against expected outcomes
- Identifying false positives and false negatives
- Conducting detailed error analysis
- Evaluating model confidence levels
- Visualizing prediction results
- Detecting bias in data and predictions
- Improving model performance based on prediction analysis
Model Debugging
- Identifying common training issues
- Diagnosing sources of incorrect predictions
- Debugging data pipeline errors
- Investigating loss and metric behavior
- Detecting exploding and vanishing gradients
- Diagnosing overfitting and underfitting scenarios
- Inspecting model layers and intermediate outputs
- Utilizing TensorFlow debugging and profiling tools
- Enhancing model stability and overall performance
Saving Models
- Strategies for saving trained models
- Understanding the TensorFlow SavedModel format
- Saving and restoring model weights
- Persisting model architecture and configuration
- Loading models for inference tasks
- Implementing model versioning
- Exporting models for deployment
- Managing model artifacts effectively
- Preparing models for production environments
Cloud Model 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
- Executing cloud-based inference
- Scaling model-serving workloads
- Monitoring deployed models in the cloud
- Managing different model versions
- Key considerations for production deployment
Mobile Model Deployment
- Challenges specific to mobile machine learning
- Introduction to TensorFlow Lite
- Converting TensorFlow models for mobile platforms
- Optimizing models for size and efficiency
- Applying quantization techniques
- Executing inference on mobile devices
- Managing mobile device resources
- Integrating models into mobile applications
- Testing mobile inference performance
Deployment to Embedded Systems (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
- Running predictions locally on the edge
- Considerations for power and memory usage
- Integrating TensorFlow models into IoT workflows
- Testing and monitoring edge deployments
Integrating Models with Different Languages
- Model interoperability in TensorFlow
- Serving models through standard APIs
- Using TensorFlow models from various programming environments
- Python-based integration patterns
- Integrating models into web applications
- Performing model inference via REST services
- Incorporating TensorFlow into existing application stacks
- Data exchange and serialization protocols
- Production integration best practices
Troubleshooting
- Diagnosing TensorFlow installation issues
- Resolving errors in model construction
- Debugging data preprocessing pipelines
- Addressing training failures
- Investigating GPU and TPU configuration problems
- Diagnosing memory and performance bottlenecks
- Troubleshooting model loading and saving issues
- Debugging deployment challenges
- Practical exercises for 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 methods
- 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
- 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.