All Projects → microsoft → az-deep-realtime-score

microsoft / az-deep-realtime-score

Licence: MIT license
AKS Deployment Tutorial

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language
Makefile
30231 projects
shell
77523 projects

Projects that are alternatives of or similar to az-deep-realtime-score

az-ml-realtime-score
Architecture for deploying real-time scoring of machine learning models using Azure Machine Learning
Stars: ✭ 40 (+21.21%)
Mutual labels:  azureml
introspected
Introspection for serializable arrays and JSON friendly objects.
Stars: ✭ 75 (+127.27%)
Mutual labels:  deep
Tensorflow-Wide-Deep-Local-Prediction
This project demonstrates how to run and save predictions locally using exported tensorflow estimator model
Stars: ✭ 28 (-15.15%)
Mutual labels:  deep
azureml-cheatsheets
Azure Machine Learning Cheat Sheets
Stars: ✭ 23 (-30.3%)
Mutual labels:  azureml
cca zoo
Canonical Correlation Analysis Zoo: A collection of Regularized, Deep Learning based, Kernel, and Probabilistic methods in a scikit-learn style framework
Stars: ✭ 103 (+212.12%)
Mutual labels:  deep
CarND-VehicleDetection
vehicle detection with deep learning
Stars: ✭ 34 (+3.03%)
Mutual labels:  deep
TOAD
AI-based pathology predicts origins for cancers of unknown primary - Nature
Stars: ✭ 138 (+318.18%)
Mutual labels:  deep
hawp
Holistically-Attracted Wireframe Parsing
Stars: ✭ 146 (+342.42%)
Mutual labels:  deep
rl
Reinforcement learning algorithms implemented using Keras and OpenAI Gym
Stars: ✭ 14 (-57.58%)
Mutual labels:  deep
map-keys-deep-lodash
Map/rename keys recursively with Lodash
Stars: ✭ 16 (-51.52%)
Mutual labels:  deep
defaults-deep
Like `extend` but recursively copies only the missing properties/values to the target object.
Stars: ✭ 26 (-21.21%)
Mutual labels:  deep
jest-expect-contain-deep
Assert deeply nested values in Jest
Stars: ✭ 68 (+106.06%)
Mutual labels:  deep
mlops-platforms
Compare MLOps Platforms. Breakdowns of SageMaker, VertexAI, AzureML, Dataiku, Databricks, h2o, kubeflow, mlflow...
Stars: ✭ 293 (+787.88%)
Mutual labels:  azureml
Differentia.js
No longer being supported or maintained. A Graph Theory & Data Structure Library for JavaScript.
Stars: ✭ 13 (-60.61%)
Mutual labels:  deep
dqn-tensorflow
Deep Q Network implements by Tensorflow
Stars: ✭ 25 (-24.24%)
Mutual labels:  deep
iextrading4j-hist
IEX Trading library to parse TOPS and DEEP multicast packets
Stars: ✭ 20 (-39.39%)
Mutual labels:  deep
nlp pycon
Material for PyCon 2019 NLP Tutorial
Stars: ✭ 33 (+0%)
Mutual labels:  deep
DeepCD
[ICCV17] DeepCD: Learning Deep Complementary Descriptors for Patch Representations
Stars: ✭ 39 (+18.18%)
Mutual labels:  deep
MLOps VideoAnomalyDetection
Operationalize a video anomaly detection model with Azure ML
Stars: ✭ 102 (+209.09%)
Mutual labels:  azureml
Protobuf-Dreamer
A tiled DeepDream project for creating any size of image, on both CPU and GPU
Stars: ✭ 39 (+18.18%)
Mutual labels:  deep

Authors: Yan Zhang, Mathew Salvaris, and Fidan Boylu Uz

Build Status

Deploy Deep Learning CNN using Azure Machine Learning

Overview

In this repository there are a number of tutorials in Jupyter notebooks that have step-by-step instructions on how to deploy a pretrained deep learning model on a GPU enabled Kubernetes cluster throught Azure Machine Learning (AzureML). The tutorials cover how to deploy models from the following deep learning frameworks on specific deployment target:

alt text

For each framework, we go through the following steps:

  • Create an AzureML Workspace
  • Model development where we load the pretrained model and test it by using it to score images
  • Develop the API that will call our model
  • Building the Docker Image with our REST API and model and testing the image
  • AKS option
    • Creating our Kubernetes cluster and deploying our application to it
    • Testing the deployed model
    • Testing the throughput of our model
    • Cleaning up resources
  • IOT Edge option
    • Creating IoT hub and IoT Edge device identity, configuring the physical IOT Edge device, and deploying our application to it
    • Cleaning up resources

Design

As described on the associated Azure Reference Architecture page, the application we will develop is a simple image classification service, where we will submit an image and get back what class the image belongs to. The application flow for the deep learning model is as follows:

  1. Deep learning model is registered to AzureML model registry.
  2. AzureML creates a docker image including the model and scoring script.
  3. AzureML deploys the scoring image on the chosen deployment compute target (AKS or IoT Edge) as a web service.
  4. The client sends a HTTP POST request with the encoded image data.
  5. The web service created by AzureML preprocesses the image data and sends it to the model for scoring.
  6. The predicted categories with their scores are then returned to the client.

NOTE: The tutorial goes through step by step how to deploy a deep learning model on Azure; it does not include enterprise best practices such as securing the endpoints and setting up remote logging etc.

Deploying with GPUS: For a detailed comparison of the deployments of various deep learning models, see the blog post here which provides evidence that, at least in the scenarios tested, GPUs provide better throughput and stability at a lower cost.

Getting Started

To get started with the tutorial, please proceed with following steps in sequential order.

Prerequisites

  1. Linux (x64) with GPU enabled.
  2. Anaconda Python
  3. Docker installed.
  4. Azure account.

The tutorial was developed on an Azure Ubuntu DSVM, which addresses the first three prerequisites.

Setup

To set up your environment to run these notebooks, please follow these steps.

  1. Create a Linux Ubuntu DSVM (NC6 or above to use GPU).

  2. Install cookiecutter, a tool creates projects from project templates.

pip install cookiecutter
  1. Clone and choose a specific framework and deployment option for this repository. You will obtain a repository tailored to your choice of framework and deployment compute target.
    cookiecutter https://github.com/Microsoft/AKSDeploymentTutorialAML.git 

You will be asked to choose or enter information such as framework, project name, subsciption id, resource group, etc. in an interactive way. If a dafault value is provided, you can press Enter to accept the default value and continue or enter value of your choice. For example, if you want to learn how to deploy deep learning model on AKS Cluster using Keras, you should have values "keras" as the value for variable framework and "aks" for variable deployment_type. Instead, if you want to learn deploying deep learning model on IoT Edge, you should select "iotedge" for variable deployment_type.

You must provide a value for "subscription_id", otherwise the project will fail with the error "ERROR: The subscription id is missing, please enter a valid subscription id" after all the questions are asked. The full list of questions can be found in cookiecutter.json file.

Please make sure all entered information are correct, as these information are used to customize the content of your repo.

  1. With the generation of the project custom readmes will be created based on aks-keras or iotedge-keras. Go find a README.md file in your project directory and proceed with instructions specified in it.

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 [email protected] with any additional questions or comments.

Related projects

Microsoft AI Github Find other Best Practice projects, and Azure AI design patterns in our central repository.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].