integration_tests.yml 8.19 KB
Newer Older
chicm-ms's avatar
chicm-ms committed
1
2

defaultTestCaseConfig:
3
  launchCommand: nnictl create --config $configFile --debug
chicm-ms's avatar
chicm-ms committed
4
5
6
  stopCommand: nnictl stop
  experimentStatusCheck: True
  platform: linux darwin win32
chicm-ms's avatar
chicm-ms committed
7
  trainingService: all
chicm-ms's avatar
chicm-ms committed
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

testCases:
#######################################################################
# nni examples test
#######################################################################
- name: sklearn-classification
  # test case config yml file relative to nni source code directory
  configFile: test/config/examples/sklearn-classification.yml

  # test case specific config, the content of configFile will be overrided
  # by config section
  config:

  # validator is called after experiment is done
  # validator class needs to be implemented in nni_test/nnitest/validators.py
  validator:

  # launch command, default launch command is 'nnictl create --config $configFile'
26
  launchCommand: nnictl create --config $configFile --debug
chicm-ms's avatar
chicm-ms committed
27
28
29
30
31
32
33
34
35
36
37
38
39

  # stop command, default stop command is 'nnictl stop', empty means no stop command
  stopCommand: nnictl stop

  # set experiment ID into variable, variable name should start with $, such as $expId
  setExperimentIdtoVar: $expId

  # check status of experiment before calling validator
  experimentStatusCheck: True

- name: sklearn-regression
  configFile: test/config/examples/sklearn-regression.yml

liuzhe-lz's avatar
liuzhe-lz committed
40
41
- name: mnist-tensorflow
  configFile: test/config/examples/mnist-tfv2.yml
42
43
44
  config:
    maxTrialNum: 1
    trialConcurrency: 1
liuzhe-lz's avatar
liuzhe-lz committed
45
  trainingService: local remote # FIXME: timeout on pai, looks like tensorflow failed to link CUDA
chicm-ms's avatar
chicm-ms committed
46

47
- name: mnist-pytorch-local
chicm-ms's avatar
chicm-ms committed
48
  configFile: test/config/examples/mnist-pytorch.yml
49
50
  # download data first, to prevent concurrent issue.
  launchCommand: python3 ../examples/trials/mnist-pytorch/mnist.py --epochs 1 --batch_num 0 --data_dir ../examples/trials/mnist-pytorch/data && nnictl create --config $configFile --debug
51
52
53
54
55
56
57
  trainingService: local

- name: mnist-pytorch-non-local
  configFile: test/config/examples/mnist-pytorch.yml
  # download data first, to prevent concurrent issue.
  launchCommand: nnictl create --config $configFile --debug
  trainingService: remote pai kubeflow frameworkcontroller dlts
chicm-ms's avatar
chicm-ms committed
58

liuzhe-lz's avatar
liuzhe-lz committed
59
60
61
62
63
64
# TODO: move this and following commented test cases to pytorch or tf2
#- name: mnist-annotation
#  configFile: test/config/examples/mnist-annotation.yml
#  config:
#    maxTrialNum: 1
#    trialConcurrency: 1
chicm-ms's avatar
chicm-ms committed
65
66
67
68
69
70
71
72
73
74
75
76
77

- name: cifar10-pytorch
  configFile: test/config/examples/cifar10-pytorch.yml
  config:
    # this example downloads large pretrained model weights
    # test 1 trial to save time
    maxExecDuration: 10m
    maxTrialNum: 1
    trialConcurrency: 1
    trial:
      command: python3 main.py --epochs 1 --batches 1
      gpuNum: 0

liuzhe-lz's avatar
liuzhe-lz committed
78
79
#- name: nested-ss
#  configFile: test/config/examples/mnist-nested-search-space.yml
chicm-ms's avatar
chicm-ms committed
80

