Searches for the best TensorForce hyperparameter combination using Bayesian Optimization (Gaussian Processes). Currently only searching over PPOAgent hypers. WIP!
Requirements: gym, GPy, GPyOpt, psycopg2, python-box
- Setup Postgres,
createdb hypersearch
- $ python hsearch.py
gp.py
comes from thuijskens/bayesian-optimization, blog post here. This uses sklearn's built-in Gaussian Process feature with minimal overhead, and maximal flexibility. GPyOpt is a great alternative which wraps sklearn's GP and provides many configurations & sane defaults. I'm still comparing the two, and might bake both in with an argument to choose. LMK if y'all have thoughts.
I considered various alternatives besides: optunity, hyperopt, and more (see this Reddit post). They didn't meet my needs for various reasons: they don't use Bayesian Opt, or they're too strict / inflexible to work easily with TensorForce. IM me on gitter/tensorforce for more details.