Skip to content

Commit f69e206

Browse files
authored
Merge pull request #267 from microsoft/master
merge master
2 parents 14e9619 + 07cb73b commit f69e206

32 files changed

+38
-41
lines changed

.gitignore

-3
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,3 @@ venv.bak/
8181
# VSCode
8282
.vscode
8383
.vs
84-
85-
# In case you place source code in ~/nni/
86-
/experiments

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ Within the following table, we summarized the current NNI capabilities, we are g
215215

216216
### **Install**
217217

218-
NNI supports and is tested on Ubuntu >= 16.04, macOS >= 10.14.1, and Windows 10 >= 1809. Simply run the following `pip install` in an environment that has `python 64-bit >= 3.5`.
218+
NNI supports and is tested on Ubuntu >= 16.04, macOS >= 10.14.1, and Windows 10 >= 1809. Simply run the following `pip install` in an environment that has `python 64-bit >= 3.6`.
219219

220220
Linux or macOS
221221

deployment/docker/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ RUN cp /usr/bin/python3 /usr/bin/python
3838
#
3939
# update pip
4040
#
41-
RUN python3 -m pip install --upgrade pip==20.0.2 setuptools==39.1.0
41+
RUN python3 -m pip install --upgrade pip==20.0.2 setuptools==41.0.0
4242

4343
# numpy 1.14.3 scipy 1.1.0
4444
RUN python3 -m pip --no-cache-dir install \

docs/en_US/Assessor/CustomizeAssessor.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ assessor:
5454
5555
Please noted in **2**. The object `trial_history` are exact the object that Trial send to Assessor by using SDK `report_intermediate_result` function.
5656

57-
The working directory of your assessor is `<home>/nni/experiments/<experiment_id>/log`, which can be retrieved with environment variable `NNI_LOG_DIRECTORY`,
57+
The working directory of your assessor is `<home>/nni-experiments/<experiment_id>/log`, which can be retrieved with environment variable `NNI_LOG_DIRECTORY`,
5858

