Posts

Showing posts from November, 2018

Flask, Docker and inferences via a server/cloud

While my Protein Classification model was churning in the background, I focused on learning skills and technologies that would help 'production-ize' ML models for inference. This would mean that I could host my ML models on a server which would mean that a useful model would be available to more people than just me. I learnt about the Flask framework through which one could expose python functions and have it return some data. In the ML case, this would mean having Flask expose a function where inference is performed and then send the results back to the user. I also learnt about Docker and how I could build and run an image with the ML model inference being served by an Apache server, with the help of Flask and WSGI (a bridge between Flask and Apache). Ill update this post when I have something working. UPDATE 1: I obtained a free $300 credit to play with Google's cloud services and they did have an ML Engine to work with so I decided to give it a shot be...

The Human Protein Atlas Image Competition on Kaggle

Just before the RSNA Penumonia Competition drew to a close, another interesting competition opened up, namely the Human Protein Atlas image classification challenge. Link:  kaggle.com/c/human-protein-atlas-image-classification The goal of the competition is to detect cell features from an image taken by a microscope. Around 30,000 512x512 images are provided which is the training set and around 11,000 images are provided as a test set. The labeled data is provided in a csv file. I started off with the data exploration kernel to have a feel for the data. Then through the discussion forums I found a useful starter code that used transfer learning. Link:  https://www.kaggle.com/mathormad/inceptionv3-baseline-lb-0-379 Instead of inception network, I decided to use ResNet50 network with the imagenet weights. I also tested results on both augmented data and the original one. The augmented data was giving me a boost of at least 0.05-0.06 on the public leaderboard. ...