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
- Introduction to TensorFlow and deep learning
- Use cases and applications of TensorFlow
- The TensorFlow ecosystem and associated tooling
- Workflows for machine learning and deep learning
- Overview of course objectives and practical exercises
TensorFlow 2.x vs. Previous Versions — Key Innovations
- Major distinctions between TensorFlow 1.x and 2.x
- Eager execution capabilities
- Simplified APIs and enhanced usability
- 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
Setting up TensorFlow 2.x
- Installing TensorFlow
- Configuring the Python environment
- Verifying the TensorFlow installation
- Installing and managing necessary dependencies
- Configuring CPU and GPU environments
- Utilizing TensorFlow with Jupyter notebooks
- Basic TensorFlow commands and operations
- Troubleshooting installation and configuration challenges
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 utilizing
tf.data - Model serialization and TensorFlow SavedModel
- TensorFlow ecosystem and development workflow
How Neural Networks Function
- 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
Creating Deep Learning Models with TensorFlow 2.x
- Creating tensors and variables
- Building neural networks using Keras
- Sequential and functional model APIs
- Defining custom models and layers
- Configuring optimizers
- Selecting appropriate loss functions
- Training models via
fit() - Implementing 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
- Constructing efficient input pipelines
- Leveraging
tf.data - Batching, shuffling, caching, and prefetching
- Preparing data for model training
Building a Model
- Selecting a suitable 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
- Enhancing 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
- Utilizing 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
- Benefits of hardware acceleration
- Configuring TensorFlow for GPU training
- Understanding TPU-based training
- Selecting hardware for various workloads
- Transferring 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
- Utilizing trained models for inference
- Preparing new input data
- Performing batch and individual predictions
- Interpreting model outputs
- Classification probabilities
- Regression predictions
- Constructing 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 issues
- 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
- Utilizing TensorFlow debugging and profiling tools
- Enhancing 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 via 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
- Utilizing TensorFlow models from various programming environments
- Python-based model integration
- Integrating models into web applications
- Model inference via REST-based services
- Integrating TensorFlow into existing applications
- Data exchange and serialization
- Production integration considerations
Troubleshooting
- Diagnosing TensorFlow installation issues
- Troubleshooting model-building errors
- Debugging data preprocessing problems
- 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 proficiency in Python.
- Familiarity with the Linux command line.
Target Audience
- 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.