Skip to content

NNI

Open-source toolkit that automates hyperparameter tuning, neural architecture search, and model compression fo

Stars
14.4k
Forks
1.9k
Licence
MIT
Language
Python
Last update
2.3 years ago
Type
Library

This repository is archived and no longer maintained.

What it is

NNI is a Python toolkit from Microsoft that automates parts of building machine learning models, such as trying many hyperparameter settings, searching for neural network architectures, and shrinking models through compression. It works with frameworks like PyTorch and TensorFlow and can run experiments on a local machine, remote servers, or cluster platforms. The repository is archived, so it is no longer actively maintained.

  • Run a hyperparameter search over a training script using a built-in tuner
  • Search for a neural network architecture with one-shot or multi-trial strategies
  • Compress a trained model with pruning or quantization algorithms
  • Distribute tuning trials across a local machine, SSH servers, or Kubernetes-based services

Great for

  • Researchers comparing hyperparameter tuning algorithms such as TPE, Hyperband, or Bayesian methods
  • Engineers who want to prune or quantize a PyTorch or TensorFlow model to make it smaller
  • Teams that need to run many training trials across several machines
  • Students learning how automated model search works in practice

Not ideal for

  • New projects that need active maintenance, since the repository is archived and last pushed in July 2024
  • Users who only need a simple grid search for one small model, where a lighter library is enough
  • Non-programmers, since it requires editing training code and configuration files

How to get it

  1. 1

    Install with a package manager

    You'll need: Python

    Install the current release

    pip install nni

    Upgrade to the latest version

    pip install nni --upgrade
  2. 2

    Run it

    • Install NNI with pip
    • Read the official documentation at nni.readthedocs.io for the quickstart
    • Wrap your existing training script so it reports results to NNI
    • Define a search space and choose a tuner or strategy
    • Start an experiment and review the results in the web interface
  3. 3

    Get the most out of it

    • Pick a tuner from the listed algorithms that fits your search budget, such as TPE for general use or Hyperband for early stopping
    • Use the listed training services to run trials in parallel on remote or cluster resources
    • Combine architecture search with model compression to reduce the size of the final model
    • Check the official documentation, which the README says contains the latest API and tutorials

Downloads

Strengths

  • Covers hyperparameter tuning, architecture search, and model compression in one toolkit
  • Offers many named algorithms and supports several popular deep learning frameworks
  • Released under the permissive MIT license

Trade-offs

  • The repository is archived, so there may be no fixes or updates for newer library versions
  • The latest release listed is v3.0 with no binaries, so installation relies on pip or building from source
  • Setup and configuration take some effort for distributed training services

How it compares

ProjectStarsTypeLevelUpdatedBest for
nni (this)14.4kLibraryintermediate2.3 years agoResearchers comparing hyperparameter tuning algorithms such as TPE, Hyperband, or Bayesian methods
optuna15kLibraryintermediate7 days agoMachine learning practitioners tuning model settings such as learning rate or tree depth
wandb11.3kLibrarybeginner4 days agoMachine learning engineers who want to compare training runs over time
onnxruntime22.2kLibraryintermediate4 days agoDevelopers who want to deploy a trained model inside an application or service
Made-With-ML49.9kLearning resourceintermediate8 months agoSoftware engineers who want to learn how ML models get deployed and maintained
mit-deep-learning10.5kLearning resourcebeginner2.8 years agoStudents following MIT deep learning courses

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.