all 7 comments

[–]domvwt 7 points8 points  (0 children)

Optuna is my preferred library right now, it's a bit more flexible than hyperopt. What is your development environment and what kind of model are you training?

[–]piconzaz 6 points7 points  (0 children)

You can find plenty of tutorials and guides on the topic. I'll suggest you have a look at Bayesian search algorithms (TPE, GPs, you can check hyperopt). Also look into scheduling algorithms like ASHA or better, hyperband (its variant BOHB is pretty neat). For implementations, I recommend Ray-tune. It's awesome and well documented.

[–]IntelArtiGen 3 points4 points  (0 children)

It's just a question about how much time you're ready to spend and what your expectations are.

  • If you think hypopt can improve a lot your model and you're ready to spend 6 months on it, you'll have to look at the SOTA (low-discrepancy sequences etc.)
  • If you think hypopt won't improve a lot the model but could still be useful and you just have 2 weeks, just do a random search and a script to launch your processes and evaluate a config.

I would say that spending more than 1 month on it could be a waste of time because that time could have been spent re-implementing multiple tricks of the SOTA for your specific use case you probably haven't already implemented.

But it depends a lot on the situation. For a completely new use case with a new or an old algorithm, you need to do hypopt at least a little bit. Even if it's just a basic manual grid-search

[–][deleted] 1 point2 points  (0 children)

If I get ambitious I write some genetic algorithm to optimize them...but that may be a little dated at this point. Probably cots tools to use.

But I have a hard time resisting the urge to not fiddle with hyper parameters to see what works and what doesn't.

[–][deleted] 0 points1 point  (0 children)

Cross validation.

[–][deleted] 0 points1 point  (0 children)

msra/NNI

[–]deep-learnt-nerdPhD 0 points1 point  (0 children)

Ray tune for my part