Quickstart: Deploy a Python model as a web service with azureml-model-management-sdk
Important
This content is being retired and may not be updated in the future. The support for Machine Learning Server will end on July 1, 2022. For more information, see What's happening to Machine Learning Server?
Applies to: Machine Learning Server 9.x
Learn how to deploy a Python model as a web service with Machine Learning Server. Data scientists work locally in their preferred Python IDE and favorite version control tools to build scripts and models. Using the azureml-model-management-sdk Python package that ships with Machine Learning Server, you can develop, test, and ultimately deploy these Python analytics as web services in your production environment.
In Machine Learning Server, a web service is a model and/or code that has been deployed and hosted in the server. Each web service is uniquely defined by a name
and version
. When consumed, the service consists of the code execution on a compute node. Learn more about web services.
You can use the functions in the azureml-model-management-sdk Python library to manage the web service's lifecycle from a Python script. A set of RESTful APIs is also available to provide direct programmatic access to a service's lifecycle.
Time estimate
After you have completed the prerequisites, this task takes approximately 10 minutes to complete.
Prerequisites
Before you begin this QuickStart, have the following ready:
- Machine Learning Server with Python that's configured to operationalize models. Try an Azure Resource Manager template to quickly configure a server for operationalization.
- The connection details (host, username, password) to that server instance from your administrator.
- The Python client libraries for remote access to Machine Learning Server installed on your machine.
- Familiarity with Python. Here's a video tutorial.
- Familiarity with Jupyter Notebooks. Learn how to load sample Python notebooks.
Example code
The example for this quickstart is stored in a Jupyter Notebook. This notebook format allows you to not only see the code alongside detailed explanations, but also allows you to try out the code.
This example walks through the deployment of a Python model as a web service hosted in Machine Learning Server. We will build a simple linear model using the rx_lin_mod function from the revoscalepy package installed with Machine Learning Server or locally on Windows machine. This package requires a connection to Machine Learning Server.
The notebook example walks you through how to:
Create and run a linear model locally
Authenticate with Machine Learning Server from your Python script
Publish the model as a Python web service to Machine Learning Server
Examine, test, and consume the service in the same session
Delete the service
You can try it yourself with the notebook.
► Download the Jupyter Notebook to try it out.
Next steps
After it has been deployed, the web service can be:
Consumed directly in Python by someone else for testing purposes See an example in this Jupyter Notebook.
Integrated into an application by an application developer using the Swagger-based .JSON file produced when the web service was published.
See also
This section provides a quick summary of useful links for data scientists looking to operationalize their analytics with Machine Learning Server.
- About Operationalization
- What are web services
- Functions in azureml-model-management-sdk package
- Connecting to Machine Learning Server in Python
- Working with web services in Python
- Example of deploying real-time web service
- How to consume web services in Python synchronously (request/response)
- How to consume web services in Python asynchronously (batch)
- How to integrate web services and authentication into your application
- Get started for administrators
- User Forum