Git Product home page Git Product logo

operationalizing-ml's Introduction

Operationalizing a Machine Learning Model In Azure:rocket:

The main objective of this project is to build a machine learning model using Azure Container Services.We have been provided with the banking dataset. The main steps of the project are:-

1) Authentication
2) Automated ML Experiment
3) Deploy the best model
4) Enable logging
5) Swagger Documentation
6) Consume model endpoints
7) Create and publish a pipeline
9) Documentation

Tech-Stacks:

Jupyter Python Shell Script Azure Docker Swagger

Architectural Diagram:clipboard:

An architectual diagram of the project and introduction of each step. alt text

Key Steps:tickets:

📌Register the Dataset

  • We have to first register the dataset from the local files.
    • Navigate to the Datasets section in the Workspace and create a new dataset from webfile and submit the URL required for the dataset alt text

📌Compute Instance

  • We have to build a compute instance of type DS12_V2 for running the AutoML Run.
    • Maximum number of nodes are 5 and min number of nodes are 5.

📌AutoML Run

  • We have to run an AutoML using the same registered Dataset.
  • We have to mention the same compute instance which we build earlier. alt text

📌Best Model

  • After running the AutoML we need to collect the best model from various diffrent models.
    • Here we got voting ensemble model which chooses voting model to choose the best of several runs. The base model is XGBOOST with Maxabs scaling and accuracy of 91% .

alt text

📌Endpoint Deployment

  • Once we Have the best model its time to deploy the model. We can use azure Kubernetes service or azure container instane for the deployment.
  • We need to choose authenticate method during the deployment method. Once deployment is succeded an endpoint will be created with status showing as healthy in workspace

📌Application Insights

  • Once the model is deployed we need to enable the logs setting the appinsights = True in the Experiment logging section by adding the experiment name.
  • Once we have enabled the logging we should see the status in application insights saying the failed requests, timed out requests etc.

alt text

📌Consume Endpoint (Swagger)

  • We can consume this endpoint using REST API or by running Azure ML python SDK's.

  • Swagger is one of the API tetsing platforms available .

  • Once the model is deployed we get a Swagger JSon file from the endpoint which needs to be downloaded and placed in the folder containing swagger files serve.py and swagger.sh.

  • After that we need to launch a local web server using serve script and lauch swagger using docker container by running swagger.sh

  • Here we are testing both using endpoint.py and Swagger alt text

📌Creating and Publishing pipeline

We can schedule the pipelines using schdeule recurrence parameter reducing the manual efforts.

alt text

alt text

alt text

How to Contribute ?:heavy_plus_sign::spiral_notepad:

Check out our CONTRIBUTING GUIDELINES

See project in action HERE🖼️

✳️Standout Suggestions✳️

  • Collecting more data can definitely help in improving accuracy.
  • We can try testing the batch data in a schedule and see the performance.

❤️ Thanks to our awesome contributors:technologist:✨.

operationalizing-ml's People

Contributors

vaibhavirohilla741 avatar akrish4 avatar himanshu007-creator avatar kanishka8276 avatar muthuannamalai12 avatar imgbotapp avatar rohan-kulkarni-25 avatar samir-0711 avatar agarwalutkarsh554 avatar khareyash05 avatar sloth-panda avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.