Creating Compute and Deployment Targets
Start course

Machine learning is a notoriously complex subject that usually requires a great deal of advanced math and software development skills. That’s why it’s so amazing that Azure Machine Learning lets you train and deploy machine learning models without any coding, using a drag-and-drop interface. With this web-based software, you can create applications for predicting everything from customer churn rates to image classifications to compelling product recommendations.

In this course, you will learn the basic concepts of machine learning and then follow hands-on examples of choosing an algorithm, running data through a model, and deploying a trained model as a predictive web service.

Learning Objectives

  • Create an Azure Machine Learning workspace
  • Train a machine learning model using the drag-and-drop interface
  • Deploy a trained model to make predictions based on new data

Intended Audience

  • Anyone who is interested in machine learning


  • General technical knowledge
  • A Microsoft Azure account is recommended (sign up for a free trial at if you don’t have an account)


The GitHub repository for this course is at


When we trained and deployed our model, we used defaults for the compute and deployment targets, but there are lots of other options. First, let’s talk about compute targets. When you train a model, you need to assign a compute target to run the pipeline. You can choose from three types of resources: compute instances, compute clusters, and attached compute. 

Compute instances are individual virtual machines. You can choose the size of the VM, and you can also choose whether to use CPUs or GPUs.

As you probably know, CPUs are central processing units, and GPUs are graphical processing units. GPUs are often used for machine learning because they can perform a large number of computations at the same time. This means that they’ll typically train a model much faster than CPUs will, especially if it’s a deep learning model, which is a type of neural network.

Even if you’re using GPUs, a single compute instance may not be fast enough. That’s why the default type of compute target is a compute cluster. This is an Azure Kubernetes Service cluster that can contain multiple instances. It can also scale up or scale down as needed.

Another option is called attached compute. This lets you attach a cluster that you’ve created using another service, such as Azure Databricks or Azure HDInsight. If you’re not already using those services, then you’re probably better off using an AKS cluster, which is the default.

Now let’s talk about deployment targets. Once you’ve trained a model, you can deploy it. At the moment, there’s only one deployment target available when you’re using the Machine Learning Designer, and that’s an Azure Kubernetes Service cluster. If you were using the Azure Machine Learning SDK instead, then there would be lots of other options available, including Azure Container Instances, Azure Functions, and Azure IoT Edge, among others.

And that’s it for compute and deployment targets.

About the Author
Learning Paths

Guy launched his first training website in 1995 and he's been helping people learn IT technologies ever since. He has been a sysadmin, instructor, sales engineer, IT manager, and entrepreneur. In his most recent venture, he founded and led a cloud-based training infrastructure company that provided virtual labs for some of the largest software vendors in the world. Guy’s passion is making complex technology easy to understand. His activities outside of work have included riding an elephant and skydiving (although not at the same time).