diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..7c9abfd --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,19 @@ +repos: +- repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.2.0 + hooks: + - id: check-yaml + - id: end-of-file-fixer + - id: trailing-whitespace + + # Opinionated code formatter to forget about formatting +- repo: https://github.com/psf/black + rev: 21.12b0 + hooks: + - id: black + + # Sort imports deterministically +- repo: https://github.com/pycqa/isort + rev: 5.10.1 + hooks: + - id: isort \ No newline at end of file diff --git a/README.md b/README.md index d19146c..7e6bb74 100644 --- a/README.md +++ b/README.md @@ -2,31 +2,31 @@ # Azure MLOps (v2) solution accelerator -MLOps or Machine Learning Ops is a set of practices that aims to automate and operationalise the deployment and maintenance of machine learning models across various stages of the lifecycle of a Data Science process. The purpose of an MLOps process is to drive efficiency, increase repeatability and predictability, enable reuse of code and drive consistency across projects. This enables Data Science teams to deploy Machine Learning models to production reliably and efficiently. +MLOps or Machine Learning Ops is a set of practices that aims to automate and operationalise the deployment and maintenance of machine learning models across various stages of the lifecycle of a Data Science process. The purpose of an MLOps process is to drive efficiency, increase repeatability and predictability, enable reuse of code and drive consistency across projects. This enables Data Science teams to deploy Machine Learning models to production reliably and efficiently. -While MLOps has many overlapping concepts with DevOps and can be seen as a derivation of DevOps, it varies significantly from DevOps due to the nature of Data Science projects. The following Microsoft articles provide a perspective on MLOps from various viewpoints: +While MLOps has many overlapping concepts with DevOps and can be seen as a derivation of DevOps, it varies significantly from DevOps due to the nature of Data Science projects. The following Microsoft articles provide a perspective on MLOps from various viewpoints: -[MLOps using Azure Machine Learning](https://azure.microsoft.com/en-us/services/machine-learning/mlops/#features) +[MLOps using Azure Machine Learning](https://azure.microsoft.com/en-us/services/machine-learning/mlops/#features) -[Cloud Adoption Framework Guidance](https://docs.microsoft.com/en-us/azure/cloud-adoption-framework/ready/azure-best-practices/ai-machine-learning-mlops) +[Cloud Adoption Framework Guidance](https://docs.microsoft.com/en-us/azure/cloud-adoption-framework/ready/azure-best-practices/ai-machine-learning-mlops) -[How: Machine Learning Operations](https://docs.microsoft.com/en-us/azure/machine-learning/concept-model-management-and-deployment) +[How: Machine Learning Operations](https://docs.microsoft.com/en-us/azure/machine-learning/concept-model-management-and-deployment) ## Prerequisites: Repository Overview The solution accelerator provides a modular end-to-end approach for MLOps in Azure based on pattern architectures. As each organization is unique, we do not expect that each pattern architecture will suit all organizations, however, Digital Natives or enterprises will be able to deploy an MLOps ecosystem fast, simple, reliable, modular, and secure. The time to product is measurable shorter under incerased scalability. -Following are the key principles that have been applied while building the accelerator: +Following are the key principles that have been applied while building the accelerator: + +     ✅**Simplicity** -     ✅**Simplicity** -      ✅**Segregation of duties & Security** - +      ✅**Reusability** - +      ✅**Modularity** - +      ✅**Enterprise readiness** This repo provides a templatised approach for the end-to-end Data Science process and focuses on driving efficiency at each stage. For example, it can take a significant amount of time to bootstrap a new Data Science project, hence the repo provides templates that can be reused to establish a cookie cutter approach for the bootstrapping process to shorten the process from days to hours or minutes. @@ -35,21 +35,21 @@ The best way to consume this accelerator will be to choose a complex use case th Following the demo helps to understand the concept of the solution accelerator, architectual pattern, and ongoing work extending the solution accelerator to other patterns. Feel free to replace the inner loop model with your model and rerun accordingly. - + ## 👤 Getting started: Azure Machine Learning - Classical Machine Learning Demo - + The demo follows the Classical Machine Learning Pattern with Azure Machine Learning. - + ![AML CML](/documentation/architecturepattern/AzureML_CML_Architecture_v0.7.jpg) - + Please follow the instructions to execute the demo accordingly: - +   1. - +   2. - +   3. - +   ... @@ -66,9 +66,9 @@ Please follow the instructions to execute the demo accordingly: | [TBD] | Azure Machine Learning - Classical Machine Learning using R | | [TBD] | Azure Machine Learning - Edge AI | - + ## 📯 (Coming Soon) One-click Deployments: - + ## 📯 MLOps infrastructure deployment | Name | Description | Try it out | @@ -87,8 +87,8 @@ Please follow the instructions to execute the demo accordingly: | [TBD] | Classical machine learning | Azure Machine Learning, Azure Databricks | [DEPLOY BUTTON] | | [TBD] | Computer Vision | Azure Machine Learning, Azure Databricks | [DEPLOY BUTTON] | | [TBD] | Natural Language Processing | Azure Machine Learning, Azure Databricks | [DEPLOY BUTTON] | -| [TBD] | Classical machine learning with R | Azure Machine Learning | [DEPLOY BUTTON] | -| [TBD] | Edge AI | Azure Machine Learning | [DEPLOY BUTTON] | +| [TBD] | Classical machine learning with R | Azure Machine Learning | [DEPLOY BUTTON] | +| [TBD] | Edge AI | Azure Machine Learning | [DEPLOY BUTTON] | ## Contributing diff --git a/SECURITY.md b/SECURITY.md index f7b8998..a050f36 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -14,7 +14,7 @@ Instead, please report them to the Microsoft Security Response Center (MSRC) at If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://www.microsoft.com/en-us/msrc/pgp-key-msrc). -You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc). +You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc). Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue: @@ -38,4 +38,4 @@ We prefer all communications to be in English. Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://www.microsoft.com/en-us/msrc/cvd). - \ No newline at end of file + diff --git a/SUPPORT.md b/SUPPORT.md index 291d4d4..44dcbc5 100644 --- a/SUPPORT.md +++ b/SUPPORT.md @@ -10,16 +10,16 @@ # Support -## How to file issues and get help +## How to file issues and get help -This project uses GitHub Issues to track bugs and feature requests. Please search the existing -issues before filing new issues to avoid duplicates. For new issues, file your bug or +This project uses GitHub Issues to track bugs and feature requests. Please search the existing +issues before filing new issues to avoid duplicates. For new issues, file your bug or feature request as a new Issue. -For help and questions about using this project, please **REPO MAINTAINER: INSERT INSTRUCTIONS HERE +For help and questions about using this project, please **REPO MAINTAINER: INSERT INSTRUCTIONS HERE FOR HOW TO ENGAGE REPO OWNERS OR COMMUNITY FOR HELP. COULD BE A STACK OVERFLOW TAG OR OTHER CHANNEL. WHERE WILL YOU HELP PEOPLE?**. -## Microsoft Support Policy +## Microsoft Support Policy Support for this **PROJECT or PRODUCT** is limited to the resources listed above. diff --git a/config-infra-dev.yml b/config-infra-dev.yml index 0f9ba18..3c2dc69 100644 --- a/config-infra-dev.yml +++ b/config-infra-dev.yml @@ -12,7 +12,7 @@ variables: environment: dev enable_aml_computecluster: true - # Azure DevOps + # Azure DevOps ado_service_connection_rg: Azure-ARM-Dev #-murggu ado_service_connection_aml_ws: Azure-ARM-Dev @@ -23,7 +23,7 @@ variables: # IaC resource_group: rg-$(namespace)-$(postfix) - aml_workspace: mlw-$(namespace)-$(postfix) + aml_workspace: mlw-$(namespace)-$(postfix) application_insights: mlw-$(namespace)-$(postfix) key_vault: kv-$(namespace)-$(postfix) container_registry: cr$(namespace)$(postfix) diff --git a/config-infra-prod.yml b/config-infra-prod.yml index 543ae11..0c60e34 100644 --- a/config-infra-prod.yml +++ b/config-infra-prod.yml @@ -13,7 +13,7 @@ variables: environment: prod enable_aml_computecluster: true - # Azure DevOps + # Azure DevOps ado_service_connection_rg: Azure-ARM-Dev #-murggu ado_service_connection_aml_ws: Azure-ARM-Dev @@ -24,7 +24,7 @@ variables: # IaC resource_group: azureml-examples-rg #rg-$(namespace)-$(postfix) - aml_workspace: main #mlw-$(namespace)-$(postfix) + aml_workspace: main #mlw-$(namespace)-$(postfix) application_insights: mlw-$(namespace)-$(postfix) key_vault: kv-$(namespace)-$(postfix) container_registry: cr$(namespace)$(postfix) diff --git a/cv/README.md b/cv/README.md index 4225039..6afdd71 100644 --- a/cv/README.md +++ b/cv/README.md @@ -1 +1 @@ -# Computer Vision \ No newline at end of file +# Computer Vision diff --git a/nlp/README.md b/nlp/README.md index e3b720b..2d84024 100644 --- a/nlp/README.md +++ b/nlp/README.md @@ -1 +1 @@ -# Natural Language Processing \ No newline at end of file +# Natural Language Processing diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..78b7c49 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,4 @@ +black==22.3.0 +flake8==4.0.1 +isort==5.10.1 +pre-commit==2.19.0 \ No newline at end of file