First off, thank you everyone for your wishes ! It feels awesome to receive so many blessings !
I will straight away admit I am a lazy bum for writing blogs. YES, You read that right. The frequency of my posts is as sparse as some volcanos erupting after long time sleep. But it’s not what I take pride in and probably have to redeem myself in.
So, What happened in these past 2 months ?
I would say a lot. Let’s begin from the start.
-
Rejection from GSoC 2018
Possibly the low point of these two months, at the end of April, just a day before end semester exams, I received an email from Google stating that I have not been selected for GSoC ‘18. It does feel bad to lose out on a good opportunity after putting in hours of hard work, not just me but also of my friends who reviewed and suggested changes to my proposal. But, even in preparing the proposal and other things, I ventured out in some new field - ML in space science. Overall a great experience for me. -
Followed by Viva and End semester
The very next day of the email, my semester exams started and I got busy with it. It was followed by the practical and viva exams. During this period, I finished up on some long hanging projects of mine and started some new ones too. Most notably was the Twitter Sentiment Dashboard, check it out here, which I made using Dash.Among the ones that I started is the OPENAI Jokes model - A deep learning model intended to produce good and humourous jokes after its training is done. It’s still a work in progress and we are quite searching for some new ideas for models.
Along with this, I, with a friend took part in an online AI hackathon hosted by Techgig and Jio. The problem statement was to build a ML or DL model which could predict the winner of an IPL match, given some basic data of the match. The dataset for this challenge consisted of every data of all the matches of previous editions of IPL (IPL fever was on this time !). We managed to create a model in literally two days and submitted it. And we ended up being the round 2 champions out of 8514 other participants. (Results got announced two weeks ago.)
-
No internship till now, I receive an offer from a company
First week of may, I am getting ready to how to spend what looks like a without internship summer. Then, there came a company, I applied, got through the interview (which was mostly based on python and JavaScript) and they offered me a SDE Intern profile. -
I decline !
Ever run for something your entire life or some part of life and when life offers it to you, you decline the very thing for which you have struggled.
Now some may say this was foolish of you, but I thought a lot about it. Yes, I thought it through on a trip to the Elephanta caves :) I declined the offer and the offer was made again with some negotiations. And, I declined again. In just a matter of two days, I was without an internship again.( You got to think you’re never wrong ;) LP). -
Start of long 8 weeks holidays
So what now ? How do I spend the next 8 weeks ? The 8 weeks started on 18th May, 2018. - What I planned in the first week ?
I will lay here almost the entire plan for 8 weeks that I intended to do.- Learn Deep Learning from scratch - the basic concepts
- Learn Keras and Pytorch frameworks
- Read a couple of deep learning research papers
- Learn about CNNs in deep from the basic concepts
- Study and implement popular CNN architectures like VGG, ResNet, Inception, etc.
- Learn about feature extraction, fine-tuning, data augmentation and implement these either through keras or pytorch.
- Learn about RNNs, stuff like SGDR, CLR, etc. Implement these if possible.
- Read 5-6 books either technical, fiction or non-fiction.
- Exercise daily. Stay fit and healthy.
- What I actually did in these 6 weeks ?
-
Learnt about deep learning concepts - the most basic too!
-
Learnt in-depth about CNNs - filters, strides, activation functions,etc.
-
Learnt Keras - Yes, I finally learnt the library to carry out and experiment some cool things. I went through the entire documentation and a book too.
-
Read a couple of deep learning research papers on CNNs, RNNs, filters and their representation in CNNs, etc. Reading two - three blogs daily on deep learning.
-
Studied and implemented popular CNN architectures like VGG, ResNet, Inception, etc. Although mine are not perfect, they do work out well. I did learn about designing CNNs though, for competitions such as the ImageNet and why these architectures are SOTA. The inception block in Inception, parallel blocks in ResNet are some of the things I learnt by going through the papers of these architectures. The reason for implementing such different architectures is also the fact that it served as a nice intro to designing your own network for a given problem.
-
Learnt about feature extraction, fine-tuning, data augmentation and implemented these through keras - Experimenting with keras on VGG model gave me some very good insights !
-
I also read and sort of implemented the CLR (a very naïve implementation).Along with this, I read through the paper and blogs about both CLR, SGDR and their differences and why they are important.
-
Yes,I kept the exercise promise. Every day I either go for cycling or walking at least 3.5 to 5 km.
-
I went through the FASTAI deep learning course (2017 version), the keras one and learnt a few tricks. This course is really awesome and do watch if you get some time. They now have switched to pytorch for 2018 version which I will be going through in probably the next couple of weeks. Additionally, I went through the Stanford CS 231N course lectures and materials for learning CNNs in-depth. Much of the maths made sense and where it didn’t, the accompanying code got me through. Overall, a complete bumper prize for DL enthusiast.
-
I started a new project called pypackages which is a quick walk-through guide on the different modules in python. It started as a personal refresher for python untill I decided to put it on GitHub for everyone to use. It’s still an ongoing work. Apart from this, I will start a new project tomorrow of Visual Question Answering aka VQA challenge.
- In these 6 weeks, apart from doing above stated things, I managed to read 4 books completely and some are ongoing namely -
- Data structures and algorithms in Java
- Deep Learning in python by FChollet, the creator of Keras (Awesome book by the way!)
- Data structures and algorithms Made Easy
- Seveneves by Neal Stephenson, a sci-fi novel
- Competitive Programming 3 by Steven and Felix Halim (A superb book, I wish I could have found this earlier in my engg !) (ongoing)
- The biography of Elon Musk by Ashlee Vance (ongoing)
- Now, you may be wondering, does this guy leave his laptop or not? Yes, I do ! I am watching the ongoing FIFA World Cup. Also, I play PUBG Mobile daily two hours with my friends to get refreshed apart from walking or cycling. Ask my friends, how well do I play ??
-
-
What’s next now ? Why this post now ?
The next thing on the list is learning pytorch and making some cool projects, completing those which are already ongoing and finishing up the books.
The only reason for this post now is the things I have done in last six weeks, where my mind was often in the state of Have I made a mistake leaving the internship ? They say a third year internship is very important. I don’t know what to say anymore. One more reason for this post now can be thought of a kind of memento for what I have done. - What I learned ?
Probably the things one runs behind are not worth running so much. It’s better to take a hard decision for future betterment. Working on something I like is better than working on something I wouldn’t see myself working on in the future. There is lot to experiment around us. I produced a large volume of code based on dirty writing and testing, fortunately, most of which will never be made public. It lies safe on my cloud VM and I will probably purge the whole VM itself after sometime. But the fact that I proved my decision right is what I take the complete pride in.
That being said stay tuned for the post on FIFA Player’s Analysis which I promise will be completed by the next week.