-
Notifications
You must be signed in to change notification settings - Fork 8
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
Merging Turkie with TuringCallbacks #16
Comments
This depends on how we want to do things. One approach is to simply implemented a callable struct a la Ideally we'd have a shared main function to call, but it's a bit unclear to me how we'd do that at the moment. Therefore I think what I mention above is the best way to get started, and then we can figure out how to share more code between the methods later.
I agree though, AbstractPlotting.jl is quite a dependency if you for example only want to use the tensorboard logging. How does the Plots.jl approach actually work? It also seems like Requires.jl would be a reasonable choice in this case since the main code will fairly light-weight and so the compile-times shouldn't be very long.
We currently depend on Turing.jl for the following methods:
But I agree that ideally we wouldn't need this method, so open to suggestions on how to improve this! |
Regarding
I don't know if it works but I got this working in Turkie : For the transitions extras maybe we could require the user to load Turing for it? |
The issue with that approach is that all |
Hey so I was having a second look at the merging and it looks more and more that that merging Turkie to TuringCallbacks is not viable. What I would propose is to go down the road of having an |
Ok time to get this done!
As we talked about, it would be nice to merge Turkie with TuringCallbacks.
The question is how? Regardless of the UI, which I think can be unified, the problem is with dependencies:
Turkie relies on AbstractPlotting.jl which is pretty heavy, similarly TuringCB relies on TensorboardLogger, and therefore tensorboard which is also heavy in a way.
Easiest solution would be to use Requires, but it has its issues too.
Maybe it would be nice to have some kind of Plots.jl approach where the user can decide what he wants with a function
turkie()
ortensorboard()
or something like this.Also I saw you have a dependency on Turing, if just rely on AbstractMCMC / DynamicPPL, this dependency is not necessary and the package could be used for other PPL no?
The text was updated successfully, but these errors were encountered: