Esempio n. 1
0
    #   ...(other options not yet implemented)...
    "search_strategy": "grid",
    # `grid_search_space` specifies values to be searched for each hyperparameter
    #   each entry needs to follow the format {"param_name" : List(Any)}
    "grid_search_space": {
        "layer1_nodes": [16, 32, 64],
        "layer2_nodes": [16, 32, 64],
        "optimizer": ["adam", "sgd"],
    },
    # `grid_search_settings` contain other settings for grid search strategy
    #   `save_every_n_outputs`: how often should the trial results be saved.
    #       The more often we save the results, the less likely we lose data in
    #       the event of a crash, but it takes more time.
    #   `num_samples`: how many repeated trials to run for each point in search space
    #       [Not yet implemented]
    "grid_search_settings": {
        "save_every_n_outputs": 1,
        "num_samples": 1
    }
}

# trainer must be a function that takes an hpset as input and returns (hpset,
# metric, logs) as output
#   `hpset`: hyperparameter values, see hyperopt.Experiment._generate_hpsets
#   `metric`: objective for maximization, evaluated at the point specified by `hpset`
#   `logs`: any other useful information that should be saved

exper = Experiment(trainer, config)
exper.search()
exper.summary()