81
82
83
84
85
- name: classic-nas-gen-ss
  configFile: test/config/examples/classic-nas-pytorch.yml
  launchCommand: nnictl ss_gen --trial_command="python3 mnist.py --epochs 1" --trial_dir=../examples/nas/classic_nas --file=config/examples/nni-nas-search-space.json
  stopCommand:
  experimentStatusCheck: False
chicm-ms's avatar
chicm-ms committed
86
  trainingService: local
87
88
89
90
91

- name: classic-nas-pytorch
  configFile: test/config/examples/classic-nas-pytorch.yml
  # remove search space file
  stopCommand: nnictl stop
92
  onExitCommand: python3 -c "import os; os.remove('config/examples/nni-nas-search-space.json')"
chicm-ms's avatar
chicm-ms committed
93
  trainingService: local
chicm-ms's avatar
chicm-ms committed
94
95
96
97
98
99
100
101
102
103
104
105
106
107

#########################################################################
# nni features test
#########################################################################
- name: metrics-float
  configFile: test/config/metrics_test/config.yml
  config:
    maxTrialNum: 1
    trialConcurrency: 1
  validator:
    class: MetricsValidator
    kwargs:
      expected_result_file: expected_metrics.json

Yan Ni's avatar
Yan Ni committed
108
109
110
111
112
113
114
115
- name: export-float
  configFile: test/config/metrics_test/config.yml
  config:
    maxTrialNum: 1
    trialConcurrency: 1
  validator:
    class: ExportValidator 

chicm-ms's avatar
chicm-ms committed
116
117
118
119
120
121
122
123
124
- name: metrics-dict
  configFile: test/config/metrics_test/config_dict_metrics.yml
  config:
    maxTrialNum: 1
    trialConcurrency: 1
  validator:
    class: MetricsValidator
    kwargs:
      expected_result_file: expected_metrics_dict.json
chicm-ms's avatar
chicm-ms committed
125

Yan Ni's avatar
Yan Ni committed
126
127
128
129
130
131
132
133
- name: export-dict
  configFile: test/config/metrics_test/config_dict_metrics.yml
  config:
    maxTrialNum: 1
    trialConcurrency: 1
  validator:
    class: ExportValidator 

134
135
136
137
138
139
140
- name: experiment-import
  configFile: test/config/nnictl_experiment/sklearn-classification.yml
  validator:
    class: ImportValidator
    kwargs:
      import_data_file_path: config/nnictl_experiment/test_import.json

chicm-ms's avatar
chicm-ms committed
141
142
143
144
145
- name: nnicli
  configFile: test/config/examples/sklearn-regression.yml
  config:
    maxTrialNum: 4
    trialConcurrency: 4
146
147
  launchCommand: python3 -c 'from nni.experiment import Experiment; exp = Experiment(); exp.start_experiment("$configFile")'
  stopCommand: python3 -c 'from nni.experiment import Experiment; exp = Experiment(); exp.connect_experiment("http://localhost:8080/"); exp.stop_experiment()'
chicm-ms's avatar
chicm-ms committed
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
  validator:
    class: NnicliValidator
  platform: linux darwin

- name: foreground
  configFile: test/config/examples/sklearn-regression.yml
  launchCommand: python3 nni_test/nnitest/foreground.py --config $configFile --timeout 45
  stopCommand:
  experimentStatusCheck: False
  platform: linux darwin

# Experiment resume test part 1
- name: nnictl-resume-1
  configFile: test/config/examples/sklearn-regression.yml
  setExperimentIdtoVar: $resumeExpId
163
  # for subfolder in codedir test
164
  launchCommand: python3 -c "import os; os.makedirs('../examples/trials/sklearn/regression/subfolder', exist_ok=True); open('../examples/trials/sklearn/regression/subfolder/subfile', 'a').close()" && nnictl create --config $configFile --debug
chicm-ms's avatar
chicm-ms committed
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213

