Project: Deep Learning Inference with Azure ML Studio

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 Free
Project: Deep Learning Inference with Azure ML Studio

Duration (mins)


NA / 5


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 Kekre is a Machine Learning and Data Science Instructor at Coursera. He studied Computer Science and Artificial Intelligence at Minerva Schools at KGI, based in San Francisco. His interests include AI safety, EdTech, and instructional design. He recognizes that building a deep, technical understanding of machine learning and AI among students and engineers is necessary in order to grow the AI safety community. This passion drives him to design hands-on, project-based machine learning courses on Rhyme.

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.
Absolutely! Your host (Snehan Kekre) has provided this session completely free of cost!
You can go to, 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
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
Rhyme strives to ensure that visual instructions are helpful for reading impairments. The Rhyme interface has features like resolution and zoom that will be helpful for visual impairments. And, we are currently developing a close-caption functionality to help with hearing impairments. Most of the accessibility options of the cloud desktop's operating system or the specific application can also be used in Rhyme. If you have questions related to accessibility, please email us at
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 and we'll respond to you within one business day.

Ready to join this 41 minutes session for free?

More Projects by Snehan Kekre