HpBandSter icon indicating copy to clipboard operation
HpBandSter copied to clipboard

Displaying EI

Open thesanc opened this issue 5 years ago • 0 comments

Hello, I'm looking to retrieve the EI (or the TPE) of each parameter after training but so far I'm struggling to have consistent results. Each time I reload the same 'result' object and give the same parameter configurations to the pdf I'm having different outputs. Is this normal as from what I understand this procedure isn't stochastic?

After investigating, I noticed that one parameter (called 'alpha') varies each time I reload the result object and print bohb.config_generator.kde_models[budget]['good'].data . The presence of this 'alpha' parameter is conditioned by another parameter as you can see in my ConfigurationSpace:

def get_configspace():
        config_space = CS.ConfigurationSpace()
        learning_rate = CS.UniformFloatHyperparameter('learning_rate', lower=0.00005, upper=0.01)
        batch_size = CS.UniformIntegerHyperparameter('batch_size', lower=10, upper=100)
        network_name = CSH.CategoricalHyperparameter('network_name', ['NN1', 'NN2', 'NN3', 'NN4', 'NN5'])
        weight_decay = CS.UniformFloatHyperparameter('weight_decay', lower=0.00005, upper=0.01)
        alpha = CS.UniformFloatHyperparameter('alpha', lower=np.exp(0.5), upper=np.exp(1))
        config_space.add_hyperparameters([learning_rate, batch_size, network_name, weight_decay, alpha])
        config_space.add_condition(CS.EqualsCondition(alpha, network_name, 'NN4'))
                             
        return(config_space)

So I'm wondering if I understood the model correctly, if what I'm doing is feasible and how to get consistent results?

Thanks for any help in advance!

thesanc avatar Dec 10 '19 16:12 thesanc