The project involves implementation of ESRGAN using PyTorch to enhance low resolution images having a lot of loss in details to images having great spatial resolution. If time permits , we shall build a basic web app to deploy the project . It will be extremely fun to learn about GANs and you shall gain a lot of insight on deep learning in general. One can check out https://youtu.be/WCAF3PNEc_c . Our project shall be on the same lines. You may also go through the Andrew NG course on CNN https://youtube.com/playlist?list=PLkDaE6sCZn6Gl29AoE31iwdVwSG-KnDzF. The research paper that we will largely be following https://arxiv.org/abs/1809.00219 .
Intermediate Python Skills and a lot of Enthusiasm to learn about Deep Learning and Neural Networks.
Week | Work |
---|---|
Week 1 | Brush up Python Programming and OOPs (Will be useful while building models) |
Week 2 | Learn about Neural Networks and a bit of CNNs as well |
Week 3 | More CNN and learning PyTorch |
Week 4 | Implementing Neural Networks using Pytorch and learning about GANs |
Week 5 | Reading the paper on ESRGAN |
Week 6 | Start Implementing the model on the lines of the architecture as mentioned in the paper |
Week 7 | Finish Coding the same and debugging |
Week 8 | Build a Basic Website to deploy the project |
During Week 0, we will review Python programming and object-oriented programming concepts. This knowledge will prove valuable when developing models.
Get Acquainted with neural networks and the math behind it. You need not understand every nitty-griity of it , but this shall be your building blocks of deep learning to develop the intuition.
- Introduction to Deep FeedForward Neural Networks
- If you want video lectures Check out lectures 3 and 4.
- Building neural networks from scratch in Python Go through how neural networks were implemented long before libraries existed. Please code it side by side on your own too.
The aim of this week is to get acquainted with PyTorch and develop an understanding of Convolutional Neural Networks (CNNs).
- PyTorch For Beginners (Tutorials 1-14)
- Convolutional Neural Network(CNN) with Practical Implementation
For this week's assignment, we would like you to implement a basic classification model utilizing Logistic Regression on the iris dataset in PyTorch. Also , please code side by side on your notebooks parallely while going through the PyTorch tutorials.
- Iris Dataset , you can refer numpy implementation to get an idea.
We will keep this week's learnings on the lighter side so that you can catch up. The aim is to get familiar with the nn.Module of PyTorch.
In this week's assignment , you will be applying a classification CNN using PyTorch to recognize digits on the MNIST dataset. One can refer to CNN with MNIST but should not copy from the same.
We won't give any coding assignments for this week , there's some reading material that we would like you to go through
We would like if you can take a look at the U-net model's architecture and check out my implemetation of the same so you are extremely comfortable with building complex models in PyTorch going forward. link
This week's goal is to carefully read and understand the ESRGAN paper, learning about its methods and what it means for the field.
- ESRGAN: Enhanced Super-Resolution Generative Adversarial Networks (Paper)
- ESRGAN Paper Walkthrough (Video)
- Google's Enhance AI - Super Resolution Is Here! (Video)
The objective for this week is to create a simple website that can be used to deploy the project.