# Experiment resume test part 2
- name: nnictl-resume-2
  configFile: test/config/examples/sklearn-regression.yml
  launchCommand: nnictl resume $resumeExpId

# Experiment view test
- name: nnictl-view
  configFile: test/config/examples/sklearn-regression.yml
  launchCommand: nnictl view $resumeExpId
  experimentStatusCheck: False

- name: multi-thread
  configFile: test/config/multi_thread/config.yml

- name: multi-phase-batch
  configFile: test/config/multi_phase/batch.yml
  config:
    # for batch tuner, maxTrialNum can not exceed length of search space
    maxTrialNum: 2
    trialConcurrency: 2

- name: multi-phase-evolution
  configFile: test/config/multi_phase/evolution.yml

- name: multi-phase-grid
  configFile: test/config/multi_phase/grid.yml
  config:
    maxTrialNum: 2
    trialConcurrency: 2

- name: multi-phase-metis
  configFile: test/config/multi_phase/metis.yml

- name: multi-phase-tpe
  configFile: test/config/multi_phase/tpe.yml

#########################################################################
# nni assessor test
#########################################################################
- name: assessor-curvefitting
  configFile: test/config/assessors/curvefitting.yml

- name: assessor-medianstop
  configFile: test/config/assessors/medianstop.yml

#########################################################################
# nni tuners test
#########################################################################
liuzhe-lz's avatar
liuzhe-lz committed
214
215
#- name: tuner-annel
#  configFile: test/config/tuners/anneal.yml
chicm-ms's avatar
chicm-ms committed
216

liuzhe-lz's avatar
liuzhe-lz committed
217
218
#- name: tuner-evolution
#  configFile: test/config/tuners/evolution.yml
chicm-ms's avatar
chicm-ms committed
219

liuzhe-lz's avatar
liuzhe-lz committed
220
221
#- name: tuner-random
#  configFile: test/config/tuners/random.yml
chicm-ms's avatar
chicm-ms committed
222

liuzhe-lz's avatar
liuzhe-lz committed
223
224
225
#- name: tuner-smac
#  configFile: test/config/tuners/smac.yml
#  platform: linux darwin
chicm-ms's avatar
chicm-ms committed
226

liuzhe-lz's avatar
liuzhe-lz committed
227
228
#- name: tuner-tpe
#  configFile: test/config/tuners/tpe.yml
chicm-ms's avatar
chicm-ms committed
229

liuzhe-lz's avatar
liuzhe-lz committed
230
231
#- name: tuner-batch
#  configFile: test/config/tuners/batch.yml
chicm-ms's avatar
chicm-ms committed
232

liuzhe-lz's avatar
liuzhe-lz committed
233
234
235
#- name: tuner-bohb
#  configFile: test/config/tuners/bohb.yml
#  platform: linux darwin
chicm-ms's avatar
chicm-ms committed
236

liuzhe-lz's avatar
liuzhe-lz committed
237
238
#- name: tuner-gp
#  configFile: test/config/tuners/gp.yml
chicm-ms's avatar
chicm-ms committed
239

liuzhe-lz's avatar
liuzhe-lz committed
240
241
#- name: tuner-grid
#  configFile: test/config/tuners/gridsearch.yml
chicm-ms's avatar
chicm-ms committed
242

liuzhe-lz's avatar
liuzhe-lz committed
243
244
#- name: tuner-hyperband
#  configFile: test/config/tuners/hyperband.yml
chicm-ms's avatar
chicm-ms committed
245

liuzhe-lz's avatar
liuzhe-lz committed
246
247
#- name: tuner-metis
#  configFile: test/config/tuners/metis.yml
248

249
250
251
- name: tuner-regularized_evolution
  configFile: test/config/tuners/regularized_evolution_tuner.yml

252
253
254
255
256
#########################################################################
# nni customized-tuners test
#########################################################################
- name: customized-tuners-demotuner
  configFile: test/config/customized_tuners/demotuner-sklearn-classification.yml
257