Azure Machine Learning Model Monitoring SDK V2
Project description
Azure Machine Learning Model Monitoring SDK
The azure-ai-mlmonitoring
package provides an SDK to enable Model Data Collector (MDC) for custom logging allows customers to collect data at arbitrary points in their data pre-processing pipeline. Customers can leverage SDK in score.py
to log data to desired sink before, during, and after any data transformations.
Start by importing the azure-ai-mlmonitoring
package in score.py
import pandas as pd
import json
from azure.ai.mlmonitoring import Collector
def init():
global inputs_collector, outputs_collector
# instantiate collectors with appropriate names, make sure align with deployment spec
inputs_collector = Collector(name='model_inputs')
outputs_collector = Collector(name='model_outputs')
def run(data):
# convert json to python object and convert to pandas Dataframe
input_df = pd.DataFrame(json.loads(data))
# collect inputs data, store correlation_context
context = inputs_collector.collect(input_df)
# perform scoring with pandas Dataframe, return value is also pandas Dataframe
output_df = predict(input_df)
# collect outputs data, pass in correlation_context so inputs and outputs data can be correlated later
outputs_collector.collect(output_df, context)
return output_df.to_dict()
def predict(input_df):
# process input and return with outputs
...
return output_df
Create environment with base image mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04
and conda dependencies, then build the environment.
channels:
- conda-forge
dependencies:
- python=3.8
- numpy=1.23.5
- pandas=1.5.2
- pip=22.3.1
- pip:
- azureml-defaults==1.38.0
- requests==2.28.1
- azure-ai-mlmonitoring
name: model-env
Create deployment with custom logging enabled (model_inputs and model_outputs are enabled) and the environment you just built, please update the yaml according to your scenario.
#source ../configs/model-data-collector/data-storage-basic-OnlineDeployment.YAML
$schema: http://azureml/sdk-2-0/OnlineDeployment.json
endpoint_name: my_endpoint #unchanged
name: blue #unchanged
model: azureml:my-model-m1:1 #azureml:models/<name>:<version> #unchanged
environment: azureml:custom-logging-env:1 #unchanged
data_collector:
collections:
model_inputs:
enabled: true
model_outputs:
enabled: true
Change Log
v0.1.0a3 (2023.2.13)
Improvements
- Refine README.md.
- Refactor code.
- Log error message when data collected is not Pandas Dataframe.
v0.1.0a2 (2023.1.16)
Improvements
- Refine README.md.
v0.1.0a1 (2023.1.4)
New Features
- Support model data collection for pandas Dataframe.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for azure_ai_mlmonitoring-0.1.0a3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cda737f3e1ec5f7c953dd024023c5ae0b3ef3bdeb27b0a56f04b4d55f79bf906 |
|
MD5 | b0f660959dc31860f3747c60ad1d91c9 |
|
BLAKE2b-256 | 1e8350853708d179f1b213853a740f574350f9d5eb0eee7c9e0d810c89bac679 |