AbstractGPs.jl icon indicating copy to clipboard operation
AbstractGPs.jl copied to clipboard

Building a front-end

Open willtebbutt opened this issue 3 years ago • 0 comments

As discussed elsewhere, there is some consensus that it would be very helpful to provide some kind of user-facing front-end which sits on top of the low-level researcher-focused functionality provided in this packages, and others in JuliaGaussianProcesses.

There are a few options:

  1. Implement a new / repurpose an existing package which provides this functionality, completely independently of the existing infrastructure availlable in Julia.
  2. Implement the API of some existing package, such as MLJ.jl, Models.jl, or ScikitLearn.jl.

My personal feeling is that we should at least try 2 before thinking about 1.

MLJ

MLJ provides extensive documentation on how to add a model. The only interaction that we would have to have with MLJ is to register the package here once -- after that, I think we're free to update it as we see fit.

I made a first pass at this a while ago here, but ran out of steam because I only gave myself a few hours to make it work.

Models.jl

This is an interface that Invenia uses internally quite a bit, but hasn't received a lot of attention more generally. That might change though. The interface is really quite straightforward to implement, so we could straightforwardly implement it in addition to any other API we implement (there's nothing wrong with having a couple of front-ends that do almost entirely the same thing, since presumably different users will prefer different things)

ScikitLearn.jl

My impression is that this is a fore-runner to MLJ, so probably we should prefer MLJ.

willtebbutt avatar Jul 22 '21 15:07 willtebbutt