All Projects → microsoft → MLOps_VideoAnomalyDetection

microsoft / MLOps_VideoAnomalyDetection

Licence: MIT license
Operationalize a video anomaly detection model with Azure ML

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to MLOps VideoAnomalyDetection

hi-ml
HI-ML toolbox for deep learning for medical imaging and Azure integration
Stars: ✭ 150 (+47.06%)
Mutual labels:  azureml, mlops
mlops-platforms
Compare MLOps Platforms. Breakdowns of SageMaker, VertexAI, AzureML, Dataiku, Databricks, h2o, kubeflow, mlflow...
Stars: ✭ 293 (+187.25%)
Mutual labels:  azureml, mlops
ck-mlops
A collection of portable workflows, automation recipes and components for MLOps in a unified CK format. Note that this repository is outdated - please check the 2nd generation of the CK workflow automation meta-framework with portable MLOps and DevOps components here:
Stars: ✭ 15 (-85.29%)
Mutual labels:  mlops
MLOps-Specialization-Notes
Notes for Machine Learning Engineering for Production (MLOps) Specialization course by DeepLearning.AI & Andrew Ng
Stars: ✭ 143 (+40.2%)
Mutual labels:  mlops
aml-deploy
GitHub Action that allows you to deploy machine learning models in Azure Machine Learning.
Stars: ✭ 37 (-63.73%)
Mutual labels:  mlops
recommendations-for-engineers
All of my recommendations for aspiring engineers in a single place, coming from various areas of interest.
Stars: ✭ 81 (-20.59%)
Mutual labels:  mlops
ml-workflow-automation
Python Machine Learning (ML) project that demonstrates the archetypal ML workflow within a Jupyter notebook, with automated model deployment as a RESTful service on Kubernetes.
Stars: ✭ 44 (-56.86%)
Mutual labels:  mlops
dama
a simplified machine learning container platform that helps teams get started with an automated workflow
Stars: ✭ 76 (-25.49%)
Mutual labels:  mlops
deepchecks
Test Suites for Validating ML Models & Data. Deepchecks is a Python package for comprehensively validating your machine learning models and data with minimal effort.
Stars: ✭ 1,595 (+1463.73%)
Mutual labels:  mlops
awesome-open-mlops
The Fuzzy Labs guide to the universe of open source MLOps
Stars: ✭ 304 (+198.04%)
Mutual labels:  mlops
traceml
Engine for ML/Data tracking, visualization, dashboards, and model UI for Polyaxon.
Stars: ✭ 445 (+336.27%)
Mutual labels:  mlops
mloperator
Machine Learning Operator & Controller for Kubernetes
Stars: ✭ 85 (-16.67%)
Mutual labels:  mlops
oomstore
Lightweight and Fast Feature Store Powered by Go (and Rust).
Stars: ✭ 76 (-25.49%)
Mutual labels:  mlops
fastapi-template
Completely Scalable FastAPI based template for Machine Learning, Deep Learning and any other software project which wants to use Fast API as an API framework.
Stars: ✭ 156 (+52.94%)
Mutual labels:  mlops
e2eml-cookiecutter
A generic template for building end-to-end machine learning projects
Stars: ✭ 26 (-74.51%)
Mutual labels:  mlops
krsh
A declarative KubeFlow Management Tool
Stars: ✭ 127 (+24.51%)
Mutual labels:  mlops
ml in production
A set of demo of deploying a Machine Learning Model in production using various methods
Stars: ✭ 49 (-51.96%)
Mutual labels:  mlops
MLOps
A project-based course on the foundations of MLOps with a focus on intuition and application.
Stars: ✭ 1,203 (+1079.41%)
Mutual labels:  mlops
datatile
A library for managing, validating, summarizing, and visualizing data.
Stars: ✭ 419 (+310.78%)
Mutual labels:  mlops
ml-from-scratch
All content related to machine learning from my blog
Stars: ✭ 110 (+7.84%)
Mutual labels:  mlops

Video Anomaly Detection - with Azure ML and MLOps

Build Status

The automation of detecting anomalous event sequences in videos is a challenging problem, but also has broad applications across industry verticals.

The approach followed in this repository involves self-supervised training deep neural networks to develop an in-depth understanding of the physical and causal rules in the observed scenes. The model effectively learns to predict future frames in the video in a self-supervised fashion.

The trained model can then be used to detect anomalies in videos. As the model tries to predict each next frame, one can calculate the error in the model's prediction. If the error is large, it is likely that an anomalous even occurred.

The approach can be used both in a supervised and unsupervised fashion, thus enabling the detection of pre-defined anomalies, but also of anomalous events that have never occurred in the past.

Post on LinkedIn (includes video)

Example scenarios

The following snapshots are also links to video demonstrations.

Unsupervised Approach:

Video of unsupervised anomaly detection

Supervised Approach:

Video of unsupervised anomaly detection

Learning Goals

You will learn:

  1. How to adapt an existing neural network architecture to your use-case.
  2. How to prepare video data for deep learning.
  3. How to perform hyperparameter tuning with HyperDrive to improve the performance of your model.
  4. How to deploy a deep neural network as a webservice for video processing.
  5. How to post-process the output of a Keras model for secondary tasks (here, anomaly detection).
  6. How to define a build pipeline for DevOps.

Pre-requisites

Skills

  1. Some familiarity with concepts and frameworks for neural networks:
  2. Knowledge of basic data science and machine learning concepts. Here and here you'll find short introductory material.
  3. Moderate skills in coding with Python and machine learning using Python. A good place to start is here.

Software Dependencies

  • Various python modules. We recommend working with a conda environement (see config/environment.yml and Documentation).
    • We recommend you begin by installing Miniconda.
    • Also consider running the following command to update you conda base image: conda update -n base -c defaults conda
    • Then, you could run: conda env create -f config/environment.yml
  • If you are using a DSVM:

Hardware Dependencies

A computer with a GPU, for example a Linux Azure VM. Compare VM sizes and prices). If you don't know what to choose, we recommend the Standard NC6, the most affordable VM with a GPU.

You could create a VM in the Azure Portal.

Dataset

UCSD Anomaly Detection Dataset

Agenda

The recommended first step is to clone this repository.

Getting Started

  1. Data Preparation - Download and prepare data for training/testing.
  2. Azure ML Configuration - Configure your Azure ML workspace.
  3. AML Pipelines - Automate data preparation, training, and re-training.
  4. Deployment - How to deploy your anomaly detection as a webservice on AKS.

Deep-dive

  1. Model Development - Understand model architecture and training.
  2. Fine Tuning - Perform transfer learning with pretrained model onnew data.
  3. Hyperparameter tuning - Tune hyperparameters with HyperDrive.
  4. Anomaly Detection - Use Model errors for detecting anomalies.

Contribute

We invite contributions to this repository. The preferred method would be to fork this repository and to create a pull request.

References / Resources

Troubleshooting

Missing cuda libraries

We noticed that tensorflow might be looking for the wrong the of cudatoolkit.

You might see the following error:

Could not load dynamic library 'libcudart.so.10.0'; dlerror: libcudart.so.10.0: cannot open shared object file: No such file or directory

We found that it helps to look at which version of these libraries you have installed, and pin the version of cudatoolkit to the version that tensorflow is looking for. E.g. above, TF is looking for 10.0, so we pinned the version of the cudatoolkit to 10.0 in config/environment.yml.

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].