Git Product home page Git Product logo

mlopsmanufacturing's Introduction

Overview

This repo contains samples of machine learning (ML) projects we have often seen in the industry. For example, using image classification or object detection for quality control and safety monitoring. We are using these samples to showcase how to build, deploy, and operationalize ML projects in production with good engineering practices such as unit testing, CI/CD, model experimentation tracking, and observability in model training and inferencing.

Samples in this project leverage the basic ideas used in MLOpsPython. While MLOpsPython lays the foundation for operationalizing ML, we aim to provide representative samples and docs to

  • provide a sounding startpoint to build a production quality ML solution of certain frameworks such as Tensorflow or Kaldi.
  • demonstrate approaches and techniques for cross-cutting concerns such as unit testing and logging.
  • document how to solve some of the challenges encountered in building ML solutions, such as security, data management, local vs. cloud based development and more.

Repo Structure

This repo contains sample code and definition of Azure DevOps pipelines for CI/CD. These pipelines run in this Azure DevOps project. ML pipelines run in the Azure environment deployed using the Azure DevOps pipelines.

├─ common # contains tools and code cross-cutting samples
│
├─ docs # how-tos and best practices
│
├─ samples # each sample may have different folders, below is a typical example
│    ├─ <sample 1>
│    │    ├─ .devcontainer # VSCode dev container you can optionally use for development
│    │    ├─ data # store data for the sample if necessary
│    │    ├─ devops_pipelines # Azure DevOps CI/CD pipeline definition
│    │    ├─ environment_setup # Sample specific additional infrastructure setup
│    │    │      ├─ azureml_environment # Azure ML Environment Dockerfile
│    │    │      └─ provisioning # Additioal setup scripts for the sample
│    │    ├─ local_development # scripts for creating a local dev environment without having to have a VSCode dev container
│    │    ├─ ml_model # code for building the ML model
│    │    ├─ ml_service # code for building ML pipelines
│    │    ├─ tests # unit test code
│    │    │      ├─ ml_model
│    │    │      └─ ml_service
│    │    └─ README.md # explains what the sample is demonstrating and how to run it
│    └─ <sample 2>
│         └─ # same as above
├─ .gitattributes
├─ .gitignore
├─ LICENSE
└─ README.md

Getting Started

Check out the samples and the docs. Once you are ready to run the code, follow these steps:

  1. Clone the repo.
  2. If you are only interested in one sample,
    • if your dev machine is capable of running VSCode dev container, you can open the folder of the sample in VSCode, and reopen in a container as VSCode prompts you. Once VSCode builds the container, you can do all the development inside that container from that point on.
    • if you don't want to develop in a container, you can go to the samples's local_development folder and run a script to create a conda environment for development. Refer to each sample's README for details.
  3. You can also open the entire project in VSCode. Refer to the README of the sample you are interested in, create a conda environment, and pick the Python interpreter from the environment in VSCode.
  4. Set up an Azure DevOps project to connect to your source repository. Configure the pipelines using their yaml definitions in this repo:
    • start with common/infrastructure to create an Azure environment to run the samples.
    • follow README of the sample of interest to create the Azure DevOps pipelines. The pipelines are configured for continuous integration by default, so they automatically kick off for pull request validations and merging into the main branch.
    • if a pipeline is triggered after a dependent pipeline, the dependent pipeline must be named unique in the entire Azure DevOps project, not just in a pipeline folder.

Contributing

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

mlopsmanufacturing's People

Contributors

alancast avatar angie4u avatar aykhara avatar ghormann avatar h2floh avatar kenakamu avatar koheikawata avatar kuimoani avatar liupeirong avatar ofimbres avatar omri374 avatar pratrud avatar satonaoki avatar siliang-j-1225 avatar xiaolul avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mlopsmanufacturing's Issues

Required resources to run locally

Wanted to check if i can run the model locally in my macbook or any azure resources are needed for the same.

My Configuration:

Python : 3.11
Macos : Sonoma 14.2.1
Mac Version: Intel i9 2019 Macbook Pro 16 inch

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.