Skip to content

Conversation

@Red-Portal
Copy link
Member

@Red-Portal Red-Portal commented Oct 22, 2025

This PR does the following:

  • The interface to AdvancedVI is updated to match the new v0.6 version.
  • The way vi calls optimize is slightly changed so that algorithms that expect an unconstrained space can be used without being aware of Bijectors. In particular, the user is now expected to provide a q <: Bijectors.TransformedDistribution. vi will then unwrap the underlying unconstrained distribution, which is passed to AdvancedVI. Once the algorithm terminates, the result will be wrapped back and then returned. (See also this PR for a more detailed explanation.)
  • The main file is renamed from VariationalInference.jl to Variational.jl to match the submodule name Variational.
  • The deprecated v0.2-era interface is removed.

@Red-Portal Red-Portal requested review from mhauru and penelopeysm and removed request for penelopeysm October 22, 2025 08:33
@github-actions
Copy link
Contributor

Turing.jl documentation for PR #2699 is available at:
https://TuringLang.github.io/Turing.jl/previews/PR2699/

@codecov
Copy link

codecov bot commented Oct 22, 2025

Codecov Report

❌ Patch coverage is 88.46154% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 87.49%. Comparing base (ea9bb54) to head (a319962).

Files with missing lines Patch % Lines
src/variational/Variational.jl 88.46% 3 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##           breaking    #2699      +/-   ##
============================================
+ Coverage     86.54%   87.49%   +0.94%     
============================================
  Files            21       20       -1     
  Lines          1412     1415       +3     
============================================
+ Hits           1222     1238      +16     
+ Misses          190      177      -13     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Member

@mhauru mhauru left a comment

Choose a reason for hiding this comment

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

Thanks @Red-Portal.

Since this changes the user-interface, could you please set the target branch of this PR to be breaking? We use that branch to collect breaking changes into a single, larger release. Currently breaking points at the same commit as main, so you shouldn't have to mess with git history for this.

In that same process, could you also please add an entry in HISTORY.md describing to users all interface changes (arguments, return values, behaviour) and what they can do to adapt to them. Maybe a code example of "this is how you used to call vi, this is how you do the same thing now", that sort of thing.

@Red-Portal Red-Portal changed the base branch from main to breaking October 24, 2025 02:03
Red-Portal and others added 8 commits October 24, 2025 00:00
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@Red-Portal Red-Portal requested a review from mhauru October 24, 2025 04:30
@penelopeysm
Copy link
Member

I'm actually sorry to butt in on this, but are there new features available in 0.5, or is it just an interface change?

@Red-Portal
Copy link
Member Author

@penelopeysm No new features.

@penelopeysm
Copy link
Member

Okay. The reason why I asked is because this is an interface change for Turing and that is kind of annoying for end users if they don't get any benefit. I wonder in that case if it is worth doing either:

  1. Not bumping the compat in Turing, waiting for the next release of AdvancedVI that has new features; or

  2. Mapping the existing Turing interface to the new AdvancedVI interface, so that it's not a breaking change. I don't know how possible this is.

Other than that, I second everything that @mhauru brought up here, so I won't also review the details of this.

Red-Portal and others added 5 commits October 24, 2025 22:38
Co-authored-by: Markus Hauru <markus@mhauru.org>
Co-authored-by: Markus Hauru <markus@mhauru.org>
Co-authored-by: Markus Hauru <markus@mhauru.org>
@Red-Portal Red-Portal changed the title Update variational inference interface to match AdvancedVI@0.5 Update variational inference interface to match AdvancedVI@0.6 Nov 19, 2025
Red-Portal and others added 23 commits November 19, 2025 17:01
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@Red-Portal
Copy link
Member Author

Hi @penelopeysm @mhauru @yebai , I've updated the code to match the new v0.6 version. Let me know if you have any comments!

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.

6 participants