I have just finished my first Kaggle competition, the 2018 Data Science Bowl! For this competition I teamed up with another guy from Vancouver named Mahmoud, who was also new to Kaggle. We did really well, placing in the top 1.7% of all entrants (60/3634). We will probably make a presentation about this competition for the Vancouver Learn Data Science meetup. If we do, I will post the presentation slides on my GitHub page.
Since neither Mahmoud nor I had a GPU (Graphics Processing Unit, an NVIDIA graphics card used for fast numerical calculations), during the competition we were looking for one we could use to quickly train our convolutional neural network. I ended up remotely using a GPU of another member of our meetup (Matt), for which I am very grateful to him. However, I also investigated the possibility of using a virtual cloud machine. I chose Google Cloud since I had about $400 in free credits on it that are set to expire in July.
Well, I found out that it is surprisingly hard to set up a deep learning machine if you have never created one before! It took me about 20 frustrating hours to get everything working. While there are some good tutorials online, most of them do not refer to the recent versions of the software that I needed. Installing the OpenCV package for image processing was especially tricky for Python 3.6, which is the version I wanted to use since I use it on my home machine.
Based on the difficulties that I encountered and was able to overcome, I created my own tutorial/list of instructions for creating a deep learning machine on a Ubuntu 16.04 computer with a GPU. This tutorial can be found here. It doesn’t have a lot of explanations, but I have verified that following the instructions exactly should result in a working deep learning environment. I hope that other people will find it useful.
Over the next couple of weeks, I am planning to keep learning more about deep neural networks, especially their use for working with images. I think this is the area I want to concentrate on, at least for the moment.