"src/targets/vscode:/vscode.git/clone" did not exist on "af0d45a50f149472f2cba394fb232db2ee3254b2"
RELEASE.md 10.4 KB
Newer Older
Yan Ni's avatar
Yan Ni committed
1
2
# ChangeLog

chicm-ms's avatar
chicm-ms committed
3
4
5
6
7
8
9
10
11
12
13
14
15
16
## Release 0.5.2 - 3/4/2019
### Improvements
* Curve fitting assessor performance improvement.

### Documentation
* Chinese version document: https://nni.readthedocs.io/zh/latest/
* Debuggability/serviceability document: https://nni.readthedocs.io/en/latest/HowToDebug.html
* Tuner assessor reference: https://nni.readthedocs.io/en/latest/sdk_reference.html#tuner

### Bug Fixes and Other Changes
* Fix a race condition bug that does not store trial job cancel status correctly.
* Fix search space parsing error when using SMAC tuner.
* Fix cifar10 example broken pipe issue.
* Add unit test cases for nnimanager and local training service.
17
18
* Add integration test azure pipelines for remote machine, OpenPAI and kubeflow training services.
* Support Pylon in OpenPAI webhdfs client.
chicm-ms's avatar
chicm-ms committed
19
20


21
22
## Release 0.5.1 - 1/31/2018
### Improvements
Yan Ni's avatar
Yan Ni committed
23
24
* Making [log directory](https://github.com/Microsoft/nni/blob/v0.5.1/docs/en_US/ExperimentConfig.md) configurable
* Support [different levels of logs](https://github.com/Microsoft/nni/blob/v0.5.1/docs/en_US/ExperimentConfig.md), making it easier for debugging 
25
26
27
28
29
30

### Documentation
* Reorganized documentation & New Homepage Released: https://nni.readthedocs.io/en/latest/

### Bug Fixes and Other Changes
* Fix the bug of installation in python virtualenv, and refactor the installation logic
31
* Fix the bug of HDFS access failure on OpenPAI mode after OpenPAI is upgraded. 
32
33
34
* Fix the bug that sometimes in-place flushed stdout makes experiment crash


Yan Ni's avatar
Yan Ni committed
35
## Release 0.5.0 - 01/14/2019
36

Yan Ni's avatar
Yan Ni committed
37
### Major Features
38

Yan Ni's avatar
Yan Ni committed
39
#### New tuner and assessor supports
Yan Ni's avatar
Yan Ni committed
40

Yan Ni's avatar
Yan Ni committed
41
* Support [Metis tuner](metisTuner.md) as a new NNI tuner. Metis algorithm has been proofed to be well performed for **online** hyper-parameter tuning.
42
* Support [ENAS customized tuner](https://github.com/countif/enas_nni), a tuner contributed by github community user, is an algorithm for neural network search, it could learn neural network architecture via reinforcement learning and serve a better performance than NAS.
Yan Ni's avatar
Yan Ni committed
43
* Support [Curve fitting assessor](curvefittingAssessor.md) for early stop policy using learning curve extrapolation.
44
* Advanced Support of [Weight Sharing](./AdvancedNAS.md): Enable weight sharing for NAS tuners, currently through NFS.
xuehui's avatar
xuehui committed
45

Yan Ni's avatar
Yan Ni committed
46
#### Training Service Enhancement
47

xuehui's avatar
xuehui committed
48
* [FrameworkController Training service](./FrameworkControllerMode.md): Support run experiments using frameworkcontroller on kubernetes
49
50
51
  * FrameworkController is a Controller on kubernetes that is general enough to run (distributed) jobs with various machine learning frameworks, such as tensorflow, pytorch, MXNet.
  * NNI provides unified and simple specification for job definition.
  * MNIST example for how to use FrameworkController.
xuehui's avatar
xuehui committed
52

Yan Ni's avatar
Yan Ni committed
53
#### User Experience improvements
54

55
* A better trial logging support for NNI experiments in OpenPAI, Kubeflow and FrameworkController mode:
56
57
58
  * An improved logging architecture to send stdout/stderr of trials to NNI manager via Http post. NNI manager will store trial's stdout/stderr messages in local log file.
  * Show the link for trial log file on WebUI.
* Support to show final result's all key-value pairs.
xuehui's avatar
xuehui committed
59

Yan Ni's avatar
Yan Ni committed
60
## Release 0.4.1 - 12/14/2018
61

Yan Ni's avatar
Yan Ni committed
62
### Major Features
63

Yan Ni's avatar
Yan Ni committed
64
#### New tuner supports
65

Yan Ni's avatar
Yan Ni committed
66
* Support [network morphism](networkmorphismTuner.md) as a new tuner
xuehui's avatar
xuehui committed
67

Yan Ni's avatar
Yan Ni committed
68
#### Training Service improvements
69

70
* Migrate [Kubeflow training service](KubeflowMode.md)'s dependency from kubectl CLI to [Kubernetes API](https://kubernetes.io/docs/concepts/overview/kubernetes-api/) client
71
72
73
* [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
xuehui's avatar
xuehui committed
74

Yan Ni's avatar
Yan Ni committed
75
#### NNICTL improvements
76
77

* Show version information both in nnictl and WebUI. You can run **nnictl -v** to show your current installed NNI version
xuehui's avatar
xuehui committed
78

Yan Ni's avatar
Yan Ni committed
79
#### WebUI improvements
80
81
82
83
84
85
86

* 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
xuehui's avatar
xuehui committed
87

Yan Ni's avatar
Yan Ni committed
88
### New examples
89
90
91
92

* [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

Yan Ni's avatar
Yan Ni committed
93
## Release 0.4 - 12/6/2018
94

Yan Ni's avatar
Yan Ni committed
95
### Major Features
96
97
98

* [Kubeflow Training service](./KubeflowMode.md)
  * Support tf-operator
Yan Ni's avatar
Yan Ni committed
99
  * [Distributed trial example](https://github.com/Microsoft/nni/tree/master/examples/trials/mnist-distributed/dist_mnist.py) on Kubeflow
Yan Ni's avatar
Yan Ni committed
100
101
* [Grid search tuner](gridsearchTuner.md) 
* [Hyperband tuner](hyperbandAdvisor.md)
102
103
104
105
106
107
108
109
110
111
* Support launch NNI experiment on MAC
* WebUI
  * UI support for hyperband tuner
  * Remove tensorboard button
  * Show experiment error message
  * Show line numbers in search space and trial profile
  * Support search a specific trial by trial number
  * Show trial's hdfsLogPath
  * Download experiment parameters

Yan Ni's avatar
Yan Ni committed
112
### Others
113
114
115
116
117

* Asynchronous dispatcher
* Docker file update, add pytorch library 
* Refactor 'nnictl stop' process, send SIGTERM to nni manager process, rather than calling stop Rest API. 
* OpenPAI training service bug fix
118
  * Support NNI Manager IP configuration(nniManagerIp) in OpenPAI cluster config file, to fix the issue that user’s machine has no eth0 device 
119
  * File number in codeDir is capped to 1000 now, to avoid user mistakenly fill root dir for codeDir
120
  * Don’t print useless ‘metrics is empty’ log in OpenPAI job’s stdout. Only print useful message once new metrics are recorded, to reduce confusion when user checks OpenPAI trial’s output for debugging purpose
121
  * Add timestamp at the beginning of each log entry in trial keeper.
122

Yan Ni's avatar
Yan Ni committed
123
## Release 0.3.0 - 11/2/2018
124

Yan Ni's avatar
Yan Ni committed
125
### NNICTL new features and updates
126

127
128
129
130
131
132
133
* 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:

  ```bash
  nnictl create --port 8081 --config <config file path>
  ```
chicm-ms's avatar
chicm-ms committed
134

135
* Support updating max trial number.
136
  use `nnictl update --help` to learn more. Or refer to [NNICTL Spec](NNICTLDOC.md) for the fully usage of NNICTL.
chicm-ms's avatar
chicm-ms committed
137

Yan Ni's avatar
Yan Ni committed
138
### API new features and updates
139

140
* <span style="color:red">**breaking change**</span>: 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.
chicm-ms's avatar
chicm-ms committed
141

142
* New API **nni.get_sequence_id()**. 
143
144
145
146
147
148
149
  Each trial job is allocated a unique sequence number, which can be retrieved by nni.get_sequence_id() API.

  ```bash
  git clone -b v0.3 https://github.com/Microsoft/nni.git
  ```

* **nni.report_final_result(result)** API supports more data types for result parameter.
150

151
152
153
154
  It can be of following types:
  * int
  * 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.
chicm-ms's avatar
chicm-ms committed
155

Yan Ni's avatar
Yan Ni committed
156
### New tuner support
157

158
* **Batch Tuner** which iterates all parameter combination, can be used to submit batch trial jobs.
chicm-ms's avatar
chicm-ms committed
159

Yan Ni's avatar
Yan Ni committed
160
### New examples
161

162
* A NNI Docker image for public usage:
163
164
165
166
167

  ```bash
  docker pull msranni/nni:latest
  ```

168
169
* 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)
170

Yan Ni's avatar
Yan Ni committed
171
### Others
172

173
174
175
* 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).
chicm-ms's avatar
chicm-ms committed
176

Yan Ni's avatar
Yan Ni committed
177
## Release 0.2.0 - 9/29/2018
178

Yan Ni's avatar
Yan Ni committed
179
### Major Features
180

181
* Support [OpenPAI](https://github.com/Microsoft/pai) Training Platform (See [here](./PAIMode.md) for instructions about how to submit NNI job in pai mode)
182
183
  * 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
Yan Ni's avatar
Yan Ni committed
184
* Support [SMAC](https://www.cs.ubc.ca/~hutter/papers/10-TR-SMAC.pdf) tuner (See [here](smacTuner.md) for instructions about how to use SMAC tuner)
185
186
187
188
189
  * [SMAC](https://www.cs.ubc.ca/~hutter/papers/10-TR-SMAC.pdf) is based on Sequential Model-Based Optimization (SMBO). It adapts the most prominent previously used model class (Gaussian stochastic process models) and introduces the model class of random forests to SMBO to handle categorical parameters. The SMAC supported by NNI is a wrapper on [SMAC3](https://github.com/automl/SMAC3)
* Support NNI installation on [conda](https://conda.io/docs/index.html) and python virtual environment
* Others
  * Update ga squad example and related documentation
  * WebUI UX small enhancement and bug fix
fishyds's avatar
fishyds committed
190

Yan Ni's avatar
Yan Ni committed
191
### Known Issues
192

fishyds's avatar
fishyds committed
193
194
[Known Issues in release 0.2.0](https://github.com/Microsoft/nni/labels/nni020knownissues).

Yan Ni's avatar
Yan Ni committed
195
## Release 0.1.0 - 9/10/2018 (initial release)
196
197
198

Initial release of Neural Network Intelligence (NNI).

Yan Ni's avatar
Yan Ni committed
199
### Major Features
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215

* 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
* Tuners, Assessors and Trial
  * Support AutoML algorithms including:  hyperopt_tpe, hyperopt_annealing, hyperopt_random, and evolution_tuner
  * Support assessor(early stop) algorithms including: medianstop algorithm
  * Provide Python API for user defined tuners and assessors
  * Provide Python API for user to wrap trial code as NNI deployable codes
* Experiments
  * Provide a command line toolkit 'nnictl' for experiments management
  * Provide a WebUI for viewing experiments details and managing experiments
* Continuous Integration
  * Support CI by providing out-of-box integration with [travis-ci](https://github.com/travis-ci) on ubuntu
* Others
  * Support simple GPU job scheduling
216

Yan Ni's avatar
Yan Ni committed
217
### Known Issues
218

Scarlett Li's avatar
Scarlett Li committed
219
[Known Issues in release 0.1.0](https://github.com/Microsoft/nni/labels/nni010knownissues).