Skip to content
This repository has been archived by the owner on Nov 16, 2023. It is now read-only.

Staging to master to add github metrics #109

Merged
merged 136 commits into from Jul 4, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
136 commits
Select commit Hold shift + click to select a range
e5b5af4
Added warmup and support for two-sequence classification.
hlums Jun 17, 2019
53cdba0
Added entailment notebook on XNLI
hlums Jun 17, 2019
7cba858
Updated docstring.
hlums Jun 18, 2019
e09a545
Resolved conflict and merged from staging.
hlums Jun 18, 2019
c9d5873
track github metrics
miguelgfierro Jun 18, 2019
7f1bb8a
bug fix: sts-benchmark has extra tabs in some rows which caused incor…
janhavi13 Jun 12, 2019
074bca3
black formatter
janhavi13 Jun 12, 2019
236a64e
update stsbenchmark :notebook:
Jun 18, 2019
f8a2db0
move all the imports to global settings
lishao Jun 19, 2019
066fd91
Merge pull request #108 from microsoft/liqun-fix
saidbleik Jun 19, 2019
4e68640
Merge pull request #107 from microsoft/github_metrics2
saidbleik Jun 19, 2019
5245afa
add dask data loader
saidbleik Jun 19, 2019
bab7499
Updated different readmes
heatherbshapiro Jun 19, 2019
d0b057a
updated azureml section
heatherbshapiro Jun 19, 2019
b407204
add sequential loader
saidbleik Jun 19, 2019
2354a0d
add dask dependency
saidbleik Jun 19, 2019
21e1749
Updated notebook with new data utils and added Hindi example
hlums Jun 19, 2019
946a687
Resolved confict with staging.
hlums Jun 19, 2019
593bb4e
Added convert_to_unicode helper function.
hlums Jun 19, 2019
ed3415b
Updated utils of XNLI dataset.
hlums Jun 19, 2019
4c4f91e
removed scenarios chart from root
heatherbshapiro Jun 20, 2019
4388e6c
add whole-word pretrained models
saidbleik Jun 20, 2019
aa35f62
Updated entailment notebook with results.
hlums Jun 20, 2019
76fa9d7
Fixed formatting.
hlums Jun 20, 2019
2010daf
Removed redundant code.
hlums Jun 20, 2019
fad2564
added optional prob dist predictions
saidbleik Jun 20, 2019
d53c17e
minor edit to preds
saidbleik Jun 20, 2019
c0951fa
rem data_loader
saidbleik Jun 20, 2019
e561dee
add the aml utility function that can get or create workspace as that…
catherine667 Jun 3, 2019
ed26f8f
Integrated Mlflow with AzureMl Gensen deep dive notebook
AbhiramE Jun 20, 2019
8140f67
Fixed documentation to get rid of AzureML logging
AbhiramE Jun 21, 2019
a640869
Merge pull request #112 from microsoft/heather-readme
saidbleik Jun 21, 2019
c53edc4
Added training and prediction time to notebook.
hlums Jun 21, 2019
b0bfcba
Added placeholder for token type ids.
hlums Jun 21, 2019
136cadf
lm name changes
saidbleik Jun 21, 2019
aec2ffb
add namedtuple preds output
saidbleik Jun 21, 2019
55ebf35
Merge pull request #115 from microsoft/sts-benchmark-fix
saidbleik Jun 21, 2019
8b56eec
updated defaults for predict's output
saidbleik Jun 21, 2019
65f1c82
arg name change
saidbleik Jun 21, 2019
399707e
meh
saidbleik Jun 21, 2019
fb3f7dd
Moved _truncate_seq_pair outside of if else block.
hlums Jun 21, 2019
ad3c885
change line length
saidbleik Jun 21, 2019
0bae4ff
add csv loader test
saidbleik Jun 21, 2019
ed4e09b
edits to loader test
saidbleik Jun 21, 2019
80487c8
Code changes based on code review comments.
AbhiramE Jun 21, 2019
9c3a951
add sequential loader test
saidbleik Jun 21, 2019
35fc04c
Merge pull request #113 from microsoft/hlu/two_sequence_utils_and_XNL…
saidbleik Jun 21, 2019
480a08f
Updated NER notebook with new tokenizer api.
hlums Jun 23, 2019
044af9e
Updated ner token preprocessing for Chinese text.
hlums Jun 23, 2019
7b827d6
Updated ner token preprocessing for Chinese text.
hlums Jun 23, 2019
7c35f67
Added probabilities output to BERT token classifier.
hlums Jun 23, 2019
aeb9486
Updated wikigold utils to be consistent with other datasets.
hlums Jun 23, 2019
f4aa615
Removed MSRA NER utils temporarily.
hlums Jun 23, 2019
6abb3e5
Merged with staging.
hlums Jun 23, 2019
291d250
Added NOTICE.txt file with huggingface BERT.
hlums Jun 23, 2019
6189915
Added notebook for Chinese NER.
hlums Jun 23, 2019
9d0d764
merge - token_type_ids & pred proba support
saidbleik Jun 24, 2019
ea5d1ac
Merge pull request #114 from microsoft/bleik-seq-classifier
saidbleik Jun 24, 2019
ab2672a
missing changes
saidbleik Jun 24, 2019
f02bb92
Merge pull request #122 from microsoft/bleik-seq-classifier
saidbleik Jun 24, 2019
6c90cea
Updated readme of NER scenario.
hlums Jun 24, 2019
e5d1492
fix broken link for gensen aml notebook in readme
lishao Jun 24, 2019
b995eae
Merge remote-tracking branch 'origin/staging' into hlu/ner_utils_updates
hlums Jun 24, 2019
48ce3bf
Changed tokenizer_preprocess_ner_text to tokenize_ner.
hlums Jun 24, 2019
c546d98
Merge branch 'hlu/ner_utils_updates' of https://github.com/Microsoft/…
hlums Jun 24, 2019
e364b7f
Merge branch 'hlu/ner_utils_updates', remote-tracking branch 'origin'…
hlums Jun 24, 2019
e562029
Merge pull request #121 from microsoft/hlu/ner_utils_updates
saidbleik Jun 24, 2019
7a8e4cf
Merge pull request #123 from microsoft/liqun-fix
saidbleik Jun 24, 2019
5d86d03
Updated pip version of AzureML Mlflow used in the Pytorch estimator
AbhiramE Jun 24, 2019
4dac5f1
Merge pull request #116 from microsoft/abhiram-mlflow
saidbleik Jun 25, 2019
d3c417f
Update notebook text.
hlums Jun 25, 2019
837a0e7
Fixed bug with join_character
hlums Jun 25, 2019
51c5f1f
Fixed _truncate_seq_pairs bug.
hlums Jun 25, 2019
fd0839b
Updated notebook descriptions.'
hlums Jun 25, 2019
ea49a11
Minor description update.
hlums Jun 25, 2019
5b5ee02
Minor description update.
hlums Jun 25, 2019
f2281d4
Merge pull request #130 from microsoft/hlu/minor_bug_fix
saidbleik Jun 26, 2019
a91b73a
added more tests and bug fixes
saidbleik Jun 26, 2019
84d141b
bug fix in notebook
saidbleik Jun 26, 2019
bd1bdf3
bug fix
saidbleik Jun 26, 2019
4a9633f
old files
saidbleik Jun 26, 2019
d5c61a1
Merge pull request #111 from microsoft/bleik-dataloader
saidbleik Jun 26, 2019
6e33f25
Merge pull request #120 from microsoft/flake8-defaults
saidbleik Jun 26, 2019
8df5780
Merge pull request #125 from microsoft/hlu/third_party_notice_for_hug…
saidbleik Jun 26, 2019
8d13bc0
Renamed conll preprocess function.
hlums Jun 26, 2019
6c75683
create unit-tests.yml as a copy from .ci/azure-pipelines.yml and crea…
bethz Jun 26, 2019
7e7f397
Merge pull request #133 from microsoft/hlu/ner_on_chinese
saidbleik Jun 26, 2019
3f84802
add comments to tests/readme
bethz Jun 26, 2019
d92695f
notebook edits
cocochrane Jun 26, 2019
4202063
autoML notebook with google universal sentence encoder features
cocochrane Jun 12, 2019
7b06d67
Fixed notebooks based on new sts benchmark data loader functions
cocochrane Jun 12, 2019
183f25b
AutoML notebook with google USE embeddings- added descriptions
cocochrane Jun 14, 2019
16b4374
automl model deployed using ACI
janhavi13 Jun 17, 2019
da1ccb7
fixed issue with autoenv.yaml file
janhavi13 Jun 17, 2019
b072df9
Clean notebook, clear workspace information, rerun, lowercase dataset
cocochrane Jun 18, 2019
a33a892
Update widget image
cocochrane Jun 18, 2019
c48443c
File paths working
cocochrane Jun 18, 2019
6288e25
Add AutoML pipelines notebook
cocochrane Jun 19, 2019
8aa53ab
Added in descriptions for pipelines, table of contents, etc.
cocochrane Jun 19, 2019
0fc9376
Fix image and clear long output cell
cocochrane Jun 19, 2019
26cfbbc
Added ACI deployment of both pipeline steps
cocochrane Jun 24, 2019
9b12d60
edits to automl pipelines notebook
cocochrane Jun 24, 2019
551fa93
edits to automl pipelines notebook
cocochrane Jun 24, 2019
cf1d13e
Changed notebook to use automl embeddings vs google USE
cocochrane Jun 24, 2019
574c77c
Notebooks PR ready
janhavi13 Jun 26, 2019
ef03948
Added missing automl_local_deployment_aci
janhavi13 Jun 26, 2019
1055ee9
text fix
janhavi13 Jun 26, 2019
85f74c5
fixed title
janhavi13 Jun 26, 2019
b3e85d4
fixed text issues
janhavi13 Jun 26, 2019
3759b8e
revert file version to staging version
janhavi13 Jun 26, 2019
84e5e04
Fixes based on Abi's PR comments
cocochrane Jun 26, 2019
5a529d8
Merge pull request #135 from microsoft/bezeran-unit-test
saidbleik Jun 26, 2019
f43ab86
renamed automl_with_pipelines to automl_with_pipelines_aks
janhavi13 Jun 26, 2019
6ee164d
Merge pull request #136 from microsoft/courtney-edit-notebooks
saidbleik Jun 26, 2019
ab2ce57
Fixed most PR comments
janhavi13 Jun 27, 2019
af1d7a6
black formatting and some text addition in deployment section
janhavi13 Jun 28, 2019
12043e1
black formatting and some text addition in deployment section
janhavi13 Jun 28, 2019
5de635c
[WIP]resolve review comments and black formatting
janhavi13 Jun 28, 2019
ec2c827
azure devops tests
miguelgfierro Jun 28, 2019
ce9c066
Address PR comments for local automl aci deployment
Jun 28, 2019
9b56315
Resolve PR comment on pipelines notebook
Jun 28, 2019
c5a4b05
BiDAF quickstart deployment notebook
Jun 28, 2019
db104db
Add text to notebook and solve deployment error
Jun 29, 2019
9b3ce07
Empty deep dive notebook
Jun 29, 2019
685e7ba
Update READMEs
Jun 30, 2019
950761f
Update readmes
Jun 30, 2019
2a5e902
Clean folder
Jun 30, 2019
f02d39f
Remove tensorflow import statement for notebook
Jun 30, 2019
5d53db0
Merge pull request #137 from microsoft/courtney-janhavi-automl
saidbleik Jul 1, 2019
3174ade
Merge pull request #138 from microsoft/test_devops
miguelgfierro Jul 2, 2019
e2235b6
PR edits
Jul 3, 2019
d7d9129
Merge pull request #139 from microsoft/courtney-bidaf
saidbleik Jul 3, 2019
b4405ce
:bug: in Readme
miguelgfierro Jul 3, 2019
5e21302
remove yahoo_answers utils
saidbleik Jul 3, 2019
88c7243
readme edits
saidbleik Jul 3, 2019
a2a696a
Merge pull request #144 from microsoft/bleik-cleanup
miguelgfierro Jul 3, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
46 changes: 0 additions & 46 deletions .ci/azure-pipelines.yml

