-
Notifications
You must be signed in to change notification settings - Fork 54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Getting Rid of TensorFlow #69
Comments
Hi, thanks for raising this issue. We are aware of this - it would be nice to drop this dependency! We currently rely on |
Hi Daniel, |
Hi Weizhe, Thanks for your suggestion. As Dan has mentioned, removing the TensorFlow dependency is something we'd like to do. Your
Please let me know what, if any, support you will need to get started with this; I'm very happy to assist. |
Hi Thomas,
|
Responding to 1., this speaks to a broader question I've had as to whether a second library should be formed that provides functionality for just applying GP methods. In that case, GPJax could simply provide the tools that one needs to define a GP, whilst the second library (let's call it GPFit for now) has implementations of dataloaders, fitting routines, and post-hoc model diagnostics. I'm keen to hear your thoughts on this @Weizhe-Chen and also @daniel-dodd . |
Great idea! Considering that there will be more and more Jax-based machine learning library emerging but Jax itself does not provide these indispensable pre-processing, inference, and evaluation tools, a standalone light-weight library dedicated to these tools will be a pressing need. Actually I think pre-processing, data-loading, evaluation tools can be one library which "non-Bayesian" libraries can also depend on, and Bayesian inference methods can form another library that can be also applied to other Bayesian models. |
@thomaspinder @Weizhe-Chen This is an excellent idea! I, too, would be interested in setting up a general toolkit for performing data-preprocessing and training models in Jax. The functions in |
Maybe we are talking about a Jax counterpart of PyTorch Lightning? |
Perhaps. Elegy does a pretty good job imo of abstracting away a lot of the gritty details of model fitting. I think of Elegy as quite similar to Keras/Lightning. In the interest of not having n+1 standards, we should probably constrain ourselves to dealing with inference problems that are specific to Gaussian processes or Bayesian methods. |
I think this issue has become a little distracted. We should continue the discussion in #70. Regarding the original issue of removing TensorFlow, would you be willing to open a PR @Weizhe-Chen for using Elegy's dataloader? |
Sounds like a plan! |
This has been resolved by #99 |
Feature Request
Describe the Feature Request
GPJax is a Gaussian processes library based on Jax but currently it still depends on TensorFlow. TensorFlow is annoying because (1) its installation is slow, and (2) it produces many unnecessary warnings when running on CPU-only machines. It would be great if we can implement all functionalities without TensorFlow. Is it possible?
Describe Preferred Solution
Replace all the functionalities of TensorFlow with their Jax counterparts.
If the feature request is approved, would you be willing to submit a PR?
Yes
The text was updated successfully, but these errors were encountered: