Deep Learning at Global Azure Bootcamp 2018

Deep Learning at Global Azure Bootcamp 2018

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.

Please follow and like my blog:
Deep Learning presentation

Deep Learning presentation

Past few months I have been delving into the AI, ML and Deep Learning and related topics. My interest got triggered after coming across a session on Fast.ai that is a free Deep Learning framework from Jeremy Howard. Here is the link to the online course.

Background

In my college days we had customary lab assignment and competition to build AI based Machine vs Machine game of checkers. This involved using AI game trees (Min Max trees) to look ahead and evaluate board positions and choosing the right moves that will lead to a favorable board position. Our team won the competition by beating the opponent team. We had plans to use machine learning to improve the performance but had to stop due the time constraints as this was just a lab assignment.

Current Status

Fast forward two decades, I am back into rediscovering the AI with new enhancements made possible due to the advent of Cloud Computing and the availability of cheaper GPUs. Now the super computing is accessible to general public. The research in the AI domain has also undergone tremendous improvements leading to lot of optimizations and specialized neural networks to solve specific problems.

Enthusiastic to know about the latest developments, I enrolled myself into the Machine Learning course by Andrew Ng at Coursera. This course was mostly theory with weekly assignments. This is a good foundation to start learning Machine Learning.

Deep Learning Presentation

Based on whatever knowledge I have gained, I decided to give a presentation in the Hyderabad Software Architects group. This turned out to be a great success which led me to plan for a presentation on the Deep Learning. It took a lot of effort to understand the various options available in building Deep Learning networks. Finally, I gave a presentation on Deep Learning. Walking Tree Tech was kind enough to provide the venue.

My presentation was telecast live on Facebook. The recording of which is available at here.

As part of the demo, I have trained a Convolutional Neural Network using Keras with the Microsoft CNTK as the back-end. I have used the Azure Deep Learning Virtual machine to do the training. This Virtual Machine comes with NVidia K80 GPU. Using the GPU for training speeds up the training time.

The slides for the Deep Learning session are here.

The session was a great success. The interactive discussions helped everyone. I am planning to give some more sessions on Deep Learning which will delve into different Deep Learning architectures.

To summarize my experience and continue my commitment to blog at least once a week I am writing this blog on the session.

Please follow and like my blog: