diff --git a/_config.yml b/_config.yml deleted file mode 100644 index 9da9a0291e..0000000000 --- a/_config.yml +++ /dev/null @@ -1 +0,0 @@ -theme: jekyll-theme-dinky \ No newline at end of file diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 0000000000..515c79da3c --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,3 @@ +_build +_static +_templates \ No newline at end of file diff --git a/docs/Assessors.md b/docs/Builtin_Assessors.md similarity index 83% rename from docs/Assessors.md rename to docs/Builtin_Assessors.md index 0d3c0632a4..25f3e54c83 100644 --- a/docs/Assessors.md +++ b/docs/Builtin_Assessors.md @@ -1,16 +1,4 @@ -# Assessors - -## Overview - -In order to save our computing resources, NNI supports an early stop policy and creates **Assessor** to finish this job. - -Assessor receives the intermediate result from Trial and decides whether the Trial should be killed by specific algorithm. Once the Trial experiment meets the early stop conditions(which means assessor is pessimistic about the final results), the assessor will kill the trial and the status of trial will be `"EARLY_STOPPED"`. - -Here is an experimental result of MNIST after using 'Curvefitting' Assessor in 'maximize' mode, you can see that assessor successfully **early stopped** many trials with bad hyperparameters in advance. If you use assessor, we may get better hyperparameters under the same computing resources. - -*Implemented code directory: [config_assessor.yml][5]* - -![](./img/Assessor.png) +# Builtin Assessors NNI provides the-state-of-art tuning algorithm in our builtin-assessors and makes them easy to use. Below is the brief overview of NNI current builtin Assessors: diff --git a/docs/Tuners.md b/docs/Builtin_Tuner.md similarity index 96% rename from docs/Tuners.md rename to docs/Builtin_Tuner.md index 763b85a03a..1f3d1c1816 100644 --- a/docs/Tuners.md +++ b/docs/Builtin_Tuner.md @@ -1,12 +1,4 @@ -# Tuners - -## Overview - -NNI provides an easy way to adopt an approach to set up parameter tuning algorithms, we call them **Tuner**. - -Tuner receives the result from `Trial` as a matrix to evaluate the performance of a specific parameters/architecture configures. And tuner sends next hyper-parameter or architecture configure to Trial. - -In NNI, we support two approaches to set the tuner: first is directly use builtin tuner provided by nni sdk, second is customize a tuner file by yourself. +# Builtin Tuners NNI provides the-state-of-art tuning algorithm in our builtin-tuners and makes them easy to use. Below is the brief overview of NNI current builtin Tuners: diff --git a/docs/Contribution.rst b/docs/Contribution.rst new file mode 100644 index 0000000000..ced890d516 --- /dev/null +++ b/docs/Contribution.rst @@ -0,0 +1,8 @@ +############################### +Contribution to NNI +############################### + +.. toctree:: + Development Setup + Contribution Guide + Debug HowTo \ No newline at end of file diff --git a/docs/Examples.rst b/docs/Examples.rst new file mode 100644 index 0000000000..32b83c37ea --- /dev/null +++ b/docs/Examples.rst @@ -0,0 +1,6 @@ +###################### +Examples +###################### + +.. toctree:: + MNIST_Examples \ No newline at end of file diff --git a/docs/FAQ.md b/docs/FAQ.md index 074f519c4c..e2423dcf1c 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -1,3 +1,5 @@ +# FAQ + This page is for frequent asked questions and answers. diff --git a/docs/GetStarted.md b/docs/GetStarted.md index 8dced37cd6..8301c10ab6 100644 --- a/docs/GetStarted.md +++ b/docs/GetStarted.md @@ -1,5 +1,4 @@ -**Get Started with NNI** -=== +# Get Started with NNI ## **Installation** * __Dependencies__ diff --git a/docs/Installation.md b/docs/Installation.md index ef7400df4b..fbd939d36d 100644 --- a/docs/Installation.md +++ b/docs/Installation.md @@ -1,5 +1,4 @@ -**Installation of NNI** -=== +# Installation of NNI Currently we only support installation on Linux & Mac. diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 0000000000..298ea9e213 --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,19 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +SOURCEDIR = . +BUILDDIR = _build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) \ No newline at end of file diff --git a/docs/README.md b/docs/README.md index 193307cf6f..a882498cd9 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,22 +1,24 @@ +# Overview +

