keras-tuner
keras-tuner copied to clipboard
pseudo genetic search
Hello, I found this package very interesting, especially the way how the parameters are integrated inside model creation/design. So far there is implemented bayesian, hyperband, random search... Recently we found interesting to use kind of genetic search where you are mixing the best parameters together and randomly change some of them... Would you be interested in having something like sklearn-genetic in this package, creating a PR? Thx
Hi, I am also a fan of Keras Tuner and its huge potential in addressing practical business problems by removing some of the human imperfections inherent to Hyperparameter Tuning. I agree. It would be a great idea to add genetic search to the randomsearch and hyperband algorithms currently available, along with guidelines on when to use one instead of the other.(a selection guide of some kind)
@ebursztein @jamlong @fchollet ^^
@Borda @algit123 That's great to hear! Thanks for your interest in implementing a genetic search algorithm. The internals of how the Oracle class changes are still subject to changes ahead of the 1.0 release, mainly because we are adding support for distributed tuning, so you'd probably want to wait before implementing a new algorithm (likely just 3-4 more weeks until API stability)
But yes our intention is to make it easy to subclass the Oracle class to add new algorithms. I'll update this thread when the API is stable enough that you wouldn't have to rewrite the Oracle.
Probably the best process then if you'd like to see genetic search included in this repo is to subclass the Oracle in your own repo and try it out on some models to show circumstances under which it can converge faster than other algorithms for a class of neural networks
The Oracle class is now stable enough to implement subclasses. Marking as contributions welcome. Any PR with an implementation should also provide a link to a repo with reproducible benchmarks
This is really interesting, and I would like to take a stab at it.
Very interested in this, It would be awsome to have an implementation of something like Map-Elites.
I am closing the issue as we are not actively accepting new tuning algorithms unless it is proved to have a performance gain on a number of use cases.