Code Monkey home page Code Monkey logo

ml-quality-cicd's Introduction

Continuous Quality Evaluation of ML models

In this repo, one can find all the necessary code and tools to build a continuous quality evaluation system for ML projects using the CI/CD engine of GitHub Actions.

There is a blog post that covers all the concepts and ideas behind the system. The post also contains a step-by-step tutorial and instructions on how to use this system and what the components are.

This README contains:

  • Technical details to make the launch easier
  • A high-level overview of the structure

Launch

The system is tested on Ubuntu 18.04 and Mac OSX 10.15.2.

All interaction with the system is done via Makefile. Thus one should have make installed. All the code is run using Docker containers which should be installed on the host machine.

Instructions for Ubuntu and OSX are below. For Windows, the system might also work but is not tested and I can not guarantee it.

  • Ubuntu

    • Setup Docker

      The most recent installation instructions for Ubuntu can be found here. For convenience purposes, I would also recommend enabling docker management for non-root users (see here). Be careful because it can lead to possible security issues.

    • Install make command-line tool

    apt-get update
    apt-get install build-essential
  • Mac OS X

    • Setup Docker

      The most recent installation instructions for Mac OS X can be found here.

    • Install make command-line tool

      It is shipped in the set of command-line tools for XCode (see instructions here).

    • Install some of the missing command-line utils

    brew install coreutils
    • Adapt Makefile

      Change "date" command to "gdate" command in line 13 of Makefile (here). It allows Mac users to get UNIX timestamp with the millisecond tolerance (which is not available with the default "date").

Structure overview

The system is built using the Boston House Prices regression dataset as an illustrative toy task. Few models are constructed to solve the problem and their qualities are compared. The solution is shipped as a REST API web-service inside the Docker container.

  • Makefile is a file with shortcuts to control the developed system.
  • src contains all the necessary code to serve the model as an API endpoint.
  • client is for the client-side code which provides an easy way to query the server.
  • .github/workflows contains GitHub Actions CI/CD pipeline definitions.
  • dockers folder stores Dockerfile for executing all the code (server, client, dashboard).
  • notebooks contains a notebook where data exploration and models building, training, and in-place evaluation are shown.
  • models stores weights and parameters for all the trained models.
  • data consists of data files already split into train and validation.
  • dashboard contains code for visualization of metrics in the form of a web dashboard.

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.