GPflowOpt
GPflowOpt copied to clipboard
TF2 & GPflow 2
TF2 was released and currently a new GPflow is being developed as well. TF2 is a major change and it seems to make a lot of things easier.
Looking at the development of GPflow, I believe we will be able to make a compatible version again. Unfortunately, we'll need to redesign and rethink the structure of GPflowOpt:
- We can delete a lot code, include the awful modelwrapper
- GPflow 2.0 seems to further decrease the uniformity in the way models deal with data and optimization of hyperparameters. This may still be improved but I don't think we should rely on this.
My idea now is to create an abstract BO class which implements the main flow and calls a bunch of abstract methods along the way. We provide an implementation class for vanilla BO which uses a GPR, more complex strategies are not supported out of the box. Some things to consider:
- using tf bijectors for scaling
- Rewrite domain as a tf.Module and use tf optimizers (need a transform for the bounds)?
- Include tf.summary for TensorBoard
- Use checkpointing to safeguard long running BO runs against crashes.
Hi javdrher, is there maybe any information about updating to tf2 and pgflow2? It would be great, if that is in progress!
Hi @javdrher, I second @tmuehlen80 in enthusiasm for a GpflowOpt that is compatible with tf2 and gpflow2! Any updates?
Any update on compatibility with gpflow 2.2?
Hi @RafieeAshkan , we are jointly developing Trieste with Secondmind. Trieste is compatible with the latest Tensorflow and GPFlow: https://github.com/secondmind-labs/trieste