"test/gtest-1.11.0/googletest/samples/sample4_unittest.cc" did not exist on "e3f120b99de7bad9801b51c7e1fffea82d3c4f41"
test_search_space.py 1.41 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import json
from pathlib import Path

import yaml

from nni.experiment.config import ExperimentConfig, AlgorithmConfig, LocalConfig

## template ##

config = ExperimentConfig(
    search_space_file = '',
    trial_command = 'echo hello',
    trial_concurrency = 1,
    tuner = AlgorithmConfig(name='randomm'),
    training_service = LocalConfig()
)

space_correct = {
    'pool_type': {
        '_type': 'choice',
        '_value': ['max', 'min', 'avg']
    },
    '学习率': {
        '_type': 'loguniform',
        '_value': [1e-7, 0.1]
    }
}

# FIXME
# PyYAML 6.0 (YAML 1.1) does not support tab and scientific notation
# JSON does not support comment and extra comma
# So some combinations will fail to load
formats = [
    ('ss_tab.json', 'JSON (tabs + scientific notation)'),
    ('ss_comma.json', 'JSON with extra comma'),
    #('ss_tab_comma.json', 'JSON (tabs + scientific notation) with extra comma'),
    ('ss.yaml', 'YAML'),
    #('ss_yaml12.yaml', 'YAML 1.2 with scientific notation'),
]

def test_search_space():
    for space_file, description in formats:
        try:
            config.search_space_file = Path(__file__).parent / 'assets' / space_file
            space = config.json()['searchSpace']
            assert space == space_correct
        except Exception as e:
            print('Failed to load search space format: ' + description)
            raise e

if __name__ == '__main__':
    test_search_space()