/AI

Microsoft AI

Primary LanguagePythonMIT LicenseMIT

Samples, Reference Architectures & Best Practices

This repository is meant to organize Microsoft's Open Source AI based repositories.

Keywords

batch scoring, realtime scoring, model training, MLOps, Azure Machine Learning, computer vision, natural language processing, recommenders

Table of contents

  1. Getting Started
  2. AI100 - Samples
  3. AI200 - Reference Architectures
  4. AI300 - Best Practices
  5. Contributing

Getting Started

This repository is arranged as submodules so you can either pull all the tutorials or simply the ones you want. To pull all the tutorials run:

git clone --recurse-submodules https://github.com/microsoft/ai

if you have git older than 2.13 run:

git clone --recursive https://github.com/microsoft/ai.git

To pull a single submodule (e.g. DeployDeepModelKubernetes) run:

git clone https://github.com/microsoft/ai
cd ai
git submodule init submodules/DeployDeepModelKubernetes
git submodule update

Samples are a collection of open source Python repositories created by the Microsoft product teams, which focus on AI services.

Title Description
Azure ML Python SDK Python notebooks with ML and deep learning examples with Azure Machine Learning
Azure Cognitive Services Python SDK Learn how to use the Cognitive Services Python SDK with these samples
Azure Intelligent Kiosk Here you will find several demos showcasing workflows and experiences built on top of the Microsoft Cognitive Services.
MML Spark Samples MMLSpark is an ecosystem of tools aimed towards expanding the distributed computing framework Apache Spark in several new directions.
Seismic Deep Learning Samples Deep Learning for Seismic Imaging and Interpretation.

Our reference architectures are arranged by scenario. Each architecture includes open source practices, along with considerations for scalability, availability, manageability, and security.

Title Language Environment Design Description Status
Deploy Classic ML Model on Kubernetes Python CPU Real-Time Scoring Train LightGBM model locally using Azure ML, deploy on Kubernetes or IoT Edge for real-time scoring Build Status
Deploy Deep Learning Model on Kubernetes Python Keras Real-Time Scoring Deploy image classification model on Kubernetes or IoT Edge for real-time scoring using Azure ML Build Status
Hyperparameter Tuning of Classical ML Models Python CPU Training Train LightGBM model locally and run Hyperparameter tuning using Hyperdrive in Azure ML
Deploy Deep Learning Model on Pipelines Python GPU Batch Scoring Deploy PyTorch style transfer model for batch scoring using Azure ML Pipelines Build Status
Deploy Classic ML Model on Pipelines Python CPU Batch Scoring Deploy one-class SVM for batch scoring anomaly detection using Azure ML Pipelines
Deploy R ML Model on Kubernetes R CPU Real-Time Scoring Deploy ML model for real-time scoring on Kubernetes
Deploy R ML Model on Batch R CPU Scoring Deploy forecasting model for batch scoring using Azure Batch and doAzureParallel
Deploy Spark ML Model on Databricks Python Spark Batch Scoring Deploy a classification model for batch scoring using Databricks
Train Distributed Deep Leaning Model Python GPU Training Distributed training of ResNet50 model using Batch AI

AI300 - Best Practices

Our best practices are arranged by topic. Each best pratice repository includes open source methods, along with considerations for scalability, availability, manageability, and security.

Title Description
Computer Vision Accelerate the development of computer vision applications with examples and best practice guidelines for building computer vision systems
Natural Language Processing State-of-the-art methods and common scenarios that are popular among researchers and practitioners working on problems involving text and language.
Recommenders Examples and best practices for building recommendation systems, provided as Jupyter notebooks.
MLOps MLOps empowers data scientists and app developers to help bring ML models to production.

Recommend a Scenario

If there is a particular scenario you are interested in seeing a tutorial for please fill in a scenario suggestion

Ongoing Work

We are constantly developing interesting AI reference architectures using Microsoft AI Platform. Some of the ongoing projects include IoT Edge scenarios, model scoring on mobile devices, add more... To follow the progress and any new reference architectures, please go to the AI section of this link.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.