Deep Learning Frameworks

Deep Learning at Global Azure Bootcamp 2018


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 (

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.


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.


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


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.

Deep Learning

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 that is a free Deep Learning framework from Jeremy Howard. Here is the link to the online course.


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.

Shortcut to get current machine IP address

Search for machine IP address

On windows when you want to know the machine IP address you typically type ipconfig. This command provides too much of text and you literally have to go through all the junk to find the text that contains the IP address.

Here is a tip to extract the IP address from the output generated by this command. Type this command at the command prompt.

How this works?

The output of the ipconfig command is piped to the the next command through the ‘|’ symbol. The next command is ‘findstr’. This command searches for a substring in the given text. It works more like the ‘grep’ command in Unix/Linux.

The option ‘/i’ does a case insensitive search.

This command extracts the line that contains the text ‘ipv4’ while doing a cases insensitive search.

The command output looks something like this

ipconfig shortcut