microsoft /nni

An open source AutoML toolkit for automate machine learning lifecycle, including feature engineering, neural architecture search, model compression and hyper-parameter tuning.

★ 14,362⑂ 1,849
PythonCreated 2018-06-01nni.readthedocs.io
14,362
stars
+-4+-4+-6
1,849
forks
–
watchers
–
prs
–
issues
–
releases
–
discussions

README

NNI automates feature engineering, neural architecture search, hyperparameter tuning, and model compression for deep learning. Find the latest features, API, examples and tutorials in our official documentation (简体中文版点这里).

 What's NEW!  

 New release: v3.0 preview is available - _released on May-5-2022_
 New demo available: Youtube entry | Bilibili 入口 - _last updated on June-22-2022_
 New research paper: SparTA: Deep-Learning Model Sparsity via Tensor-with-Sparsity-Attribute - _published in OSDI 2022_
 New research paper: Privacy-preserving Online AutoML for Domain-Specific Face Detection - _published in CVPR 2022_
 Newly upgraded documentation: Doc upgraded


 Installation

See the NNI installation guide to install from pip, or build from source.

To install the current release:


$ pip install nni


To update NNI to the latest version, add --upgrade flag to the above commands.

 NNI capabilities in a glance








Hyperparameter Tuning



Neural Architecture Search



Model Compression





Algorithms



Exhaustive search

Grid Search
Random

Heuristic search

Anneal
Evolution
Hyperband
PBT

Bayesian optimization

BOHB
DNGO
GP
Metis
SMAC
TPE





Multi-trial

Grid Search
Policy Based RL
Random
Regularized Evolution
TPE

One-shot

DARTS
ENAS
FBNet
ProxylessNAS
SPOS





Pruning

Level
L1 Norm
Taylor FO Weight
Movement
AGP
Auto Compress
More...

Quantization

Naive
QAT
LSQ
Observer
DoReFa
BNN






Supported Frameworks



Training Services



Tutorials





Supports



PyTorch
TensorFlow
Scikit-learn
XGBoost
LightGBM
MXNet
Caffe2
More...




Local machine
Remote SSH servers
Azure Machine Learning (AML)
Kubernetes Based

OpenAPI
Kubeflow
FrameworkController
AdaptDL
PAI DLC

Hybrid training services




HPO

PyTorch
TensorFlow

NAS

Hello NAS
NAS Benchmarks

Compression

Pruning
Pruning Speedup
Quantization
Quantization Speedup








 Resources

 NNI Documentation Homepage
 NNI Installation Guide
 NNI Examples
 Python API Reference
 Releases (Change Log)
 Related Research and Publications
 Youtube Channel of NNI
 Bilibili Space of NNI
 Webinar of Introducing Retiarii: A deep learning exploratory-training framework on NNI
 Community Discussions

 Contribution guidelines

If you want to contribute to NNI, be sure to review the contribution guidelines, which includes instructions of submitting feedbacks, best coding practices, and code of conduct.

We use GitHub issues to track tracking requests and bugs.
Please use NNI Discussion for general questions and new ideas.
For questions of specific use cases, please go to Stack Overflow.

Participating discussions via the following IM groups is also welcomed.

|Gitter||WeChat|
|----|----|----|
|!image| OR |!image|

Over the past few years, NNI has received thousands of feedbacks on GitHub issues, and pull requests from hundreds of contributors.
We appreciate all contributions from community to make NNI thrive.





 Test status

 Essentials

| Type | Status |
| :---: | :---: |
| Fast test |  |
| F

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON