GPflowOpt icon indicating copy to clipboard operation
GPflowOpt copied to clipboard

TF2 & GPflow 2

Open javdrher opened this issue 5 years ago • 4 comments

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.

javdrher avatar Oct 06 '19 09:10 javdrher

Hi javdrher, is there maybe any information about updating to tf2 and pgflow2? It would be great, if that is in progress!

tmuehlen80 avatar Mar 06 '20 12:03 tmuehlen80

Hi @javdrher, I second @tmuehlen80 in enthusiasm for a GpflowOpt that is compatible with tf2 and gpflow2! Any updates?

rcameronc avatar Apr 23 '20 13:04 rcameronc

Any update on compatibility with gpflow 2.2?

RafieeAshkan avatar Sep 21 '21 08:09 RafieeAshkan

Hi @RafieeAshkan , we are jointly developing Trieste with Secondmind. Trieste is compatible with the latest Tensorflow and GPFlow: https://github.com/secondmind-labs/trieste

icouckuy avatar Sep 21 '21 09:09 icouckuy