Skip to content

Instantly share code, notes, and snippets.

View IvanNardini's full-sized avatar
🏠
Working from home

Ivan Nardini IvanNardini

🏠
Working from home
View GitHub Profile
@IvanNardini
IvanNardini / model_tracking.py
Created June 7, 2020 15:46
MLOps series #1 : Batch scoring with Mlflow Model (Mleap flavor) on Google Cloud Platform
# Define tracking function
def log_lineareg(experimentID, run_name, params, abt_train, abt_test, debug=False):
"""
Function to start a run within a existing experiment
:param experimentID: unique ID associated to original experiment
:param run_name: label for the name of the run
:param params: ters used for the run, such as arguments
:param abt_train: analytical base table for training
:param abt_test: analytical base table for testing
@IvanNardini
IvanNardini / run.py
Created June 7, 2020 13:25
MLOps series #2 : Deploy a Recommendation System as Hosted Interactive Web Service on AWS
'''
This module runs the entire Dash Application
'''
import dash_table
import dash_core_components as component
import dash_html_components as html
from dash.dependencies import Input, Output
from app import *
@IvanNardini
IvanNardini / layouts.py
Created June 7, 2020 13:21
MLOps series #2 : Deploy a Recommendation System as Hosted Interactive Web Service on AWS
'''
This module contains the layout of the application
'''
import dash_table
import dash_core_components as component
import dash_html_components as html
#Customerid Input
c_id_component = component.Input(id="uid",
@IvanNardini
IvanNardini / callbacks.py
Last active June 7, 2020 13:20
MLOps series #2 : Deploy a Recommendation System as Hosted Interactive Web Service on AWS
'''
This module contains the predict callback
'''
from dash.dependencies import Input, Output
from app import *
@app.callback([Output('table', component_property='columns'), Output('table', component_property='data')],[Input(component_id='uid', component_property='value')])
def predict(uid):
columns = []
@IvanNardini
IvanNardini / Model_service_tree
Last active June 7, 2020 13:02
MLOps series #2 : Deploy a Recommendation System as Hosted Interactive Web Service on AWS
└── src
└── score_interactive_endpoint
├── Dockerfile
├── app.py
├── callbacks.py
├── layouts.py
├── model
│   └── model_aa0lcc9j.pkl
├── requirements.txt
└── run.py
@IvanNardini
IvanNardini / Model_tracker.py
Last active June 7, 2020 11:34
MLOps series #2 : Deploy a Recommendation System as Hosted Interactive Web Service on AWS
def reader(df):
"""
return a data parsed with Reader class
args:
df: pandas dataframe
returns:
data parsed
"""
mindata = df.rating.min()
maxdata = df.rating.max()
@IvanNardini
IvanNardini / ModelRegistration.py
Created June 7, 2020 11:33
MLOps series #2 : Deploy a Recommendation System as Hosted Interactive Web Service on AWS
model_name = 'Champion'
artifact_path = "model"
model_uri = "runs:/{run_id}/{artifact_path}".format(run_id=run_id, artifact_path=artifact_path)
model_details = mlflow.register_model(model_uri=model_uri, name=model_name)
client = MlflowClient()
client.update_registered_model(
name=model_details.name,
description="This model provides recommendation for specific users and items based on purchase data. The data consists of user transactions"