-
Notifications
You must be signed in to change notification settings - Fork 60
Open
Labels
Description
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.