Background
Global Azure Bootcamp is held every year in multiple locations across the world on the same day. This year's event was held on April 21st. I had attended the previous years' sessions at various locations. I had found them to be very informative and useful. This year I got an opportunity to give a presentation in the event on a topic related to Azure.. The event was organized by Microsoft User Group Hyderabad (mugh.net).
I made use of the exciting opportunity by giving a presentation on Deep Learning in Azure. The session got a huge positive response.
Here is the link to the sessions list.
Session
I introduced the concept of Artificial Intelligence and explained the difference between Machine Learning and Deep Learning. Then went on to explain how Deep Neural Networks process data and learn the features on their own through training. Later on how this knowledge gained during the training is used to do predictions like Regression or Classification.
As this session was about Azure, I used the Azure Deep Learning Virtual Machine to demonstrate the training and prediction. This Virtual Machine image is provided by Azure with Nvidia GPU and many Deep Learning frameworks pre-installed. Using a GPU in Deep Learning is almost a necessity nowadays as they reduce the training time drastically. This VM saves a lot of time for someone who wants to use ready made processing power.
Demo
As part of the demo I had used the MNIST data set and trained a Python-based Keras CNN model with the Microsoft CNTK backend. CNN is a type of Deep Neural Network popular in Image classification tasks. I used a Jupyter notebook to run the training code.. After training the model is saved to disk to be used for prediction.
I had demonstrated prediction in two different ways.
- Prediction using the MNIST test data set.
This involved selecting a random image from the MNIST test data and using the Keras model, that is built from the model files saved earlier after training, to do prediction.
- Prediction using the real-time handwritten digits.
To bring in more uncertainty I used a forked version of a Python Flask app that allows creating new hand-drawn digits and converted it to use the Keras and CNTK model for prediction.
Slides and Code
My slides from the session are at this link
The source code of my demos is in the following locations in GitHub
- Training and Prediction Jupyter notebooks is here
- Hand drawing and prediction Python Flask app is here
Conclusion
Presenting in Global Azure Bootcamp 2018 was a great opportunity which I think I made use of successfully. Learning and sharing gives me immense happiness. This event was culmination of it.