Skip to content

Sampler

flowMC.Sampler ¤

Sampler ¤

Top level API that the users primarily interact with.

Parameters:

Name Type Description Default
n_dim int

Dimension of the parameter space.

required
n_chains int

Number of chains to sample.

required
rng_key Key

Jax PRNGKey.

required
resources dict[str, Resource]

Resources to be used by the sampler.

None
strategies dict[str, Strategy]

Strategies to be used by the sampler.

None
strategy_order list[str]

Order of strategies to execute.

None
resource_strategy_bundles ResourceStrategyBundle

Pre-configured bundle containing resources and strategies.

None
resources: dict[str, Resource] instance-attribute ¤
strategies: dict[str, Strategy] instance-attribute ¤
strategy_order: Optional[list[str]] instance-attribute ¤
logging: bool = True class-attribute instance-attribute ¤
outdir: str = './outdir/' class-attribute instance-attribute ¤
n_dim: int = n_dim instance-attribute ¤
n_chains: int = n_chains instance-attribute ¤
rng_key: Key = rng_key instance-attribute ¤
__init__(n_dim: int, n_chains: int, rng_key: Key, resources: Optional[dict[str, Resource]] = None, strategies: Optional[dict[str, Strategy]] = None, strategy_order: Optional[list[str]] = None, resource_strategy_bundles: Optional[ResourceStrategyBundle] = None, **kwargs) -> None ¤

Initialize the sampler.

Provide either resources + strategies + strategy_order or a resource_strategy_bundles pre-configured bundle.

Parameters:

Name Type Description Default
n_dim int

Dimension of the parameter space.

required
n_chains int

Number of parallel chains.

required
rng_key Key

JAX PRNG key.

required
resources Optional[dict[str, Resource]]

Dictionary of named resources (kernels, buffers, etc.). Must be paired with strategies.

None
strategies Optional[dict[str, Strategy]]

Dictionary of named strategies. Must be paired with resources.

None
strategy_order Optional[list[str]]

Ordered list of strategy names to execute each call to :meth:sample.

None
resource_strategy_bundles Optional[ResourceStrategyBundle]

Pre-configured bundle that provides resources, strategies, and ordering.

None
**kwargs

Additional keyword arguments that override class-level attributes (e.g. logging, outdir).

{}

Raises:

Type Description
ValueError

If neither resources/strategies nor resource_strategy_bundles is provided.

sample(initial_position: Float[Array, 'n_chains n_dim'], data: dict) ¤

Sample from the posterior using the local sampler.

Parameters:

Name Type Description Default
initial_position Device Array

Initial position.

required
data dict

Data to be used by the likelihood functions

required
serialize() ¤

Serialize the sampler object.

deserialize() ¤

Deserialize the sampler object.