Code Monkey home page Code Monkey logo

ml_server_framework's Introduction

ML_server_framework

General Framework in Deploying ML model as a REST API Service

Instalation

  • docker : installation can be found here
  • docker-compose : installation can be found here

Usage

make docker-compose

GET requests will be available at [http://localhost:1234] with the following input:

- class: [1, 2, 3]
- sex: [M, F]
- age: int
- embarked: ['C', 'S', 'Q']

Prediction as a Service

The list of problems that I would like to tackle in this projects are

  • Reproducibility in the whole pipeline

    The projects should be able to be deployed in different environments without hassle. The whole ML pipeline should be agnostic

  • Support Continuous Model Training

    The project should be able to build new model automatically whenever there is a change in the dataset. This trained model should be able to be stored and retrieved easily, to be used by the API to perfrom prediction as a service

  • Database Update / Data Integrity

    The project should have a proper database suppport to make sure that the model training will always use the latest data.

  • Continuous Development / Building

    The model should be able to trained daily - Supports continous development

  • Microservice Framework

    Each components will be decoupled - an update to each microservice should not affect the other services.

  • Automated Schema Checking / Data Formatting

    The data will undergo an automated Schema Checking which will be used to make sure that the data is ready for training.

Plan

The technology stack that we will use in this projects are:

  • Scikit-Learn, pandas, numpy : Model training
  • Airflow : Model building, Workflow Pipeline
  • Postgres DB : Data Storage, Model Storage
  • Flask : Restful API
  • Docker : Containerization, Decoupling different services

Microservices

postgres

  • Postgres DB : Data Storage

minio

  • minio : Model and Schema Storage

deploy

  • Flask : Perform Prediction as a Service to the end user perform links to db container, should be able to read, write model to db, should be able to read data from db

model

  • Pandas, Numpy, Scikit-learn : Model Training
  • Airflow : Perform continuous building and deployment

datafill

  • Airflow : Perform continuous data update

Microservice Diagram

Coming Soon

ml_server_framework's People

Contributors

adityasidharta avatar

Stargazers

 avatar

Watchers

 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.