5959
More detail example you could see:
6060
> * [medianstop-assessor](https://github.com/Microsoft/nni/tree/master/src/sdk/pynni/nni/medianstop_assessor)

docs/en_US/NAS/SPOS.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ Then search with evolution tuner.
7575
nnictl create --config config_search.yml
7676
```
7777

78-
The final architecture exported from every epoch of evolution can be found in `checkpoints` under the working directory of your tuner, which, by default, is `$HOME/nni/experiments/your_experiment_id/log`.
78+
The final architecture exported from every epoch of evolution can be found in `checkpoints` under the working directory of your tuner, which, by default, is `$HOME/nni-experiments/your_experiment_id/log`.
7979

8080
### Step 3. Train from Scratch
8181

docs/en_US/SupportedFramework_Library.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Framework and Library Supports
2-
With the built-in Python API, NNI naturally supports the hyper parameter tuning and neural network search for all the AI frameworks and libraries who support Python models(`version >= 3.5`). NNI had also provided a set of examples and tutorials for some of the popular scenarios to make jump start easier.
2+
With the built-in Python API, NNI naturally supports the hyper parameter tuning and neural network search for all the AI frameworks and libraries who support Python models(`version >= 3.6`). NNI had also provided a set of examples and tutorials for some of the popular scenarios to make jump start easier.
33

44
## Supported AI Frameworks
55

docs/en_US/TrialExample/Trials.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -156,19 +156,19 @@ If NNI Annotation is used, the trial's converted code is in another temporary di
156156
#!/bin/bash
157157
cd /tmp/user_name/nni/annotation/tmpzj0h72x6 #This is the actual directory
158158
export NNI_PLATFORM=local
159-
export NNI_SYS_DIR=/home/user_name/nni/experiments/$experiment_id$/trials/$trial_id$
159+
export NNI_SYS_DIR=/home/user_name/nni-experiments/$experiment_id$/trials/$trial_id$
160160
export NNI_TRIAL_JOB_ID=nrbb2
161-
export NNI_OUTPUT_DIR=/home/user_name/nni/experiments/$eperiment_id$/trials/$trial_id$
161+
export NNI_OUTPUT_DIR=/home/user_name/nni-experiments/$eperiment_id$/trials/$trial_id$
162162
export NNI_TRIAL_SEQ_ID=1
163163
export MULTI_PHASE=false
164164
export CUDA_VISIBLE_DEVICES=
165-
eval python3 mnist.py 2>/home/user_name/nni/experiments/$experiment_id$/trials/$trial_id$/stderr
166-
echo $? `date +%s%3N` >/home/user_name/nni/experiments/$experiment_id$/trials/$trial_id$/.nni/state
165+
eval python3 mnist.py 2>/home/user_name/nni-experiments/$experiment_id$/trials/$trial_id$/stderr
166+
echo $? `date +%s%3N` >/home/user_name/nni-experiments/$experiment_id$/trials/$trial_id$/.nni/state
167167
```
168168

169169
### Other Modes
170170

171-
When running trials on other platforms like remote machine or PAI, the environment variable `NNI_OUTPUT_DIR` only refers to the output directory of the trial, while the trial code and `run.sh` might not be there. However, the `trial.log` will be transmitted back to the local machine in the trial's directory, which defaults to `~/nni/experiments/$experiment_id$/trials/$trial_id$/`
171+
When running trials on other platforms like remote machine or PAI, the environment variable `NNI_OUTPUT_DIR` only refers to the output directory of the trial, while the trial code and `run.sh` might not be there. However, the `trial.log` will be transmitted back to the local machine in the trial's directory, which defaults to `~/nni-experiments/$experiment_id$/trials/$trial_id$/`
172172

173173
For more information, please refer to [HowToDebug](../Tutorial/HowToDebug.md).
174174

docs/en_US/Tuner/CustomizeAdvisor.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ advisor:
3333
arg1: value1
3434
```
3535
36-
**Note that** The working directory of your advisor is `<home>/nni/experiments/<experiment_id>/log`, which can be retrieved with environment variable `NNI_LOG_DIRECTORY`.
36+
**Note that** The working directory of your advisor is `<home>/nni-experiments/<experiment_id>/log`, which can be retrieved with environment variable `NNI_LOG_DIRECTORY`.
3737

3838
## Example
3939

docs/en_US/Tuner/CustomizeTuner.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ parameters = {"dropout": 0.3, "learning_rate": 0.4}
8787
value = 0.93
8888
```
8989

90-
**Note that** The working directory of your tuner is `<home>/nni/experiments/<experiment_id>/log`, which can be retrieved with environment variable `NNI_LOG_DIRECTORY`, therefore, if you want to access a file (e.g., `data.txt`) in the directory of your own tuner, you cannot use `open('data.txt', 'r')`. Instead, you should use the following:
90+
**Note that** The working directory of your tuner is `<home>/nni-experiments/<experiment_id>/log`, which can be retrieved with environment variable `NNI_LOG_DIRECTORY`, therefore, if you want to access a file (e.g., `data.txt`) in the directory of your own tuner, you cannot use `open('data.txt', 'r')`. Instead, you should use the following:
9191

9292
```python
9393
_pwd = os.path.dirname(__file__)

docs/en_US/Tuner/NetworkmorphismTuner.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ If you want to save and load the **best model**, the following methods are recom
5959
```python
6060
# 1. Use NNI API
6161
## You can get the best model ID from WebUI
62-
## or `nni/experiments/experiment_id/log/model_path/best_model.txt'
62+
## or `nni-experiments/experiment_id/log/model_path/best_model.txt'
6363

6464
## read the json string from model file and load it with NNI API
6565
with open("best-model.json") as json_file:

docs/en_US/Tutorial/InstallationLinux.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Installation on Linux and macOS follow the same instructions, given below.
66

77
### Install NNI through pip
88

9-
Prerequisite: `python 64-bit >= 3.5`
9+
Prerequisite: `python 64-bit >= 3.6`
1010

1111
```bash
1212
python3 -m pip install --upgrade nni
@@ -16,7 +16,7 @@ Installation on Linux and macOS follow the same instructions, given below.
1616

1717
If you are interested in special or the latest code versions, you can install NNI through source code.
1818

19-
Prerequisites: `python 64-bit >=3.5`, `git`, `wget`
19+
Prerequisites: `python 64-bit >=3.6`, `git`, `wget`
2020

2121
```bash
2222
git clone -b v1.7 https://github.com/Microsoft/nni.git

docs/en_US/Tutorial/InstallationWin.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Prerequires
44

5-
* Python 3.5 (or above) 64-bit. [Anaconda](https://www.anaconda.com/products/individual) or [Miniconda](https://docs.conda.io/en/latest/miniconda.html) is highly recommended to manage multiple Python environments on Windows.
5+
* Python 3.6 (or above) 64-bit. [Anaconda](https://www.anaconda.com/products/individual) or [Miniconda](https://docs.conda.io/en/latest/miniconda.html) is highly recommended to manage multiple Python environments on Windows.
66

77
* If it's a newly installed Python environment, it needs to install [Microsoft C++ Build Tools](https://visualstudio.microsoft.com/visual-cpp-build-tools/) to support build NNI dependencies like `scikit-learn`.
88

docs/en_US/Tutorial/QuickStart.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Installation
44

5-
We currently support Linux, macOS, and Windows. Ubuntu 16.04 or higher, macOS 10.14.1, and Windows 10.1809 are tested and supported. Simply run the following `pip install` in an environment that has `python >= 3.5`.
5+
We currently support Linux, macOS, and Windows. Ubuntu 16.04 or higher, macOS 10.14.1, and Windows 10.1809 are tested and supported. Simply run the following `pip install` in an environment that has `python >= 3.6`.
66

77
### Linux and macOS
88

docs/en_US/_templates/index.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ <h2 class="second-title">Install</h2>
237237
<p>
238238
NNI supports and is tested on Ubuntu >= 16.04, macOS >= 10.14.1,
239239
and Windows 10 >= 1809. Simply run the following `pip install`
240-
in an environment that has `python 64-bit >= 3.5`.
240+
in an environment that has `python 64-bit >= 3.6`.
241241
</p>
242242
<div class="command-intro">Linux or macOS</div>
243243
<div class="command">python3 -m pip install --upgrade nni</div>

examples/tuners/customized_tuner/setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
version = '0.1',
99
packages = setuptools.find_packages(exclude=['*test*']),
1010

11-
python_requires = '>=3.5',
11+
python_requires = '>=3.6',
1212
classifiers = [
1313
'Programming Language :: Python :: 3',
1414
'License :: OSI Approved :: MIT License',

setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ def read(fname):
2727
'nni_gpu_tool':'tools/nni_gpu_tool'
2828
},
2929
package_data = {'nni': ['**/requirements.txt']},
30-
python_requires = '>=3.5',
30+
python_requires = '>=3.6',
3131
install_requires = [
3232
'astor',
3333
'hyperopt==0.1.2',

src/nni_manager/training_service/dlts/dltsTrainingService.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@ class DLTSTrainingService implements TrainingService {
266266
public async submitTrialJob(form: TrialJobApplicationForm): Promise<TrialJobDetail> {
267267
const trialJobId: string = uniqueString(5);
268268
const trialWorkingFolder: string = path.join(
269-
'/nni/experiments', getExperimentId(),
269+
'/nni-experiments', getExperimentId(),
270270
'/trials/', trialJobId);
271271
const trialJobDetail = new DLTSTrialJobDetail(
272272
trialJobId, // id

src/nni_manager/training_service/pai/paiTrainingService.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ abstract class PAITrainingService implements TrainingService {
5454
this.metricsEmitter = new EventEmitter();
5555
this.trialJobsMap = new Map<string, PAITrialJobDetail>();
5656
this.jobQueue = [];
57-
this.expRootDir = path.join('/nni', 'experiments', getExperimentId());
57+
this.expRootDir = path.join('/nni-experiments', getExperimentId());
5858
this.experimentId = getExperimentId();
5959
this.paiJobCollector = new PAIJobInfoCollector(this.trialJobsMap);
6060
this.paiTokenUpdateInterval = 7200000; //2hours

src/nni_manager/training_service/remote_machine/shellExecutor.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ class ShellExecutor {
175175
}
176176

177177
public getRemoteExperimentRootDir(experimentId: string): string {
178-
return this.joinPath(this.tempPath, 'nni', 'experiments', experimentId);
178+
return this.joinPath(this.tempPath, 'nni-experiments', experimentId);
179179
}
180180

181181
public joinPath(...paths: string[]): string {

src/sdk/pycli/setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
version='999.0.0-developing',
99
packages=setuptools.find_packages(),
1010

11-
python_requires='>=3.5',
11+
python_requires='>=3.6',
1212
install_requires=[
1313
'requests'
1414
],

src/sdk/pynni/setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ def read(fname):
1212
version = '999.0.0-developing',
1313
packages = setuptools.find_packages(exclude=['tests']),
1414

15-
python_requires = '>=3.5',
15+
python_requires = '>=3.6',
1616
install_requires = [
1717
'hyperopt==0.1.2',
1818
'json_tricks',

src/webui/mock/dict-metrics-100.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"trainingServicePlatform": "local",
1515
"tuner": {
1616
"builtinTunerName": "Random",
17-
"checkpointDir": "/home/user/nni/experiments/TN5K0Qju/checkpoint"
17+
"checkpointDir": "/home/user/nni-experiments/TN5K0Qju/checkpoint"
1818
},
1919
"versionCheck": true,
2020
"clusterMetaData": [

src/webui/mock/mnist-tfv1-nested.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"id": "AKVcExIf",
88
"revision": 29,
99
"execDuration": 172,
10-
"logDir": "/home/v-yugzh/nni/experiments/AKVcExIf",
10+
"logDir": "/home/v-yugzh/nni-experiments/AKVcExIf",
1111
"nextSequenceId": 10,
1212
"params": {
1313
"authorName": "default",

src/webui/mock/mnist-tfv1-running.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"id": "GD5MnU8G",
88
"revision": 22,
99
"execDuration": 172,
10-
"logDir": "/home/user/nni/experiments/GD5MnU8G",
10+
"logDir": "/home/user/nni-experiments/GD5MnU8G",
1111
"nextSequenceId": 3,
1212
"params": {
1313
"authorName": "default",

src/webui/mock/mnist-tfv2-stage0.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"id": "mw3lSbde",
88
"revision": 3,
99
"execDuration": 8,
10-
"logDir": "/***/nni/experiments/mw3lSbde",
10+
"logDir": "/***/nni-experiments/mw3lSbde",
1111
"nextSequenceId": 1,
1212
"params": {
1313
"authorName": "NNI Example",

src/webui/mock/mnist-tfv2-stage1.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"id": "mw3lSbde",
88
"revision": 34,
99
"execDuration": 233,
10-
"logDir": "/***/nni/experiments/mw3lSbde",
10+
"logDir": "/***/nni-experiments/mw3lSbde",
1111
"nextSequenceId": 9,
1212
"params": {
1313
"authorName": "NNI Example",

src/webui/mock/mnist-tfv2-stage2.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"id": "mw3lSbde",
88
"revision": 39,
99
"execDuration": 265,
10-
"logDir": "/***/nni/experiments/mw3lSbde",
10+
"logDir": "/***/nni-experiments/mw3lSbde",
1111
"nextSequenceId": 11,
1212
"params": {
1313
"authorName": "NNI Example",

tools/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ The NNI CTL module is used to control Neural Network Intelligence, including sta
44

55
```
66
Ubuntu 16.04 or other Linux OS
7-
python >= 3.5
7+
python >= 3.6
88
```
99

1010
## Installation

tools/bash-completion

+1-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ _nnictl()
7575

7676
# add experiment IDs to candidates if desired
7777
if [[ $__nnictl_2nd_expid_cmds =~ " ${COMP_WORDS[1]} " ]]; then
78-
local experiments=$(ls ~/nni/experiments 2>/dev/null)
78+
local experiments=$(ls ~/nni-experiments 2>/dev/null)
7979
COMPREPLY+=($(compgen -W "$experiments" -- $cur))
8080
fi
8181

tools/nni_annotation/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ def _expand_file_annotations(src_path, dst_path, nas_mode):
122122
def _generate_specific_file(src_path, dst_path, exp_id, trial_id, module):
123123
with open(src_path) as src, open(dst_path, 'w') as dst:
124124
try:
125-
with open(os.path.expanduser('~/nni/experiments/%s/trials/%s/parameter.cfg'%(exp_id, trial_id))) as fd:
125+
with open(os.path.expanduser('~/nni-experiments/%s/trials/%s/parameter.cfg'%(exp_id, trial_id))) as fd:
126126
para_cfg = json.load(fd)
127127
annotated_code = specific_code_generator.parse(src.read(), para_cfg["parameters"], module)
128128
if annotated_code is None:

tools/nni_cmd/nnictl_utils.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -445,9 +445,9 @@ def remote_clean(machine_list, experiment_id=None):
445445
sshKeyPath = machine.get('sshKeyPath')
446446
passphrase = machine.get('passphrase')
447447
if experiment_id:
448-
remote_dir = '/' + '/'.join(['tmp', 'nni', 'experiments', experiment_id])
448+
remote_dir = '/' + '/'.join(['tmp', 'nni-experiments', experiment_id])
449449
else:
450-
remote_dir = '/' + '/'.join(['tmp', 'nni', 'experiments'])
450+
remote_dir = '/' + '/'.join(['tmp', 'nni-experiments'])
451451
sftp = create_ssh_sftp_client(host, port, userName, passwd, sshKeyPath, passphrase)
452452
print_normal('removing folder {0}'.format(host + ':' + str(port) + remote_dir))
453453
remove_remote_directory(sftp, remote_dir)
@@ -520,7 +520,7 @@ def experiment_clean(args):
520520
home = str(Path.home())
521521
local_dir = nni_config.get_config('experimentConfig').get('logDir')
522522
if not local_dir:
523-
local_dir = os.path.join(home, 'nni', 'experiments', experiment_id)
523+
local_dir = os.path.join(home, 'nni-experiments', experiment_id)
524524
local_clean(local_dir)
525525
experiment_config = Experiments()
526526
print_normal('removing metadata of experiment {0}'.format(experiment_id))

tools/setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
version = '999.0.0-developing',
99
packages = setuptools.find_packages(exclude=['*test*']),
1010

11-
python_requires = '>=3.5',
11+
python_requires = '>=3.6',
1212
install_requires = [
1313
'requests',
1414
'ruamel.yaml',

0 commit comments

Comments
 (0)