#######################
Use Cases and Solutions
#######################

Different from the tutorials and examples in the rest of the document which show the usage of a feature, this part mainly introduces end-to-end scenarios and use cases to help users further understand how NNI can help them. NNI can be widely adopted in various scenarios. We also encourage community contributors to share their AutoML practices especially the NNI usage practices from their experience.

Use Cases and Solutions
=======================
..  toctree::
    :maxdepth: 2

    Automatic Model Tuning (HPO/NAS) <automodel>
    Automatic System Tuning (AutoSys) <autosys>
    Model Compression <model_compression>
    Feature Engineering <feature_engineering>
    Performance measurement, comparison and analysis <perf_compare>
    Use NNI on Google Colab <NNI_colab_support>
    Auto Completion for nnictl Commands <AutoCompletion>

External Repositories and References
====================================
With authors' permission, we listed a set of NNI usage examples and relevant articles.

External Repositories
===================== 
   * `Hyperparameter Tuning for Matrix Factorization <https://github.com/microsoft/recommenders/blob/master/examples/04_model_select_and_optimize/nni_surprise_svd.ipynb>`__ with NNI
   * `scikit-nni <https://github.com/ksachdeva/scikit-nni>`__ Hyper-parameter search for scikit-learn pipelines using NNI

Relevant Articles
=================
  * `Cost-effective Hyper-parameter Tuning using AdaptDL with NNI - Feb 23, 2021 <https://medium.com/casl-project/cost-effective-hyper-parameter-tuning-using-adaptdl-with-nni-e55642888761>`__
  * `(in Chinese) A summary of NNI new capabilities in NNI 2.0 - Jan 21, 2021 <https://www.msra.cn/zh-cn/news/features/nni-2>`__
  * `(in Chinese) A summary of NNI new capabilities in 2019 - Dec 26, 2019 <https://mp.weixin.qq.com/s/7_KRT-rRojQbNuJzkjFMuA>`__
  * `Find thy hyper-parameters for scikit-learn pipelines using Microsoft NNI - Nov 6, 2019 <https://towardsdatascience.com/find-thy-hyper-parameters-for-scikit-learn-pipelines-using-microsoft-nni-f1015b1224c1>`__ 
  * `(in Chinese) AutoML tools (Advisor, NNI and Google Vizier) comparison - Aug 05, 2019 <http://gaocegege.com/Blog/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/katib-new#%E6%80%BB%E7%BB%93%E4%B8%8E%E5%88%86%E6%9E%90>`__  
  * `Hyper Parameter Optimization Comparison <./HpoComparison.rst>`__ 
  * `Neural Architecture Search Comparison <./NasComparison.rst>`__ 
  * `Parallelizing a Sequential Algorithm TPE <./ParallelizingTpeSearch.rst>`__ 
  * `Automatically tuning SVD with NNI <./RecommendersSvd.rst>`__ 
  * `Automatically tuning SPTAG with NNI <./SptagAutoTune.rst>`__ 
