Azure ML Studio: Deep Learning Inference with Azure Web Services

In this project, we will use Multiclass Neural Network module to train a neural network to recognize handwritten digits. The data used in this experiment is a popular MNIST dataset which consists of 70,000 grayscale images of hand-written digits.

We are going to deploy the trained neural network model as an Azure Web service. Azure Machine Learning Studio web services provide an interface between an application and a Machine Learning Studio workflow scoring model. An external application can communicate with a Machine Learning Studio workflow scoring model in real time. A call to a Machine Learning Studio web service returns prediction results to an external application. To make a call to a web service, we pass an API key using Python that was created when we deployed the web service. A Machine Learning Studio web service is based on REST, a popular architecture choice for web programming projects.

Azure Machine Learning Studio has two types of web services:

  • Request-Response Service (RRS): A low latency, highly scalable service that scores a single data record.
  • Batch Execution Service (BES): An asynchronous service that scores a batch of data records.

We will write a Python application to use the Batch Execution Service and predict the class labels of handwritten digits.

Join for $9.99
Azure ML Studio: Deep Learning Inference with Azure Web Services

Task List


We will cover the following tasks in 41 minutes:


Introduction and Overview

In order to better understand our problem, we need to look at the data. So in this task, we create a new experiment in Azure ML Studio and import our data. The data used in this experiment is a popular MNIST dataset which consists of 70,000 grayscale images of hand-written digits.


Data Preparation

Once we have imported the data, we can begin pre-processing it. We will use the Edit Metadata module to convert the class labels to categorical feature types.

Next, we can use the Split Data module to partition the rows of our dataframe into a 70% training split and a 30% test split. We are now ready to use the data to train and evaluate our neural network model.


Train and Evaluate Multiclass Neural Network

In this task, we demonstrate the usage of the Multiclass Neural Network module to train a neural network that can be used to predict a target having multiple values. We will start with the most basic type of neural network: one hidden layer, fully connected.

Once training is complete, we will score and evaluate our classifier on the test set using the Score Model and Evaluate Model modules.


Create and Deploy Predictive Web Service

Once we’ve trained our neural network model, we’re ready to convert our training experiment into a predictive experiment to score new data.

By converting to a predictive experiment, we’re getting our trained model ready to be deployed as a scoring web service. Users of the web service can send input data to our model and our model will send back the prediction results. As we convert to a predictive experiment, keep in mind how you expect your model to be used by others.

Now that the predictive experiment has been prepared, we can deploy it as a new (Resource Manager-based) Azure web service. Using the web service, users can send data to our model and the model will return its predictions.


Inference Using the Web Service API

To test our new web service, click Test web service under common tasks. On the Test page, we can test our web service as a Request-Response Service (RRS) or a Batch Execution service (BES).

Now that our web service is deployed from Machine Learning Studio, we can send new data to the service and receive responses programatically. Using our web service API key and other authenticating information, we will build a Python web app to send data about handwritten digits to our web service and receive the results.

Watch Preview

Preview the instructions that you will follow along in a hands-on session in your browser.

Snehan Kekre

About the Host (Snehan Kekre)


Snehan hosts Machine Learning and Data Sciences projects at Rhyme. He is in his senior year of university at the Minerva Schools at KGI, studying Computer Science and Artificial Intelligence. When not applying computational and quantitative methods to identify the structures shaping the world around him, he can sometimes be seen trekking in the mountains of Nepal.



Frequently Asked Questions


In Rhyme, all projects are completely hands-on. You don't just passively watch someone else. You use the software directly while following the host's (Snehan Kekre) instructions. Using the software is the only way to achieve mastery. With the "Live Guide" option, you can ask for help and get immediate response.
Nothing! Just join through your web browser. Your host (Snehan Kekre) has already installed all required software and configured all data.
You can go to https://rhyme.com/for-companies, sign up for free, and follow this visual guide How to use Rhyme to create your own projects. If you have custom needs or company-specific environment, please email us at help@rhyme.com
Absolutely. We offer Rhyme for workgroups as well larger departments and companies. Universities, academies, and bootcamps can also buy Rhyme for their settings. You can select projects and trainings that are mission critical for you and, as well, author your own that reflect your own needs and tech environments. Please email us at help@rhyme.com
Rhyme's visual instructions are somewhat helpful for reading impairments. The Rhyme interface has features like resolution and zoom that are slightly helpful for visual impairment. And, we are currently developing a close-caption functionality to help with hearing impairment. Most of the accessibility options of the cloud desktop's operating system or the specific application can also be used in Rhyme. However, we still have a lot of work to do. If you have suggestions for accessibility, please email us at accessibility@rhyme.com
We started with windows and linux cloud desktops because they have the most flexibility in teaching any software (desktop or web). However, web applications like Salesforce can run directly through a virtual browser. And, others like Jupyter and RStudio can run on containers and be accessed by virtual browsers. We are currently working on such features where such web applications won't need to run through cloud desktops. But, the rest of the Rhyme learning, authoring, and monitoring interfaces will remain the same.
Please email us at help@rhyme.com and we'll respond to you within one business day.

Ready to join this 41 minutes session?

More Projects by Snehan Kekre