Skip to content
/ nni Public
forked from microsoft/nni

An open source AutoML toolkit for neural architecture search and hyper-parameter tuning.

License

Notifications You must be signed in to change notification settings

kant/nni

 
 

Repository files navigation

Neural Network Intelligence

Build Status

NNI (Neural Network Intelligence) is a toolkit to help users run automated machine learning experiments. The tool dispatches and runs trial jobs that generated by tuning algorithms to search the best neural architecture and/or hyper-parameters in different environments (e.g. local machine, remote servers and cloud).

            AutoML experiment                                 Training Services
┌────────┐        ┌────────────────────────┐                  ┌────────────────┐
│ nnictl │ ─────> │  nni_manager           │                  │ Local Machine  │
└────────┘        │    sdk/tuner           │                  └────────────────┘
                  │      hyperopt_tuner    │
                  │      evolution_tuner   │    trial jobs    ┌────────────────┐
                  │      ...               │     ────────>    │ Remote Servers │          
                  ├────────────────────────┤                  └────────────────┘
                  │  trial job source code │                  
                  │    sdk/annotation      │                  ┌────────────────┐
                  ├────────────────────────┤                  │ Yarn,K8s,      │
                  │  nni_board             │                  │ ...            │
                  └────────────────────────┘                  └────────────────┘

Who should consider using NNI

  • You want to try different AutoML algorithms for your training code (model) at local
  • You want to run AutoML trial jobs in different environments to speed up search (e.g. remote servers and cloud)
  • As a researcher and data scientist, you want to implement your own AutoML algorithms and compare with other algorithms
  • As a ML platform owner, you want to support AutoML in your platform

Get Started with NNI

Installation

pip Installation Prerequisites

  • linux (ubuntu 16.04 or newer version has been well tested)
  • python >= 3.5
  • git, wget
pip3 install -v --user git+https://github.com/Microsoft/nni.git@v0.1
source ~/.bashrc

Quick start: run your first experiment at local

It only requires 3 steps to start an experiment on NNI:

NNI provides a set of examples in the package to get you familiar with the above process. In the following example [/examples/trials/mnist], we had already set up the configuration and updated the training codes for you. You can directly run the following command to start an experiment.

NOTE: The following example is an experiment built on TensorFlow, make sure you have TensorFlow installed before running the following command.

Try it out:

    nnictl create --config ~/nni/examples/trials/mnist/config.yml

In the command output, find out the Web UI url and open it in your browser. You can analyze your experiment through WebUI, or browse trials' tensorboard.

To learn more about how this example was constructed and how to analyze the experiement results in NNI Web UI, please refer to How to write a trial run on NNI (MNIST as an example)?

Please refer to Get Started Tutorial for more detailed information.

More tutorials

Contributing

This project welcomes contributions and suggestions, we are constructing the contribution guidelines, stay tuned =).

We use GitHub issues for tracking requests and bugs.

About

An open source AutoML toolkit for neural architecture search and hyper-parameter tuning.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 55.5%
  • Python 41.4%
  • CSS 1.6%
  • Makefile 1.3%
  • HTML 0.1%
  • JavaScript 0.1%