hyperas icon indicating copy to clipboard operation
hyperas copied to clipboard

About the reproducibility

Open xuzhang5788 opened this issue 5 years ago • 3 comments

Before filing an issue, please make sure to tick the following boxes.

  • [ ] Make sure your issue hasn't been filed already. Use GitHub search or manually check the existing issues, also the closed ones. Also, make sure to check the FAQ section of our readme.

  • [ ] Install latest hyperas from GitHub: pip install git+git://github.com/maxpumperla/hyperas.git

  • [ ] Install latest hyperopt from GitHub: pip install git+git://github.com/hyperopt/hyperopt.git

  • [ ] We have continuous integration running with Travis and make sure the build stays "green". If, after installing test utilities with pip install pytest pytest-cov pep8 pytest-pep8, you can't successfully run python -m pytest there's very likely a problem on your side that should be addressed before creating an issue.

  • [ ] Create a gist containing your complete script, or a minimal version of it, that can be used to reproduce your issue. Also, add your full stack trace to that gist. In many cases your error message is enough to at least give some guidance.

xuzhang5788 avatar Jul 30 '19 17:07 xuzhang5788

After I used hyperas to find a set of hyperparameters, I used this set of hyperparameter to retrain my model. However, I can't get the same performance as hyperas showed and most of time, I got worse performance. I can't reproduce the performance of best_model in hyperas. I found there is a rseed in optim.minimize() method and its default value is rseeds=1337. Do I need to use this seed in my model to get the same results?

xuzhang5788 avatar Jul 30 '19 17:07 xuzhang5788

For me the same. But I think this is not related special to hyperas? maybe you need to set this seed to for same results. Have you tried it?

Frank-Sin99 avatar Nov 04 '19 16:11 Frank-Sin99

I set for my reproducibility


from numpy.random import seed

seed(5)

os.environ['PYTHONHASHSEED'] = '0'

random.seed(5)
from tensorflow import set_random_seed

set_random_seed(5)

I don't quite understand ho to translate np.random.RandomState(rseed) to above code.

maybe I just need to set now

from numpy.random import seed

seed(rseed)

?

Frank-Sin99 avatar Nov 04 '19 17:11 Frank-Sin99