-drawing +drawing

----------- -[![MIT licensed](https://img.shields.io/badge/license-MIT-yellow.svg)](https://github.com/Microsoft/nni/blob/master/LICENSE) -[![Build Status](https://msrasrg.visualstudio.com/NNIOpenSource/_apis/build/status/Microsoft.nni)](https://msrasrg.visualstudio.com/NNIOpenSource/_build/latest?definitionId=6) -[![Issues](https://img.shields.io/github/issues-raw/Microsoft/nni.svg)](https://github.com/Microsoft/nni/issues?q=is%3Aissue+is%3Aopen) -[![Bugs](https://img.shields.io/github/issues/Microsoft/nni/bug.svg)](https://github.com/Microsoft/nni/issues?q=is%3Aissue+is%3Aopen+label%3Abug) -[![Pull Requests](https://img.shields.io/github/issues-pr-raw/Microsoft/nni.svg)](https://github.com/Microsoft/nni/pulls?q=is%3Apr+is%3Aopen) -[![Version](https://img.shields.io/github/release/Microsoft/nni.svg)](https://github.com/Microsoft/nni/releases) [![Join the chat at https://gitter.im/Microsoft/nni](https://badges.gitter.im/Microsoft/nni.svg)](https://gitter.im/Microsoft/nni?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +[![](https://img.shields.io/badge/license-MIT-yellow.svg)](https://github.com/Microsoft/nni/blob/master/LICENSE) +[![](https://msrasrg.visualstudio.com/NNIOpenSource/_apis/build/status/Microsoft.nni)](https://msrasrg.visualstudio.com/NNIOpenSource/_build/latest?definitionId=6) +[![](https://img.shields.io/github/issues-raw/Microsoft/nni.svg)](https://github.com/Microsoft/nni/issues?q=is%3Aissue+is%3Aopen) +[![](https://img.shields.io/github/issues/Microsoft/nni/bug.svg)](https://github.com/Microsoft/nni/issues?q=is%3Aissue+is%3Aopen+label%3Abug) +[![](https://img.shields.io/github/issues-pr-raw/Microsoft/nni.svg)](https://github.com/Microsoft/nni/pulls?q=is%3Apr+is%3Aopen) +[![](https://img.shields.io/github/release/Microsoft/nni.svg)](https://github.com/Microsoft/nni/releases) +[![](https://badges.gitter.im/Microsoft/nni.svg)](https://gitter.im/Microsoft/nni?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) NNI (Neural Network Intelligence) is a toolkit to help users run automated machine learning (AutoML) experiments. The tool dispatches and runs trial jobs generated by tuning algorithms to search the best neural architecture and/or hyper-parameters in different environments like local machine, remote servers and cloud. -

-drawing -

+ +![](img/nni_arch_overview.png) ## **Who should consider using NNI** * Those who want to try different AutoML algorithms in their training code (model) at their local machine. @@ -86,11 +88,13 @@ You can use these commands to get more information about the experiment * Open the `Web UI url` in your browser, you can view detail information of the experiment and all the submitted trial jobs as shown below. [Here](WebUI.md) are more Web UI pages. + - - + +
drawingdrawingdrawingdrawing
+ ## **Documentation** * [NNI overview](Overview.md) * [Quick start](GetStarted.md) diff --git a/docs/RELEASE.md b/docs/RELEASE.md index 390b18b10e..4043127c75 100644 --- a/docs/RELEASE.md +++ b/docs/RELEASE.md @@ -1,6 +1,35 @@ -# Release 0.4 - 12/6/2018 - -## Major Features +# ChangeLog + +## Release 0.4.1 - 12/14/2018 +### Major Features +#### New tuner supports + * Support [network morphism](./HowToChooseTuner.md#NetworkMorphism) as a new tuner + +#### Training Service improvements + * Migrate [Kubeflow training service](https://github.com/Microsoft/nni/blob/master/docs/KubeflowMode.md)'s dependency from kubectl CLI to [Kubernetes API](https://kubernetes.io/docs/concepts/overview/kubernetes-api/) client + * [Pytorch-operator](https://github.com/kubeflow/pytorch-operator) support for Kubeflow training service + * Improvement on local code files uploading to OpenPAI HDFS + * Fixed OpenPAI integration WebUI bug: WebUI doesn't show latest trial job status, which is caused by OpenPAI token expiration + +#### NNICTL improvements + * Show version information both in nnictl and WebUI. You can run **nnictl -v** to show your current installed NNI version + +#### WebUI improvements + * Enable modify concurrency number during experiment + * Add feedback link to NNI github 'create issue' page + * Enable customize top 10 trials regarding to metric numbers (largest or smallest) + * Enable download logs for dispatcher & nnimanager + * Enable automatic scaling of axes for metric number + * Update annotation to support displaying real choice in searchspace + +### New examples + * [FashionMnist](https://github.com/Microsoft/nni/tree/master/examples/trials/network_morphism), work together with network morphism tuner + * [Distributed MNIST example](https://github.com/Microsoft/nni/tree/master/examples/trials/mnist-distributed-pytorch) written in PyTorch + + +## Release 0.4 - 12/6/2018 + +### Major Features * [Kubeflow Training service](./KubeflowMode.md) * Support tf-operator * [Distributed trial example](../examples/trials/mnist-distributed/dist_mnist.py) on Kubeflow @@ -15,7 +44,7 @@ * Support search a specific trial by trial number * Show trial's hdfsLogPath * Download experiment parameters -## Others +### Others * Asynchronous dispatcher * Docker file update, add pytorch library * Refactor 'nnictl stop' process, send SIGTERM to nni manager process, rather than calling stop Rest API. @@ -25,8 +54,8 @@ * Don’t print useless ‘metrics is empty’ log int PAI job’s stdout. Only print useful message once new metrics are recorded, to reduce confusion when user checks PAI trial’s output for debugging purpose * Add timestamp at the beginning of each log entry in trial keeper. -# Release 0.3.0 - 11/2/2018 -## NNICTL new features and updates +## Release 0.3.0 - 11/2/2018 +### NNICTL new features and updates * Support running multiple experiments simultaneously. Before v0.3, NNI only supports running single experiment once a time. After this realse, users are able to run multiple experiments simultaneously. Each experiment will require a unique port, the 1st experiment will be set to the default port as previous versions. You can specify a unique port for the rest experiments as below: @@ -35,7 +64,7 @@ * Support updating max trial number. use ```nnictl update --help``` to learn more. Or refer to [NNICTL Spec](https://github.com/Microsoft/nni/blob/master/docs/NNICTLDOC.md) for the fully usage of NNICTL. -## API new features and updates +### API new features and updates * **breaking change**: nn.get_parameters() is refactored to nni.get_next_parameter. All examples of prior releases can not run on v0.3, please clone nni repo to get new examples. If you had applied NNI to your own codes, please update the API accordingly. * New API **nni.get_sequence_id()**. @@ -48,23 +77,23 @@ * float * A python dict containing 'default' key, the value of 'default' key should be of type int or float. The dict can contain any other key value pairs. -## New tuner support +### New tuner support * **Batch Tuner** which iterates all parameter combination, can be used to submit batch trial jobs. -## New examples +### New examples * A NNI Docker image for public usage: ```docker pull msranni/nni:latest``` * New trial example: [NNI Sklearn Example](https://github.com/Microsoft/nni/tree/master/examples/trials/sklearn) * New competition example: [Kaggle Competition TGS Salt Example](https://github.com/Microsoft/nni/tree/master/examples/trials/kaggle-tgs-salt) -## Others +### Others * UI refactoring, refer to [WebUI doc](WebUI.md) for how to work with the new UI. * Continuous Integration: NNI had switched to Azure pipelines * [Known Issues in release 0.3.0](https://github.com/Microsoft/nni/labels/nni030knownissues). -# Release 0.2.0 - 9/29/2018 -## Major Features +## Release 0.2.0 - 9/29/2018 +### Major Features * Support [OpenPAI](https://github.com/Microsoft/pai) (aka pai) Training Service (See [here](./PAIMode.md) for instructions about how to submit NNI job in pai mode) * Support training services on pai mode. NNI trials will be scheduled to run on OpenPAI cluster * NNI trial's output (including logs and model file) will be copied to OpenPAI HDFS for further debugging and checking @@ -75,14 +104,14 @@ * Update ga squad example and related documentation * WebUI UX small enhancement and bug fix -## Known Issues +### Known Issues [Known Issues in release 0.2.0](https://github.com/Microsoft/nni/labels/nni020knownissues). -# Release 0.1.0 - 9/10/2018 (initial release) +## Release 0.1.0 - 9/10/2018 (initial release) Initial release of Neural Network Intelligence (NNI). -## Major Features +### Major Features * Installation and Deployment * Support pip install and source codes install * Support training services on local mode(including Multi-GPU mode) as well as multi-machines mode @@ -99,7 +128,7 @@ Initial release of Neural Network Intelligence (NNI). * Others * Support simple GPU job scheduling -## Known Issues +### Known Issues [Known Issues in release 0.1.0](https://github.com/Microsoft/nni/labels/nni010knownissues). diff --git a/docs/Reference.rst b/docs/Reference.rst new file mode 100644 index 0000000000..3ce330c3c4 --- /dev/null +++ b/docs/Reference.rst @@ -0,0 +1,11 @@ +References +================== + +.. toctree:: + :maxdepth: 3 + + Command Line + Python API + Annotation + Configuration + Search Space \ No newline at end of file diff --git a/docs/Tutorials.rst b/docs/Tutorials.rst new file mode 100644 index 0000000000..04b97116ac --- /dev/null +++ b/docs/Tutorials.rst @@ -0,0 +1,13 @@ +###################### +Tutorials +###################### + +.. toctree:: + QuickStart + Installation + Trial + Tuners + Assessors + WebUI + Training Platform + AdvancedNAS \ No newline at end of file diff --git a/docs/assessors.rst b/docs/assessors.rst new file mode 100644 index 0000000000..9cb127798b --- /dev/null +++ b/docs/assessors.rst @@ -0,0 +1,19 @@ +Assessors +============== +Overview +-------------- +In order to save our computing resources, NNI supports an early stop policy and creates **Assessor** to finish this job. + +Assessor receives the intermediate result from Trial and decides whether the Trial should be killed by specific algorithm. Once the Trial experiment meets the early stop conditions(which means assessor is pessimistic about the final results), the assessor will kill the trial and the status of trial will be `"EARLY_STOPPED"`. + +Here is an experimental result of MNIST after using 'Curvefitting' Assessor in 'maximize' mode, you can see that assessor successfully **early stopped** many trials with bad hyperparameters in advance. If you use assessor, we may get better hyperparameters under the same computing resources. + +*Implemented code directory: [config_assessor.yml][5]* + +![](./img/Assessor.png) + +Like Tuners, users can either use built-in Assessors, or customize an Assessor on their own. Please refer to the following tutorials for detail: + +.. toctree:: + Builtin Assessors + Customized Assessors diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 0000000000..5f4b99810c --- /dev/null +++ b/docs/conf.py @@ -0,0 +1,187 @@ +# -*- coding: utf-8 -*- +# +# Configuration file for the Sphinx documentation builder. +# +# This file does only contain a selection of the most common options. For a +# full list see the documentation: +# http://www.sphinx-doc.org/en/master/config + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +# import os +# import sys +# sys.path.insert(0, os.path.abspath('.')) + +import recommonmark +from recommonmark.parser import CommonMarkParser + +# -- Project information --------------------------------------------------- + +project = 'Neural Network Intelligence' +copyright = '2019, Microsoft' +author = 'Microsoft' + +# The short X.Y version +version = '' +# The full version, including alpha/beta/rc tags +release = 'v0.5' + +# -- General configuration --------------------------------------------------- + +# If your documentation needs a minimal Sphinx version, state it here. +# +# needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ + 'sphinx.ext.autodoc', + 'sphinx.ext.mathjax', + 'sphinx_markdown_tables', + 'sphinxarg.ext', +] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: +# +source_parsers = { + '.md': CommonMarkParser +} + +source_suffix = ['.rst', '.md'] + +# The master toctree document. +master_doc = 'index' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +# +# This is also used if you do content translation via gettext catalogs. +# Usually you set "language" from the command line for these cases. +language = None + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = None + + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = 'sphinx_rtd_theme' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +# +html_theme_options = { + 'logo_only': True, +} + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# Custom sidebar templates, must be a dictionary that maps document names +# to template names. +# +# The default sidebars (for documents that don't match any pattern) are +# defined by theme itself. Builtin themes are using these templates by +# default: ``['localtoc.html', 'relations.html', 'sourcelink.html', +# 'searchbox.html']``. +# +# html_sidebars = {} + +html_logo = './img/nni_logo_dark.png' + +# -- Options for HTMLHelp output --------------------------------------------- + +# Output file base name for HTML help builder. +htmlhelp_basename = 'NeuralNetworkIntelligencedoc' + + +# -- Options for LaTeX output ------------------------------------------------ + +latex_elements = { + # The paper size ('letterpaper' or 'a4paper'). + # + # 'papersize': 'letterpaper', + + # The font size ('10pt', '11pt' or '12pt'). + # + # 'pointsize': '10pt', + + # Additional stuff for the LaTeX preamble. + # + # 'preamble': '', + + # Latex figure (float) alignment + # + # 'figure_align': 'htbp', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). +latex_documents = [ + (master_doc, 'NeuralNetworkIntelligence.tex', 'Neural Network Intelligence Documentation', + 'Microsoft', 'manual'), +] + + +# -- Options for manual page output ------------------------------------------ + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + (master_doc, 'neuralnetworkintelligence', 'Neural Network Intelligence Documentation', + [author], 1) +] + + +# -- Options for Texinfo output ---------------------------------------------- + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + (master_doc, 'NeuralNetworkIntelligence', 'Neural Network Intelligence Documentation', + author, 'NeuralNetworkIntelligence', 'One line description of project.', + 'Miscellaneous'), +] + + +# -- Options for Epub output ------------------------------------------------- + +# Bibliographic Dublin Core info. +epub_title = project + +# The unique identifier of the text. This can be a ISBN number +# or the project homepage. +# +# epub_identifier = '' + +# A unique identification for the text. +# +# epub_uid = '' + +# A list of files that should not be packed into the epub file. +epub_exclude_files = ['search.html'] + + +# -- Extension configuration ------------------------------------------------- diff --git a/docs/howto_1_WriteTrial.md b/docs/howto_1_WriteTrial.md index 506c6b8fa1..4693a68f1e 100644 --- a/docs/howto_1_WriteTrial.md +++ b/docs/howto_1_WriteTrial.md @@ -1,5 +1,4 @@ -**Write a Trial Run on NNI** -=== +# Write a Trial Run on NNI A **Trial** in NNI is an individual attempt at applying a set of parameters on a model. diff --git a/docs/img/nni_logo_dark.png b/docs/img/nni_logo_dark.png new file mode 100644 index 0000000000..6432b2cb76 Binary files /dev/null and b/docs/img/nni_logo_dark.png differ diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 0000000000..c507346a02 --- /dev/null +++ b/docs/index.rst @@ -0,0 +1,20 @@ +######################################### +Neural Network Intelligence Documentation +######################################### + +******** +Contents +******** + +.. toctree:: + :caption: Table of Contents + :maxdepth: 2 + :glob: + + Overview + Changelog + Tutorials + Examples + Reference + Contribution + FAQ \ No newline at end of file diff --git a/docs/requirements.txt b/docs/requirements.txt index baf208dd99..4d6a69d9f4 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1 +1,7 @@ -mkdocs==1.0.4 \ No newline at end of file +sphinx==1.8.3 +sphinx-argparse==0.2.5 +sphinx-markdown-tables==0.0.9 +sphinx-rtd-theme==0.4.2 +sphinxcontrib-websupport==1.1.0 +recommonmark==0.5.0 +nni==0.5 \ No newline at end of file diff --git a/docs/sdk_reference.rst b/docs/sdk_reference.rst new file mode 100644 index 0000000000..e3d69e59df --- /dev/null +++ b/docs/sdk_reference.rst @@ -0,0 +1,22 @@ +########################### +Python API Reference +########################### + +API for trial code +------------------------ +.. autofunction:: nni.get_next_parameter +.. autofunction:: nni.get_current_parameter +.. autofunction:: nni.report_intermediate_result +.. autofunction:: nni.report_final_result +.. autofunction:: nni.get_sequence_id + + +API for tuners +------------------------ +.. autoclass:: nni.tuner.Tuner + :members: + +API for assessors +------------------------ +.. autoclass:: nni.assessor.Assessor + :members: \ No newline at end of file diff --git a/docs/training_services.rst b/docs/training_services.rst new file mode 100644 index 0000000000..aa975369d9 --- /dev/null +++ b/docs/training_services.rst @@ -0,0 +1,7 @@ +Introduction to NNI Training Services +===================================== + +.. toctree:: + Remote + PAI + Kubeflow \ No newline at end of file diff --git a/docs/tuners.rst b/docs/tuners.rst new file mode 100644 index 0000000000..67e16dadf1 --- /dev/null +++ b/docs/tuners.rst @@ -0,0 +1,19 @@ +################# +Tuners +################# + +Overview +----------------- + +NNI provides an easy way to adopt an approach to set up parameter tuning algorithms, we call them **Tuner**. + +Tuner receives the result from `Trial` as a matrix to evaluate the performance of a specific parameters/architecture configures. And tuner sends next hyper-parameter or architecture configure to Trial. + +In NNI, we support two approaches to set the tuner: first is directly use builtin tuner provided by nni sdk, second is customize a tuner file by yourself. We also have Advisor that combines the functinality of Tuner & Assessor. + +For details, please refer to the following tutorials: + +.. toctree:: + Builtin Tuners + Customized Tuners + Customized Advisor \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml deleted file mode 100644 index c6246f0278..0000000000 --- a/mkdocs.yml +++ /dev/null @@ -1,36 +0,0 @@ -site_name: Neural Network Intelligence - -nav: - - Overview: README.md - - What's New: RELEASE.md - - Tutorials: - - QuickStart: QuickStart.md - - Installation: Installation.md - - Trials: Trials.md - - Tuners: - - Try Builtin Tuners: Tuners.md - - Customized Tuners: Customize_Tuner.md - - Customized Advisor: Customize_Advisor.md - - Assessors: - - Try Builtin Assessors: Assessors.md - - Customized Assessors: Customize_Assessor.md - - Training Platform: - - Remote: RemoteMachineMode.md - - PAI: PAIMode.md - - Kubeflow: KubeflowMode.md - - Advanced Features: - - multiPhase.md - - Examples: - - MNIST Examples: mnist_examples.md - - Reference: - - nnictl: NNICTLDOC.md - - Configuration: ExperimentConfig.md - - Search Space: SearchSpaceSpec.md - - Annotation: AnnotationSpec.md - - Tuners: - - GridSearchTuner.md - - Contribution: - - Development Setup: SetupNNIDeveloperEnvironment.md - - Contribution Guide: CONTRIBUTING.md - - Debug HowTO: HowToDebug.md -theme: readthedocs diff --git a/tools/nni_cmd/nnictl.py b/tools/nni_cmd/nnictl.py index e76c86a5cc..ca7ec6086d 100644 --- a/tools/nni_cmd/nnictl.py +++ b/tools/nni_cmd/nnictl.py @@ -34,7 +34,7 @@ def nni_info(*args): else: print('please run "nnictl {positional argument} --help" to see nnictl guidance') -def parse_args(): +def parser_init(): '''Definite the arguments users need to follow and input''' parser = argparse.ArgumentParser(prog='nnictl', description='use nnictl command to control nni experiments') parser.add_argument('--version', '-v', action='store_true') @@ -171,9 +171,9 @@ def parse_args(): parser_top.add_argument('--time', '-t', dest='time', type=int, default=3, help='the time interval to update the experiment status, ' \ 'the unit is second') parser_top.set_defaults(func=monitor_experiment) + return parser +if __name__ == '__main__': + parser = parser_init() args = parser.parse_args() args.func(args) - -if __name__ == '__main__': - parse_args()