QUVA-Lab / COMBO

Other
45 stars 18 forks source link

Using COMBO in BoTorch #1

Open kskyten opened 4 years ago

kskyten commented 4 years ago

At the moment COMBO is packaged like an application for demonstrating the algorithm for the paper. It would be really useful to be able to use COMBO in BoTorch. It seems like COMBO has its own implementation of Gaussian processes on top of PyTorch. Is there some specific reason for not using GPyTorch? From a cursory overview of the code it looks like the important parts are the custom kernel and acquisition function implementations. The rest can possibly be replaced with GPyTorch and BoTorch. Not only would this make the codebase smaller and easier to understand, it would also make it easier to use the algorithm in Ax, which is a user-friendly platform for running adaptive experiments.

ChangYong-Oh commented 4 years ago

Hi, Kusti.

Thanks for your suggestion. Your comment on the parts need to be ported is more and less right. There is no specific reason for not using GPyTorch. I just extended the implementation I had previously because I wanted to have more control over my code. I will check whether there is an issue in doing this on my side.

Thanks.

Changyong Oh

On Mon, Nov 4, 2019 at 2:59 PM Kusti Skytén notifications@github.com wrote:

At the moment COMBO is packaged like an application for demonstrating the algorithm for the paper. It would be really useful to be able to use COMBO in BoTorch https://www.botorch.org/. It seems like COMBO has its own implementation of Gaussian processes on top of PyTorch. Is there some specific reason for not using GPyTorch https://gpytorch.ai/? From a cursory overview of the code it looks like the important parts are the custom kernel and acquisition function implementations. The rest can possibly be replaced with GPyTorch and BoTorch. Not only would this make the codebase smaller and easier to understand, it would also make it easier to use the algorithm in Ax https://ax.dev/, which is a user-friendly platform for running adaptive experiments.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/QUVA-Lab/COMBO/issues/1?email_source=notifications&email_token=ABJKCMGMENWS7RJLZ4UE77TQSATDJA5CNFSM4JIT6JG2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HWTMWBA, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJKCMC37YQHOICKFNLZ6CDQSATDJANCNFSM4JIT6JGQ .

eytan commented 4 years ago

Eytan from the BoTorch team here. I was just checking out COMBO—it would be great to have COMBO in BoTorch/Ax, as handling of categorical inputs is a commonly requested feature. Feel free to open an issue on the BoTorch repo if you need help. BoTorch has a good deal of utility functions that make fitting and optimizing acquisition functions on GPyTorch more numerically stable for the small data regime, so I’d highly recommend working off our tutorials to use the full suite of utilities available.