Skip to content
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

Rename SVGP to SparseVariationalApproximation #70

Merged
merged 8 commits into from
Nov 5, 2021

Conversation

rossviljoen
Copy link
Collaborator

A true masterclass in find and replace

Closes #69

src/elbo.jl Outdated Show resolved Hide resolved
src/stochastic_variational.jl Outdated Show resolved Hide resolved
src/stochastic_variational.jl Outdated Show resolved Hide resolved
src/stochastic_variational.jl Outdated Show resolved Hide resolved
src/stochastic_variational.jl Outdated Show resolved Hide resolved
src/stochastic_variational.jl Outdated Show resolved Hide resolved
src/stochastic_variational.jl Outdated Show resolved Hide resolved
src/stochastic_variational.jl Outdated Show resolved Hide resolved
test/equivalences.jl Outdated Show resolved Hide resolved
@rossviljoen rossviljoen changed the title Rename SVGP to StochasticVariationalApproximation Rename SVGP to SparseVariationalApproximation Nov 4, 2021
src/sparse_variational.jl Outdated Show resolved Hide resolved
src/sparse_variational.jl Outdated Show resolved Hide resolved
src/sparse_variational.jl Outdated Show resolved Hide resolved
src/sparse_variational.jl Outdated Show resolved Hide resolved
src/sparse_variational.jl Outdated Show resolved Hide resolved
src/sparse_variational.jl Outdated Show resolved Hide resolved
src/sparse_variational.jl Outdated Show resolved Hide resolved
test/equivalences.jl Outdated Show resolved Hide resolved
@rossviljoen
Copy link
Collaborator Author

rossviljoen commented Nov 4, 2021

Actually - should it be SparseVariationalApproximation or StochasticVariationalApproximation? I suppose it isn't technically necessarily stochastic, but I thought the S in SVGP was Stochastic anyway?

@codecov

This comment has been minimized.

@willtebbutt
Copy link
Member

Good point. Truth be told, I'm not totally sure what people usually go with. @st-- @theogf @Crown421 do you have strong opinions?

@Crown421
Copy link
Member

Crown421 commented Nov 5, 2021

Good point. Truth be told, I'm not totally sure what people usually go with. @st-- @theogf @Crown421 do you have strong opinions?

While the S in SVGP is "Stochastic", in the context of "Approximation" I would prefer "Sparse". "Stochastic Approximation" seems to have an existing connotation with root finding/ optimization.

@st--
Copy link
Member

st-- commented Nov 5, 2021

SparseVariationalApproximation please. As a side effect this allows you to get unbiased gradient estimates from mini-batches and hence stochastic optimisation, but that's not actually a requirement and the approximation doesn't depend on it being stochastic.

We could then also add a VariationalApproximation that makes it a bit easier/more convenient when you don't want to bother with inducing points.

(And I'm still very much looking forward to having an example of interdomain approximation:))

test/equivalences.jl Outdated Show resolved Hide resolved
@@ -15,10 +15,10 @@ using KLDivergences

using AbstractGPs: AbstractGP, FiniteGP, LatentFiniteGP, ApproxPosteriorGP, At_A, diag_At_A

export SVGP, DefaultQuadrature, Analytic, GaussHermite, MonteCarlo
export SparseVariationalApproximation, DefaultQuadrature, Analytic, GaussHermite, MonteCarlo
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you add a @deprecate SVGP SparseVariationalApproximation somewhere (and we might have to keep the export here)?

Copy link
Member

@st-- st-- left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a few minor comments - happy for you to merge directly after you've addressed them:)

@st--
Copy link
Member

st-- commented Nov 5, 2021

NB- still needs a patch bump if you want to release it straight away

@rossviljoen
Copy link
Collaborator Author

The only thing I was worried about was that VFE could also be described as SparseVariationalApproximation - although perhaps it should be a special case of SVGP anyway...

Even with the deprecation, this is still breaking right? so should be 0.2? @st--

@theogf
Copy link
Member

theogf commented Nov 5, 2021

No if we @deprecate SVGP it just means people will get a warning but it will still works, therefore it is non-breaking. However removing the @deprecate will make it breaking

@rossviljoen
Copy link
Collaborator Author

@deprecate SVGP SparseVariationalApproximation only provides an alias for the constructor, not the type (e.g. won't work if you're trying to dispatch on SVGP). So, have bumped the minor version, but keeping the @deprecate

@rossviljoen rossviljoen merged commit 4d207c5 into master Nov 5, 2021
@rossviljoen rossviljoen deleted the ross/rename-svgp branch November 5, 2021 13:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

I'm in favour of renaming to SparseVariationalApproximation
5 participants