maxim5 / hyper-engine

Python library for Bayesian hyper-parameters optimization
https://pypi.python.org/pypi/hyperengine
Apache License 2.0
86 stars 22 forks source link

Selecting the method #14

Closed NRT23 closed 5 years ago

NRT23 commented 5 years ago

Hi! Thank you for making a great library.

I was wondering how can I specify different methods (utilities) when optimizing? It seems that "UpperConfidenceBound" is the default option and I tried to specify something like strategy_params = { 'utility': 'ExpectedImprovement' }

and some other attempts but without much success. And in the source code, I have not found how I can do this. Could you kindly provide some explanation on this?

Thank you very much in advance!

maxim5 commented 5 years ago

Hi @NRT23

Try the following:

strategy_params = {
   'utility_gen': 'ei',
    ...
}

I know it's a bit cryptic, I should probably detail everything in the doc. Available options are listed here: https://github.com/maxim5/hyper-engine/blob/master/hyperengine/bayesian/strategy.py#L24

Also note that utilities can have parameters of their own.

NRT23 commented 5 years ago

@maxim5 Hi!

Thanks, it works! The examples you have are very good, there is just a little lack of documentation. However, what I really like is the this is the only Bayesian optimization library (at least what I have found) which you can use directly with Tensroflow (not Keras). And it is easy to use except specifying the method :) Thanks a lot and keep up good work!