pub enum Support {
Real,
Positive,
Unit,
}Expand description
The support of a continuous model latent, used to pick a matching variational family.
Mean-field VI is only correct if each variational factor lives on the same support as
the model latent it approximates: a Normal guide placed on a strictly-positive or
unit-interval latent proposes out-of-support values whose model log-density is -inf,
collapsing the ELBO. Support lets callers declare the intended support so guide
construction can select the right family (see MeanFieldGuide::add_latent).
Variants§
Real
(-∞, +∞): approximated by a VariationalParam::Normal factor.
Positive
(0, +∞): approximated by a VariationalParam::LogNormal factor.
Unit
(0, 1): approximated by a VariationalParam::Beta factor.
Trait Implementations§
impl Copy for Support
impl Eq for Support
impl StructuralPartialEq for Support
Auto Trait Implementations§
impl Freeze for Support
impl RefUnwindSafe for Support
impl Send for Support
impl Sync for Support
impl Unpin for Support
impl UnsafeUnpin for Support
impl UnwindSafe for Support
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more