Instructed by
Laurence Moroney
Welcome! This repository contains the projects and exercises I completed during the TensorFlow: Advanced Techniques Specialization by DeepLearning.AI on Coursera. This advanced program strengthened my expertise in TensorFlow 2.x and Keras, providing me with the skills to design, build, and optimize sophisticated deep learning models. Through hands-on projects, I explored:
-
Advanced Model Architectures & Customization:
- Built non-sequential models using the Functional API, implementing custom layers, loss functions, and multi-input/output workflows.
- Extracted features and performed fine-tuning on pre-trained models like VGG16/19, ResNet50 and InceptionV3 for custom tasks.
- Built FCN-8 and U-Net from scratch, and fine-tuned RetinaNet & Faster R-CNN using the TensorFlow Object Detection API.
- Applied transfer learning with MobileNetV2 for image classification tasks using TensorFlow.
-
Distributed Training Strategies:
tf.distribute.MirroredStrategyfor synchronous training on multiple GPUs of a single machine, efficiently replicating the model and synchronizing gradients.tf.distribute.experimental.TPUStrategyto accelerate and scale model training on TPUs for maximum performance.tf.distribute.OneDeviceStrategyfor debugging and baseline performance on a single device (CPU/GPU).
-
Advanced Computer Vision & Evaluation:
- Gained practical experience in key CV tasks: object detection, image segmentation (semantic and instance), and model interpretability using Grad-CAM.
- Moved beyond basic accuracy; evaluated segmentation performance using standard metrics like Intersection over Union (IoU) and Dice Coefficient.
-
Generative Deep Learning:
- Developed and trained Variational Autoencoders (VAEs) for image generation and latent space exploration.
- Built and tuned Generative Adversarial Networks (GANs), including DCGAN for simple generation and CycleGAN for unpaired image-to-image translation.
- Implemented Neural Style Transfer to combine the content and style of different images.
-
Low-Level Control & Optimization:
- Implemented custom training loops using
tf.GradientTapefor maximum flexibility over the training process.
- Implemented custom training loops using
Completing this specialization empowered me to tackle Real-World Challenges; from building exotic model topologies to deploying scalable AI solutions. The projects here reflect my journey through advanced TensorFlow capabilities, blending theory with practical implementation.
Feel free to explore the assignments, labs and quizzes I’ve shared. Hope you find them useful!
Please, check Coursera Honor Code before you take a look at the assignments.
For more you can check course info.
-
-
-
Assignment:
- Multiple Output Models using Keras Functional API: C1W1_Assignment.ipynb
-
Ungraded Labs:
- Functional API Practice: C1_W1_Lab_1_functional-practice.ipynb
- Multi-output: C1_W1_Lab_2_multi-output.ipynb
- Siamese network: C1_W1_Lab_3_siamese-network.ipynb
-
Quiz:
-
-
Week 2 - Custom Loss Functions
-
Assignment:
- Creating a custom loss function: C1W2_Assignment.ipynb
-
Ungraded Labs:
- Huber Loss lab: C1_W2_Lab_1_huber-loss.ipynb
- Huber Loss object: C1_W2_Lab_2_huber-object-loss.ipynb
- Contrastive loss in the siamese network: C1_W1_Lab_3_siamese-network.ipynb
-
Quiz:
-
-
-
Assignment:
- Implement a Quadratic Layer: C1W3_Assignment.ipynb
-
Ungraded Labs:
- Lambda layer: C1_W3_Lab_1_lambda-layer.ipynb
- Custom dense layer: C1_W3_Lab_2_custom-dense-layer.ipynb
- Activation in a custom layer: C1_W3_Lab_3_custom-layer-activation.ipynb
-
Quiz:
-
-
-
Assignment:
- Create a VGG network: C1W4_Assignment.ipynb
-
Ungraded Labs:
- Build a basic model: C1_W4_Lab_1_basic-model.ipynb
- Build a ResNet model: C1_W4_Lab_2_resnet-example.ipynb
-
Quiz:
-
-
Week 5 - Bonus Content (Callbacks)
-
Ungraded Labs:
- Built-in Callbacks: C1_W5_Lab_1_exploring-callbacks.ipynb
- Custom Callbacks: C1_W5_Lab_2_custom-callbacks.ipynb
-
-
-
-
Week 1 - Differentiation and Gradients
-
Assignment:
- Basic Tensor Operations: C2W1_Assignment.ipynb
-
Ungraded Labs:
- Basic Tensors: C2_W1_Lab_1_basic-tensors.ipynb
- Gradient Tape Basics: C2_W1_Lab_2_gradient-tape-basics.ipynb
-
Quiz:
-
-
-
Assignment:
- Breast Cancer Prediction: C2W2_Assignment.ipynb
-
Ungraded Labs:
- Training Basics: C2_W2_Lab_1_training-basics.ipynb
- Fashion MNIST using Custom Training Loop: C2_W2_Lab_2_training-categorical.ipynb
-
Quiz:
-
-
-
Assignment:
- Horse or Human?: C2W3_Assignment.ipynb
-
Ungraded Labs:
- AutoGraph Basics: C2_W3_Lab_1_autograph-basics.ipynb
- AutoGraph: C2_W3_Lab_2-graphs-for-complex-code.ipynb
-
Quiz:
-
-
-
Assignment:
- Distributed Strategy: C2W4_Assignment.ipynb
-
Ungraded Labs:
- Mirrored Strategy: C2_W4_Lab_1_basic-mirrored-strategy.ipynb
- Multi GPU Mirrored Strategy: C2_W4_Lab_2_multi-GPU-mirrored-strategy.ipynb
- TPU Strategy: C2_W4_Lab_3_using-TPU-strategy.ipynb
- One Device Strategy: C2_W4_Lab_4_one-device-strategy.ipynb
-
Quiz:
-
-
-
-
Week 1 - Introduction to Computer Vision
-
Assignment:
- Bird Boxes: C3W1_Assignment.ipynb
-
Ungraded Labs:
- Transfer Learning: C3_W1_Lab_1_transfer_learning_cats_dogs.ipynb
- Transfer Learning with ResNet 50: C3_W1_Lab_2_Transfer_Learning_CIFAR_10.ipynb
- Image Classification and Object Localization: C3_W1_Lab_3_Object_Localization.ipynb
-
Quiz:
-
-
-
Assignment:
- Zombie Detector: C3W2_Assignment.ipynb
-
Ungraded Labs:
- Implement Simple Object Detection: C3_W2_Lab_1_Simple_Object_Detection.ipynb
- Predicting Bounding Boxes for Object Detection: C3_W2_Lab_2_Object_Detection.ipynb
-
Quiz:
-
-
-
Assignment:
- Image Segmentation of Handwritten Digits: C3W3_Assignment.ipynb
-
Ungraded Labs:
- Implement a Fully Convolutional Neural Network: C3_W3_Lab_1_VGG16-FCN8-CamVid.ipynb
- Implement a UNet: C3_W3_Lab_2_OxfordPets-UNet.ipynb
- Instance Segmentation Demo: C3_W3_Lab_3_Mask-RCNN-ImageSegmentation.ipynb
-
Quiz:
-
-
Week 4 - Visualization and Interpretability
-
Assignment:
- Cats vs Dogs Saliency Maps: C3W4_Assignment.ipynb
-
Ungraded Labs:
- Class Activation Maps with Fashion MNIST: C3_W4_Lab_1_FashionMNIST-CAM.ipynb
- Class Activation Maps "Cats vs Dogs": C3_W4_Lab_2_CatsDogs-CAM.ipynb
- Saliency Maps: C3_W4_Lab_3_Saliency.ipynb
- GradCAM: C3_W4_Lab_4_GradCam.ipynb
-
Quiz:
-
-
-
-
-
Assignment:
- Style Transfer Dog: C4W1_Assignment.ipynb
-
Ungraded Labs:
- Neural Style Transfer: C4_W1_Lab_1_Neural_Style_Transfer.ipynb
- Fast Neural Style Transfer: C4_W1_Lab_2_Fast_NST.ipynb
-
Quiz:
-
-
-
Assignment:
- AutoEncoder Model Loss and Accuracy: C4W2_Assignment.ipynb
-
Ungraded Labs:
- First Autoencoder: C4_W2_Lab_1_FirstAutoEncoder.ipynb
- MNIST AutoEncoder: C4_W2_Lab_2_MNIST_Autoencoder.ipynb
- MNIST Deep AutoEncoder: C4_W2_Lab_3_MNIST_DeepAutoencoder.ipynb
- Fashion MNIST - CNN AutoEncoder: C4_W2_Lab_4_FashionMNIST_CNNAutoEncoder.ipynb
- Fashion MNIST - Noisy CNN AutoEncoder: C4_W2_Lab_5_FashionMNIST_NoisyCNNAutoEncoder.ipynb
-
Quiz:
-
-
Week 3 - Variational AutoEncoders
-
Assignment:
- Anime Faces: C4W3_Assignment.ipynb
-
Ungraded Labs:
- MNIST Variational AutoEncoder: C4_W3_Lab_1_VAE_MNIST.ipynb
-
Quiz:
-
-
-
Assignment:
- Generated Hands: C4W4_Assignment.ipynb
-
Ungraded Labs:
- First GAN: C4_W4_Lab_1_First_GAN.ipynb
- First DCGAN: C4_W4_Lab_2_First_DCGAN.ipynb
- CelebA GAN Experiments: C4_W4_Lab_3_CelebA_GAN_Experiments.ipynb
-
Quiz:
-
-
DeepLearning.AI TensorFlow Advanced Techniques Specialization