This file was deleted.

2 changes: 1 addition & 1 deletion .flake8
Expand Up @@ -13,4 +13,4 @@
# F821 undefined name 'get_ipython' --> from generated python files using nbconvert

ignore = E203, E266, W503, F403, F405, E402, E731, F821
max-line-length = 79
max-line-length = 100
224 changes: 224 additions & 0 deletions NOTICE.txt
@@ -0,0 +1,224 @@
NOTICES AND INFORMATION
Do Not Translate or Localize

This software incorporates material from third parties. Microsoft makes certain
open source code available at https://3rdpartysource.microsoft.com, or you may
send a check or money order for US $5.00, including the product name, the open
source component name, and version number, to:

Source Code Compliance Team
Microsoft Corporation
One Microsoft Way
Redmond, WA 98052
USA

Notwithstanding any other terms, you may reverse engineer this software to the
extent required to debug changes to any libraries licensed under the GNU Lesser
General Public License.

------------Attribution Starts Here----------------------------------------------
Component: https://github.com/huggingface/pytorch-pretrained-BERT

Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.

"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:

(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.

You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

------------End of Attribution ---------------------------------------------------
20 changes: 1 addition & 19 deletions README.md
Expand Up @@ -3,27 +3,9 @@
| ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| master | [![Build Status](https://dev.azure.com/best-practices/nlp/_apis/build/status/unit-test-master?branchName=master)](https://dev.azure.com/best-practices/nlp/_build/latest?definitionId=22&branchName=master) | | staging | [![Build Status](https://dev.azure.com/best-practices/nlp/_apis/build/status/unit-test-staging?branchName=staging)](https://dev.azure.com/best-practices/nlp/_build/latest?definitionId=21&branchName=staging) |


# NLP Best Practices

This repository contains examples and best practices for building NLP systems, provided as Jupyter notebooks and utility functions. The focus of the repository is on state-of-the-art methods and common scenarios that are popular among researchers and practitioners working on problems involving text and language.

The following section includes a list of the available scenarios. Each scenario is demonstrated in one or more Jupyter notebook examples that make use of the core code base of models and utilities.


## Scenarios


| Scenario | Applications | Languages | Models |
|---| ------------------------ | -------------------------------------------- | ------------------- |
|[Text Classification](scenarios/text_classification) |Topic Classification|en, zh, ar|BERT|
|[Named Entity Recognition](scenarios/named_entity_recognition) |Wikipedia NER | en, zh |BERT|
|[Sentence Similarity](scenarios/sentence_similarity) |STS Benchmark |en|Representation: TF-IDF, Word Embeddings, Doc Embeddings<br>Metrics: Cosine Similarity, Word Mover's Distance|
|[Embeddings](scenarios/embeddings)| Custom Embeddings Training|en|Word2Vec<br>fastText<br>GloVe|


## Planning
All feature planning is done via projects, milestones, and issues in this repository.
This repository contains examples and best practices for building NLP systems, provided as [Jupyter notebooks](scenarios) and [utility functions](utils_nlp). The focus of the repository is on state-of-the-art methods and common scenarios that are popular among researchers and practitioners working on problems involving text and language.

## Getting Started
To get started, navigate to the [Setup Guide](SETUP.md), where you'll find instructions on how to setup your environment and dependencies.
Expand Down
37 changes: 37 additions & 0 deletions scenarios/README.md
@@ -0,0 +1,37 @@
# NLP Scenarios

This folder contains examples and best practices, written in Jupyter notebooks, for building Natural Language Processing systems for different scenarios.

## Summary

The following is a summary of the scenarios covered in the best practice notebooks. Each scenario is demonstrated in one or more Jupyter notebook examples that make use of the core code base of models and utilities.

| Scenario | Applications | Models |
|---| ------------------------ | ------------------- |
|[Text Classification](scenarios/text_classification) |Topic Classification|BERT|
|[Named Entity Recognition](scenarios/named_entity_recognition) |Wikipedia NER |BERT|
|[Question Answering](scenarios/question_answering) |SQuAD | BiDAF|
|[Sentence Similarity](scenarios/sentence_similarity) |STS Benchmark |Representation: TF-IDF, Word Embeddings, Doc Embeddings<br>Metrics: Cosine Similarity, Word Mover's Distance|
|[Embeddings](scenarios/embeddings)| Custom Embeddings Training|Word2Vec<br>fastText<br>GloVe|

## Azure-enhanced notebooks

Azure products and services are used in certain notebooks to enhance the efficiency of developing Natural Language systems at scale.

To successfully run these notebooks, the users **need an Azure subscription** or can [use Azure for free](https://azure.microsoft.com/en-us/free/).

The Azure products featured in the notebooks include:

* [Azure Machine Learning service](https://azure.microsoft.com/en-us/services/machine-learning-service/) - Azure Machine Learning service is a cloud service used to train, deploy, automate, and manage machine learning models, all at the broad scale that the cloud provides. It is used across various notebooks for the AI model development related tasks like:
* Using Datastores
* Tracking and monitoring metrics to enhance the model creation process
* Distributed Training
* Hyperparameter tuning
* Scaling up and out on Azure Machine Learning Compute
* Deploying a web service to both Azure Container Instance and Azure Kubernetes Service

* [Azure Kubernetes Service](https://docs.microsoft.com/en-us/azure/machine-learning/service/how-to-deploy-and-where#aks) - You can use Azure Machine Learning service to host your classification model in a web service deployment on Azure Kubernetes Service (AKS). AKS is good for high-scale production deployments and provides autoscaling, and fast response times.

* [Azure Container Instance](https://docs.microsoft.com/en-us/azure/machine-learning/service/how-to-deploy-and-where#aci)- You can use Azure Machine Learning service to host your classification model in a web service deployment on Azure Container Instance (ACI). ACI is good for low scale, CPU-based workloads.

There may be other Azure service or products used in the notebooks. Introduction and/or reference of those will be provided in the notebooks.