pub struct NutsSettings<A: Debug + Copy + Default + Serialize> {Show 16 fields
pub num_tune: u64,
pub num_draws: u64,
pub maxdepth: u64,
pub mindepth: u64,
pub store_gradient: bool,
pub store_unconstrained: bool,
pub store_transformed: bool,
pub max_energy_error: f64,
pub store_divergences: bool,
pub adapt_options: A,
pub check_turning: bool,
pub target_integration_time: Option<f64>,
pub trajectory_kind: KineticEnergyKind,
pub num_chains: usize,
pub seed: u64,
pub extra_doublings: u64,
}Expand description
Settings for the NUTS sampler
Fields§
§num_tune: u64The number of tuning steps, where we fit the step size and geometry.
num_draws: u64The number of draws after tuning
maxdepth: u64The maximum tree depth during sampling. The number of leapfrog steps is smaller than 2 ^ maxdepth.
mindepth: u64The minimum tree depth during sampling. The number of leapfrog steps is larger than 2 ^ mindepth.
store_gradient: boolStore the gradient in the SampleStats
store_unconstrained: boolStore each unconstrained parameter vector in the sampler stats
store_transformed: boolStore the transformed gradient and value in the sampler stats
max_energy_error: f64If the energy error is larger than this threshold we treat the leapfrog step as a divergence.
store_divergences: boolStore detailed information about each divergence in the sampler stats
adapt_options: ASettings for geometry adaptation.
check_turning: bool§target_integration_time: Option<f64>§trajectory_kind: KineticEnergyKindSelects the kinetic-energy form and the corresponding integrator.
KineticEnergyKind::Euclidean: standard leapfrog (default for most settings).KineticEnergyKind::ExactNormal: geodesic leapfrog exact for a standard-normal potential.KineticEnergyKind::Microcanonical: isokinetic ESH-dynamics leapfrog (microcanonical HMC); momentum is constrained to the unit sphere.
num_chains: usize§seed: u64§extra_doublings: u64Number of extra doublings to perform after reaching maxdepth. This can be used to increase the effective sample size at the cost of more expensive sampling.
Trait Implementations§
Source§impl<A: Clone + Debug + Copy + Default + Serialize> Clone for NutsSettings<A>
impl<A: Clone + Debug + Copy + Default + Serialize> Clone for NutsSettings<A>
Source§fn clone(&self) -> NutsSettings<A>
fn clone(&self) -> NutsSettings<A>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<'de, A> Deserialize<'de> for NutsSettings<A>
impl<'de, A> Deserialize<'de> for NutsSettings<A>
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl<A> Serialize for NutsSettings<A>
impl<A> Serialize for NutsSettings<A>
impl<A: Copy + Debug + Copy + Default + Serialize> Copy for NutsSettings<A>
Auto Trait Implementations§
impl<A> Freeze for NutsSettings<A>where
A: Freeze,
impl<A> RefUnwindSafe for NutsSettings<A>where
A: RefUnwindSafe,
impl<A> Send for NutsSettings<A>where
A: Send,
impl<A> Sync for NutsSettings<A>where
A: Sync,
impl<A> Unpin for NutsSettings<A>where
A: Unpin,
impl<A> UnsafeUnpin for NutsSettings<A>where
A: UnsafeUnpin,
impl<A> UnwindSafe for NutsSettings<A>where
A: UnwindSafe,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more