2.1. Biased initial samples#

This example walks through correcting a biased set of initial samples to recover the true posterior using Aspire’s flow-based samplers.

Set up the environment#

Import the core scientific stack along with Aspire utilities for logging, plotting, and handling sample collections.

import matplotlib.pyplot as plt
import numpy as np
from pathlib import Path
from scipy.stats import norm, uniform, expon

from aspire import Aspire
from aspire.samples import Samples
from aspire.utils import configure_logger, AspireFile
from aspire.plot import plot_comparison

# Configure the logger
configure_logger("INFO")
<Logger aspire (INFO)>

Configure output paths#

Create a reproducible random number generator and ensure the directory used to store figures and results exists.

outdir = Path("outdir") / "biased_example"
outdir.mkdir(parents=True, exist_ok=True)

rng = np.random.default_rng(42)

Describe the target distribution#

Specify the one-dimensional marginals that define our four-dimensional target and wrap them in likelihood and prior helper functions consumed by Aspire.

dists = [
    norm(loc=6, scale=0.2),
    expon(scale=1),
    norm(loc=5, scale=1),
    uniform(loc=-10, scale=20),
]

prior_bounds = [
    (-10, 10),
    (0, 10),
    (-10, 10),
    (-10, 10),
]
dims = len(dists)
parameters = [f"x_{i}" for i in range(dims)]


def log_likelihood(samples: Samples):
    x = samples.x
    log_prob = np.zeros(x.shape[0])
    for i, dist in enumerate(dists):
        log_prob += dist.logpdf(x[:, i])
    return log_prob


def log_prior(samples: Samples):
    log_prob = np.zeros(samples.x.shape[0])
    for i, bounds in enumerate(prior_bounds):
        log_prob += uniform(bounds[0], bounds[1] - bounds[0]).logpdf(samples.x[:, i])
    return log_prob

Draw biased initial samples#

Generate intentionally biased proposal samples alongside reference draws from the true distribution, then instantiate the Aspire object that will learn a correcting flow.

n_init = 1_000

x_initial = np.concatenate([
    rng.normal(loc=2, scale=1, size=(n_init, 1)),
    rng.exponential(scale=1, size=(n_init, 1)),
    rng.normal(loc=0, scale=1, size=(n_init, 1)),
    # rng.uniform(low=-10, high=10, size=(n_init, 1)),
    rng.uniform(low=-10, high=10, size=(n_init, 1)),
], axis=1)

x_true = np.concatenate([
    dist.rvs(size=(n_init, 1), random_state=rng) for dist in dists
], axis=1)

dims = x_initial.shape[1]
parameters = [f"x_{i}" for i in range(dims)]
initial_samples = Samples(
    x=x_initial,
    parameters=parameters,
)
true_samples = Samples(
    x=x_true,
    parameters=parameters,
)
# Define the parameters and prior bounds
prior_bounds_dict = {p: b for p, b in zip(parameters, prior_bounds)}

# Define the aspire object
poppy = Aspire(
    log_likelihood=log_likelihood,
    log_prior=log_prior,
    dims=dims,
    parameters=parameters,
    prior_bounds=prior_bounds_dict,
    flow_matching=False,
    flow_backend="zuko",
    bounded_to_unbounded=True,
    hidden_features=[32, 32],
    device="cpu",
)

Train the flow model#

Fit the normalizing flow to the initial samples and monitor optimisation via the loss curve.

# Fit the flow to the initial samples
history = poppy.fit(
    initial_samples,
    n_epochs=100,
    lr_annealing=True,
    batch_size=256,
)
# Plot the loss
fig = history.plot_loss()
fig.savefig(outdir / "loss.png")
plt.show()
2025-12-11 14:43:49,742 - aspire - INFO - Prior bounds: {'x_0': (-10, 10), 'x_1': (0, 10), 'x_2': (-10, 10), 'x_3': (-10, 10)}
2025-12-11 14:43:49,744 - aspire - INFO - Bounded parameters: ['x_0', 'x_1', 'x_2', 'x_3']
2025-12-11 14:43:49,745 - aspire - INFO - Affine transform applied to: ['x_0', 'x_1', 'x_2', 'x_3']
2025-12-11 14:43:49,745 - aspire - INFO - Configuring <class 'aspire.flows.torch.flows.ZukoFlow'> with kwargs: {'hidden_features': [32, 32]}
2025-12-11 14:43:51,678 - aspire - INFO - Initialized normalizing flow: 
 MAF(
  (transform): LazyComposedTransform(
    (0): MaskedAutoregressiveTransform(
      (base): MonotonicAffineTransform()
      (order): [0, 1, 2, 3]
      (hyper): MaskedMLP(
        (0): MaskedLinear(in_features=4, out_features=32, bias=True)
        (1): ReLU()
        (2): MaskedLinear(in_features=32, out_features=32, bias=True)
        (3): ReLU()
        (4): MaskedLinear(in_features=32, out_features=8, bias=True)
      )
    )
    (1): MaskedAutoregressiveTransform(
      (base): MonotonicAffineTransform()
      (order): [3, 2, 1, 0]
      (hyper): MaskedMLP(
        (0): MaskedLinear(in_features=4, out_features=32, bias=True)
        (1): ReLU()
        (2): MaskedLinear(in_features=32, out_features=32, bias=True)
        (3): ReLU()
        (4): MaskedLinear(in_features=32, out_features=8, bias=True)
      )
    )
    (2): MaskedAutoregressiveTransform(
      (base): MonotonicAffineTransform()
      (order): [0, 1, 2, 3]
      (hyper): MaskedMLP(
        (0): MaskedLinear(in_features=4, out_features=32, bias=True)
        (1): ReLU()
        (2): MaskedLinear(in_features=32, out_features=32, bias=True)
        (3): ReLU()
        (4): MaskedLinear(in_features=32, out_features=8, bias=True)
      )
    )
  )
  (base): UnconditionalDistribution(DiagNormal(loc: torch.Size([4]), scale: torch.Size([4])))
)
2025-12-11 14:43:51,679 - aspire - INFO - Training with 1000 samples
2025-12-11 14:43:51,681 - aspire - INFO - Training on 800 samples, validating on 200 samples.
Epochs:   0%|          | 0/100 [00:00<?, ?it/s]
Epochs:   0%|          | 0/100 [00:00<?, ?it/s, train_loss=5.7682, val_loss=5.8224]
Epochs:   1%|          | 1/100 [00:00<01:24,  1.17it/s, train_loss=5.7682, val_loss=5.8224]
Epochs:   1%|          | 1/100 [00:00<01:24,  1.17it/s, train_loss=5.7515, val_loss=5.7682]
Epochs:   1%|          | 1/100 [00:00<01:24,  1.17it/s, train_loss=5.7143, val_loss=5.7317]
Epochs:   1%|          | 1/100 [00:00<01:24,  1.17it/s, train_loss=5.7225, val_loss=5.7095]
Epochs:   1%|          | 1/100 [00:00<01:24,  1.17it/s, train_loss=5.7302, val_loss=5.6977]
Epochs:   1%|          | 1/100 [00:00<01:24,  1.17it/s, train_loss=5.6941, val_loss=5.6948]
Epochs:   1%|          | 1/100 [00:00<01:24,  1.17it/s, train_loss=5.6558, val_loss=5.6969]
Epochs:   7%|▋         | 7/100 [00:00<00:09,  9.57it/s, train_loss=5.6558, val_loss=5.6969]
Epochs:   7%|▋         | 7/100 [00:00<00:09,  9.57it/s, train_loss=5.7342, val_loss=5.7007]
Epochs:   7%|▋         | 7/100 [00:00<00:09,  9.57it/s, train_loss=5.7078, val_loss=5.7022]
Epochs:   7%|▋         | 7/100 [00:01<00:09,  9.57it/s, train_loss=5.7519, val_loss=5.7030]
Epochs:   7%|▋         | 7/100 [00:01<00:09,  9.57it/s, train_loss=5.6347, val_loss=5.7020]
Epochs:   7%|▋         | 7/100 [00:01<00:09,  9.57it/s, train_loss=5.7032, val_loss=5.7021]
Epochs:   7%|▋         | 7/100 [00:01<00:09,  9.57it/s, train_loss=5.5172, val_loss=5.7019]
Epochs:   7%|▋         | 7/100 [00:01<00:09,  9.57it/s, train_loss=5.6615, val_loss=5.7026]
Epochs:  14%|█▍        | 14/100 [00:01<00:04, 19.64it/s, train_loss=5.6615, val_loss=5.7026]
Epochs:  14%|█▍        | 14/100 [00:01<00:04, 19.64it/s, train_loss=5.6178, val_loss=5.7065]
Epochs:  14%|█▍        | 14/100 [00:01<00:04, 19.64it/s, train_loss=5.8328, val_loss=5.7099]
Epochs:  14%|█▍        | 14/100 [00:01<00:04, 19.64it/s, train_loss=5.6534, val_loss=5.7151]
Epochs:  14%|█▍        | 14/100 [00:01<00:04, 19.64it/s, train_loss=5.6888, val_loss=5.7189]
Epochs:  14%|█▍        | 14/100 [00:01<00:04, 19.64it/s, train_loss=5.6999, val_loss=5.7215]
Epochs:  14%|█▍        | 14/100 [00:01<00:04, 19.64it/s, train_loss=5.7227, val_loss=5.7238]
Epochs:  14%|█▍        | 14/100 [00:01<00:04, 19.64it/s, train_loss=5.6617, val_loss=5.7258]
Epochs:  21%|██        | 21/100 [00:01<00:02, 28.69it/s, train_loss=5.6617, val_loss=5.7258]
Epochs:  21%|██        | 21/100 [00:01<00:02, 28.69it/s, train_loss=5.6256, val_loss=5.7259]
Epochs:  21%|██        | 21/100 [00:01<00:02, 28.69it/s, train_loss=5.5353, val_loss=5.7276]
Epochs:  21%|██        | 21/100 [00:01<00:02, 28.69it/s, train_loss=5.5656, val_loss=5.7282]
Epochs:  21%|██        | 21/100 [00:01<00:02, 28.69it/s, train_loss=5.6148, val_loss=5.7273]
Epochs:  21%|██        | 21/100 [00:01<00:02, 28.69it/s, train_loss=5.6193, val_loss=5.7261]
Epochs:  21%|██        | 21/100 [00:01<00:02, 28.69it/s, train_loss=5.5485, val_loss=5.7265]
Epochs:  21%|██        | 21/100 [00:01<00:02, 28.69it/s, train_loss=5.6399, val_loss=5.7260]
Epochs:  28%|██▊       | 28/100 [00:01<00:01, 36.69it/s, train_loss=5.6399, val_loss=5.7260]
Epochs:  28%|██▊       | 28/100 [00:01<00:01, 36.69it/s, train_loss=5.6048, val_loss=5.7257]
Epochs:  28%|██▊       | 28/100 [00:01<00:01, 36.69it/s, train_loss=5.6074, val_loss=5.7256]
Epochs:  28%|██▊       | 28/100 [00:01<00:01, 36.69it/s, train_loss=5.7287, val_loss=5.7247]
Epochs:  28%|██▊       | 28/100 [00:01<00:01, 36.69it/s, train_loss=5.5905, val_loss=5.7272]
Epochs:  28%|██▊       | 28/100 [00:01<00:01, 36.69it/s, train_loss=5.6615, val_loss=5.7289]
Epochs:  28%|██▊       | 28/100 [00:01<00:01, 36.69it/s, train_loss=5.6233, val_loss=5.7312]
Epochs:  28%|██▊       | 28/100 [00:01<00:01, 36.69it/s, train_loss=5.6513, val_loss=5.7336]
Epochs:  35%|███▌      | 35/100 [00:01<00:01, 43.52it/s, train_loss=5.6513, val_loss=5.7336]
Epochs:  35%|███▌      | 35/100 [00:01<00:01, 43.52it/s, train_loss=5.6302, val_loss=5.7363]
Epochs:  35%|███▌      | 35/100 [00:01<00:01, 43.52it/s, train_loss=5.6900, val_loss=5.7370]
Epochs:  35%|███▌      | 35/100 [00:01<00:01, 43.52it/s, train_loss=5.6180, val_loss=5.7363]
Epochs:  35%|███▌      | 35/100 [00:01<00:01, 43.52it/s, train_loss=5.8270, val_loss=5.7345]
Epochs:  35%|███▌      | 35/100 [00:01<00:01, 43.52it/s, train_loss=5.6799, val_loss=5.7267]
Epochs:  35%|███▌      | 35/100 [00:01<00:01, 43.52it/s, train_loss=5.7152, val_loss=5.7193]
Epochs:  35%|███▌      | 35/100 [00:01<00:01, 43.52it/s, train_loss=5.6854, val_loss=5.7122]
Epochs:  42%|████▏     | 42/100 [00:01<00:01, 48.95it/s, train_loss=5.6854, val_loss=5.7122]
Epochs:  42%|████▏     | 42/100 [00:01<00:01, 48.95it/s, train_loss=5.6053, val_loss=5.7093]
Epochs:  42%|████▏     | 42/100 [00:01<00:01, 48.95it/s, train_loss=5.7100, val_loss=5.7096]
Epochs:  42%|████▏     | 42/100 [00:01<00:01, 48.95it/s, train_loss=5.6404, val_loss=5.7118]
Epochs:  42%|████▏     | 42/100 [00:01<00:01, 48.95it/s, train_loss=5.5505, val_loss=5.7148]
Epochs:  42%|████▏     | 42/100 [00:01<00:01, 48.95it/s, train_loss=5.6185, val_loss=5.7163]
Epochs:  42%|████▏     | 42/100 [00:01<00:01, 48.95it/s, train_loss=5.6490, val_loss=5.7185]
Epochs:  42%|████▏     | 42/100 [00:01<00:01, 48.95it/s, train_loss=5.6641, val_loss=5.7202]
Epochs:  49%|████▉     | 49/100 [00:01<00:00, 53.13it/s, train_loss=5.6641, val_loss=5.7202]
Epochs:  49%|████▉     | 49/100 [00:01<00:00, 53.13it/s, train_loss=5.5823, val_loss=5.7219]
Epochs:  49%|████▉     | 49/100 [00:01<00:00, 53.13it/s, train_loss=5.6293, val_loss=5.7229]
Epochs:  49%|████▉     | 49/100 [00:01<00:00, 53.13it/s, train_loss=5.6556, val_loss=5.7242]
Epochs:  49%|████▉     | 49/100 [00:01<00:00, 53.13it/s, train_loss=5.6549, val_loss=5.7252]
Epochs:  49%|████▉     | 49/100 [00:01<00:00, 53.13it/s, train_loss=5.7120, val_loss=5.7252]
Epochs:  49%|████▉     | 49/100 [00:01<00:00, 53.13it/s, train_loss=5.7036, val_loss=5.7245]
Epochs:  49%|████▉     | 49/100 [00:01<00:00, 53.13it/s, train_loss=5.6222, val_loss=5.7237]
Epochs:  56%|█████▌    | 56/100 [00:01<00:00, 56.51it/s, train_loss=5.6222, val_loss=5.7237]
Epochs:  56%|█████▌    | 56/100 [00:01<00:00, 56.51it/s, train_loss=5.6231, val_loss=5.7244]
Epochs:  56%|█████▌    | 56/100 [00:01<00:00, 56.51it/s, train_loss=5.6054, val_loss=5.7250]
Epochs:  56%|█████▌    | 56/100 [00:01<00:00, 56.51it/s, train_loss=5.6501, val_loss=5.7252]
Epochs:  56%|█████▌    | 56/100 [00:01<00:00, 56.51it/s, train_loss=5.6928, val_loss=5.7264]
Epochs:  56%|█████▌    | 56/100 [00:01<00:00, 56.51it/s, train_loss=5.6276, val_loss=5.7284]
Epochs:  56%|█████▌    | 56/100 [00:01<00:00, 56.51it/s, train_loss=5.7687, val_loss=5.7308]
Epochs:  56%|█████▌    | 56/100 [00:01<00:00, 56.51it/s, train_loss=5.6259, val_loss=5.7336]
Epochs:  63%|██████▎   | 63/100 [00:01<00:00, 58.44it/s, train_loss=5.6259, val_loss=5.7336]
Epochs:  63%|██████▎   | 63/100 [00:01<00:00, 58.44it/s, train_loss=5.6128, val_loss=5.7348]
Epochs:  63%|██████▎   | 63/100 [00:01<00:00, 58.44it/s, train_loss=5.5893, val_loss=5.7355]
Epochs:  63%|██████▎   | 63/100 [00:01<00:00, 58.44it/s, train_loss=5.5853, val_loss=5.7359]
Epochs:  63%|██████▎   | 63/100 [00:01<00:00, 58.44it/s, train_loss=5.5594, val_loss=5.7359]
Epochs:  63%|██████▎   | 63/100 [00:01<00:00, 58.44it/s, train_loss=5.5864, val_loss=5.7356]
Epochs:  63%|██████▎   | 63/100 [00:01<00:00, 58.44it/s, train_loss=5.6392, val_loss=5.7356]
Epochs:  63%|██████▎   | 63/100 [00:01<00:00, 58.44it/s, train_loss=5.6543, val_loss=5.7354]
Epochs:  70%|███████   | 70/100 [00:01<00:00, 59.42it/s, train_loss=5.6543, val_loss=5.7354]
Epochs:  70%|███████   | 70/100 [00:01<00:00, 59.42it/s, train_loss=5.6040, val_loss=5.7351]
Epochs:  70%|███████   | 70/100 [00:01<00:00, 59.42it/s, train_loss=5.6251, val_loss=5.7350]
Epochs:  70%|███████   | 70/100 [00:01<00:00, 59.42it/s, train_loss=5.6127, val_loss=5.7347]
Epochs:  70%|███████   | 70/100 [00:02<00:00, 59.42it/s, train_loss=5.5837, val_loss=5.7347]
Epochs:  70%|███████   | 70/100 [00:02<00:00, 59.42it/s, train_loss=5.6374, val_loss=5.7347]
Epochs:  70%|███████   | 70/100 [00:02<00:00, 59.42it/s, train_loss=5.6903, val_loss=5.7344]
Epochs:  70%|███████   | 70/100 [00:02<00:00, 59.42it/s, train_loss=5.6071, val_loss=5.7339]
Epochs:  77%|███████▋  | 77/100 [00:02<00:00, 60.20it/s, train_loss=5.6071, val_loss=5.7339]
Epochs:  77%|███████▋  | 77/100 [00:02<00:00, 60.20it/s, train_loss=5.6556, val_loss=5.7336]
Epochs:  77%|███████▋  | 77/100 [00:02<00:00, 60.20it/s, train_loss=5.6180, val_loss=5.7336]
Epochs:  77%|███████▋  | 77/100 [00:02<00:00, 60.20it/s, train_loss=5.6250, val_loss=5.7338]
Epochs:  77%|███████▋  | 77/100 [00:02<00:00, 60.20it/s, train_loss=5.7097, val_loss=5.7339]
Epochs:  77%|███████▋  | 77/100 [00:02<00:00, 60.20it/s, train_loss=5.6440, val_loss=5.7338]
Epochs:  77%|███████▋  | 77/100 [00:02<00:00, 60.20it/s, train_loss=5.5217, val_loss=5.7338]
Epochs:  77%|███████▋  | 77/100 [00:02<00:00, 60.20it/s, train_loss=5.6750, val_loss=5.7337]
Epochs:  84%|████████▍ | 84/100 [00:02<00:00, 60.73it/s, train_loss=5.6750, val_loss=5.7337]
Epochs:  84%|████████▍ | 84/100 [00:02<00:00, 60.73it/s, train_loss=5.6321, val_loss=5.7334]
Epochs:  84%|████████▍ | 84/100 [00:02<00:00, 60.73it/s, train_loss=5.6664, val_loss=5.7331]
Epochs:  84%|████████▍ | 84/100 [00:02<00:00, 60.73it/s, train_loss=5.6000, val_loss=5.7328]
Epochs:  84%|████████▍ | 84/100 [00:02<00:00, 60.73it/s, train_loss=5.5550, val_loss=5.7325]
Epochs:  84%|████████▍ | 84/100 [00:02<00:00, 60.73it/s, train_loss=5.5503, val_loss=5.7324]
Epochs:  84%|████████▍ | 84/100 [00:02<00:00, 60.73it/s, train_loss=5.6301, val_loss=5.7323]
Epochs:  84%|████████▍ | 84/100 [00:02<00:00, 60.73it/s, train_loss=5.5384, val_loss=5.7322]
Epochs:  91%|█████████ | 91/100 [00:02<00:00, 61.27it/s, train_loss=5.5384, val_loss=5.7322]
Epochs:  91%|█████████ | 91/100 [00:02<00:00, 61.27it/s, train_loss=5.6442, val_loss=5.7321]
Epochs:  91%|█████████ | 91/100 [00:02<00:00, 61.27it/s, train_loss=5.5608, val_loss=5.7321]
Epochs:  91%|█████████ | 91/100 [00:02<00:00, 61.27it/s, train_loss=5.6623, val_loss=5.7321]
Epochs:  91%|█████████ | 91/100 [00:02<00:00, 61.27it/s, train_loss=5.6358, val_loss=5.7321]
Epochs:  91%|█████████ | 91/100 [00:02<00:00, 61.27it/s, train_loss=5.6161, val_loss=5.7321]
Epochs:  91%|█████████ | 91/100 [00:02<00:00, 61.27it/s, train_loss=5.5040, val_loss=5.7321]
Epochs:  91%|█████████ | 91/100 [00:02<00:00, 61.27it/s, train_loss=5.6070, val_loss=5.7321]
Epochs:  98%|█████████▊| 98/100 [00:02<00:00, 61.94it/s, train_loss=5.6070, val_loss=5.7321]
Epochs:  98%|█████████▊| 98/100 [00:02<00:00, 61.94it/s, train_loss=5.6648, val_loss=5.7321]
Epochs:  98%|█████████▊| 98/100 [00:02<00:00, 61.94it/s, train_loss=5.5725, val_loss=5.7321]
Epochs: 100%|██████████| 100/100 [00:02<00:00, 41.32it/s, train_loss=5.5725, val_loss=5.7321]
2025-12-11 14:43:54,105 - aspire - INFO - Loaded best model with val loss 5.6948
../_images/8b2490cbdc632130deda9ecab18e10205b0f5adb8a2c25bbba01349860fb195e.png

Compare flow-based importance samples#

Use the trained flow to generate new samples, and visualise how they compare to the original biased set and the ground truth.

is_samples = poppy.sample_posterior(10_000)


fig = plot_comparison(
    initial_samples,
    true_samples,
    is_samples,
    is_samples,
    per_samples_kwargs=[
        dict(include_weights=True, color="C0"),
        dict(include_weights=False, color="k"),
        dict(include_weights=False, color="lightgrey"),
        dict(include_weights=True, color="C1"),
    ],
    labels=["Initial samples", "True samples", "Flow samples", "IS samples"],
)
fig.savefig(outdir / "initial_samples.png")
plt.show()
2025-12-11 14:43:54,281 - aspire - INFO - Sampled 10000 samples from the posterior
2025-12-11 14:43:54,282 - aspire - INFO - Number of likelihood evaluations: 10000
2025-12-11 14:43:54,282 - aspire - INFO - Sample summary:
2025-12-11 14:43:54,283 - aspire - INFO - No. samples: 10000
No. parameters: 4
Log evidence: -27.71 +/- 0.86
Effective sample size: 1.3
Efficiency: 0.00
WARNING:root:Too few points to create valid contours
../_images/e50c5094bedd80578cd777544f3c5692f05b0710900036a411d85efbc9affece.png ../_images/2954b68e19a353349c8a37de3c7ece37b11667d8bb8375e8197b87cd508ffcae.png ../_images/5eb249019b164c0ba71b2e38170028428b81ff5037656aefaa50a74e0ef5bd16.png ../_images/1f79c67b41cfd743ee46610994eabf852e8e28b6e3e9b7cb8891222eb062af01.png

Refine with sequential Monte Carlo#

Run Aspire’s SMC sampler to further correct the proposal and inspect the particle evolution.

# Produce samples from the posterior
samples, smc_history = poppy.sample_posterior(
    1000,
    sampler="smc",
    return_history=True,
    n_final_samples=5000,
    sampler_kwargs=dict(
        n_steps=32,
    ),
)

fig = smc_history.plot()
fig.savefig(outdir / "history.png")
2025-12-11 14:43:56,627 - aspire - INFO - Prior bounds: {'x_0': (-10, 10), 'x_1': (0, 10), 'x_2': (-10, 10), 'x_3': (-10, 10)}
INFO:aspire.transforms:Prior bounds: {'x_0': (-10, 10), 'x_1': (0, 10), 'x_2': (-10, 10), 'x_3': (-10, 10)}
2025-12-11 14:43:56,628 - aspire - INFO - Prior bounds: {'x_0': array([-10,  10]), 'x_1': array([ 0, 10]), 'x_2': array([-10,  10]), 'x_3': array([-10,  10])}
INFO:aspire.transforms:Prior bounds: {'x_0': array([-10,  10]), 'x_1': array([ 0, 10]), 'x_2': array([-10,  10]), 'x_3': array([-10,  10])}
2025-12-11 14:43:56,629 - aspire - INFO - Affine transform applied to: ['x_0', 'x_1', 'x_2', 'x_3']
INFO:aspire.transforms:Affine transform applied to: ['x_0', 'x_1', 'x_2', 'x_3']
2025-12-11 14:43:56,640 - aspire - INFO - it 1 - beta: 0.0118408203125
INFO:aspire.samplers.smc.base:it 1 - beta: 0.0118408203125
2025-12-11 14:43:56,642 - aspire - INFO - it 1 - ESS: 500.3 (0.50 efficiency)
INFO:aspire.samplers.smc.base:it 1 - ESS: 500.3 (0.50 efficiency)
2025-12-11 14:43:56,643 - aspire - INFO - it 1 - Log evidence ratio: -2.27 +/- 0.03
INFO:aspire.samplers.smc.base:it 1 - Log evidence ratio: -2.27 +/- 0.03
Sampling:   0%|          | 0/32 [00:00<?, ?step/s]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.513, rho=0.779]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.406, rho=0.881]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.349, rho=0.932]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.378, rho=0.983]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.336, rho=0.99] 
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.366, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.348, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.356, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.352, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.379, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.378, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.383, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.346, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.328, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.334, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.369, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.355, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.35, rho=0.99] 
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 179.21step/s, acceptance_rate=0.35, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 179.21step/s, acceptance_rate=0.373, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 179.21step/s, acceptance_rate=0.36, rho=0.99] 
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 179.21step/s, acceptance_rate=0.34, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 179.21step/s, acceptance_rate=0.351, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 179.21step/s, acceptance_rate=0.363, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 179.21step/s, acceptance_rate=0.371, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 179.21step/s, acceptance_rate=0.349, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 179.21step/s, acceptance_rate=0.345, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 179.21step/s, acceptance_rate=0.362, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 179.21step/s, acceptance_rate=0.395, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 179.21step/s, acceptance_rate=0.36, rho=0.99] 
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 179.21step/s, acceptance_rate=0.344, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 179.21step/s, acceptance_rate=0.333, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 179.21step/s, acceptance_rate=0.35, rho=0.99] 
Sampling: 100%|██████████| 32/32 [00:00<00:00, 179.01step/s, acceptance_rate=0.35, rho=0.99]
2025-12-11 14:43:57,496 - aspire - INFO - it 2 - beta: 0.02893186081200838
INFO:aspire.samplers.smc.base:it 2 - beta: 0.02893186081200838
2025-12-11 14:43:57,497 - aspire - INFO - it 2 - ESS: 500.1 (0.50 efficiency)
INFO:aspire.samplers.smc.base:it 2 - ESS: 500.1 (0.50 efficiency)
2025-12-11 14:43:57,499 - aspire - INFO - it 2 - Log evidence ratio: -2.18 +/- 0.03
INFO:aspire.samplers.smc.base:it 2 - Log evidence ratio: -2.18 +/- 0.03
Sampling:   0%|          | 0/32 [00:00<?, ?step/s]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.545, rho=0.811]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.449, rho=0.939]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.412, rho=0.99] 
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.407, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.371, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.384, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.372, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.393, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.365, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.378, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.381, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.379, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.393, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.379, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.385, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.384, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.389, rho=0.99]
Sampling:  53%|█████▎    | 17/32 [00:00<00:00, 168.17step/s, acceptance_rate=0.389, rho=0.99]
Sampling:  53%|█████▎    | 17/32 [00:00<00:00, 168.17step/s, acceptance_rate=0.396, rho=0.99]
Sampling:  53%|█████▎    | 17/32 [00:00<00:00, 168.17step/s, acceptance_rate=0.402, rho=0.99]
Sampling:  53%|█████▎    | 17/32 [00:00<00:00, 168.17step/s, acceptance_rate=0.404, rho=0.99]
Sampling:  53%|█████▎    | 17/32 [00:00<00:00, 168.17step/s, acceptance_rate=0.38, rho=0.99] 
Sampling:  53%|█████▎    | 17/32 [00:00<00:00, 168.17step/s, acceptance_rate=0.388, rho=0.99]
Sampling:  53%|█████▎    | 17/32 [00:00<00:00, 168.17step/s, acceptance_rate=0.386, rho=0.99]
Sampling:  53%|█████▎    | 17/32 [00:00<00:00, 168.17step/s, acceptance_rate=0.381, rho=0.99]
Sampling:  53%|█████▎    | 17/32 [00:00<00:00, 168.17step/s, acceptance_rate=0.374, rho=0.99]
Sampling:  53%|█████▎    | 17/32 [00:00<00:00, 168.17step/s, acceptance_rate=0.388, rho=0.99]
Sampling:  53%|█████▎    | 17/32 [00:00<00:00, 168.17step/s, acceptance_rate=0.399, rho=0.99]
Sampling:  53%|█████▎    | 17/32 [00:00<00:00, 168.17step/s, acceptance_rate=0.375, rho=0.99]
Sampling:  53%|█████▎    | 17/32 [00:00<00:00, 168.17step/s, acceptance_rate=0.378, rho=0.99]
Sampling:  53%|█████▎    | 17/32 [00:00<00:00, 168.17step/s, acceptance_rate=0.393, rho=0.99]
Sampling:  53%|█████▎    | 17/32 [00:00<00:00, 168.17step/s, acceptance_rate=0.369, rho=0.99]
Sampling:  53%|█████▎    | 17/32 [00:00<00:00, 168.17step/s, acceptance_rate=0.368, rho=0.99]
Sampling: 100%|██████████| 32/32 [00:00<00:00, 171.27step/s, acceptance_rate=0.368, rho=0.99]
2025-12-11 14:43:58,233 - aspire - INFO - it 3 - beta: 0.056151284818483305
INFO:aspire.samplers.smc.base:it 3 - beta: 0.056151284818483305
2025-12-11 14:43:58,234 - aspire - INFO - it 3 - ESS: 500.1 (0.50 efficiency)
INFO:aspire.samplers.smc.base:it 3 - ESS: 500.1 (0.50 efficiency)
2025-12-11 14:43:58,236 - aspire - INFO - it 3 - Log evidence ratio: -2.19 +/- 0.03
INFO:aspire.samplers.smc.base:it 3 - Log evidence ratio: -2.19 +/- 0.03
Sampling:   0%|          | 0/32 [00:00<?, ?step/s]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.533, rho=0.799]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.42, rho=0.91]  
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.428, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.419, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.412, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.411, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.405, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.402, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.401, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.404, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.392, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.374, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.397, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.4, rho=0.99]  
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.392, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.422, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.399, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.406, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.84step/s, acceptance_rate=0.406, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.84step/s, acceptance_rate=0.403, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.84step/s, acceptance_rate=0.398, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.84step/s, acceptance_rate=0.424, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.84step/s, acceptance_rate=0.375, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.84step/s, acceptance_rate=0.39, rho=0.99] 
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.84step/s, acceptance_rate=0.395, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.84step/s, acceptance_rate=0.422, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.84step/s, acceptance_rate=0.392, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.84step/s, acceptance_rate=0.375, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.84step/s, acceptance_rate=0.396, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.84step/s, acceptance_rate=0.406, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.84step/s, acceptance_rate=0.401, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.84step/s, acceptance_rate=0.386, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.84step/s, acceptance_rate=0.418, rho=0.99]
Sampling: 100%|██████████| 32/32 [00:00<00:00, 172.74step/s, acceptance_rate=0.418, rho=0.99]
2025-12-11 14:43:58,929 - aspire - INFO - it 4 - beta: 0.09983971678722006
INFO:aspire.samplers.smc.base:it 4 - beta: 0.09983971678722006
2025-12-11 14:43:58,930 - aspire - INFO - it 4 - ESS: 500.0 (0.50 efficiency)
INFO:aspire.samplers.smc.base:it 4 - ESS: 500.0 (0.50 efficiency)
2025-12-11 14:43:58,932 - aspire - INFO - it 4 - Log evidence ratio: -2.10 +/- 0.03
INFO:aspire.samplers.smc.base:it 4 - Log evidence ratio: -2.10 +/- 0.03
Sampling:   0%|          | 0/32 [00:00<?, ?step/s]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.58, rho=0.846]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.443, rho=0.97]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.405, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.388, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.386, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.39, rho=0.99] 
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.4, rho=0.99] 
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.4, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.398, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.393, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.335, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.397, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.372, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.375, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.386, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.379, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.37, rho=0.99] 
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.388, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.37, rho=0.99] 
Sampling:  59%|█████▉    | 19/32 [00:00<00:00, 178.51step/s, acceptance_rate=0.37, rho=0.99]
Sampling:  59%|█████▉    | 19/32 [00:00<00:00, 178.51step/s, acceptance_rate=0.419, rho=0.99]
Sampling:  59%|█████▉    | 19/32 [00:00<00:00, 178.51step/s, acceptance_rate=0.383, rho=0.99]
Sampling:  59%|█████▉    | 19/32 [00:00<00:00, 178.51step/s, acceptance_rate=0.389, rho=0.99]
Sampling:  59%|█████▉    | 19/32 [00:00<00:00, 178.51step/s, acceptance_rate=0.389, rho=0.99]
Sampling:  59%|█████▉    | 19/32 [00:00<00:00, 178.51step/s, acceptance_rate=0.395, rho=0.99]
Sampling:  59%|█████▉    | 19/32 [00:00<00:00, 178.51step/s, acceptance_rate=0.386, rho=0.99]
Sampling:  59%|█████▉    | 19/32 [00:00<00:00, 178.51step/s, acceptance_rate=0.384, rho=0.99]
Sampling:  59%|█████▉    | 19/32 [00:00<00:00, 178.51step/s, acceptance_rate=0.399, rho=0.99]
Sampling:  59%|█████▉    | 19/32 [00:00<00:00, 178.51step/s, acceptance_rate=0.434, rho=0.99]
Sampling:  59%|█████▉    | 19/32 [00:00<00:00, 178.51step/s, acceptance_rate=0.397, rho=0.99]
Sampling:  59%|█████▉    | 19/32 [00:00<00:00, 178.51step/s, acceptance_rate=0.396, rho=0.99]
Sampling:  59%|█████▉    | 19/32 [00:00<00:00, 178.51step/s, acceptance_rate=0.382, rho=0.99]
Sampling:  59%|█████▉    | 19/32 [00:00<00:00, 178.51step/s, acceptance_rate=0.396, rho=0.99]
Sampling: 100%|██████████| 32/32 [00:00<00:00, 173.88step/s, acceptance_rate=0.396, rho=0.99]
2025-12-11 14:43:59,905 - aspire - INFO - it 5 - beta: 0.16105133028419505
INFO:aspire.samplers.smc.base:it 5 - beta: 0.16105133028419505
2025-12-11 14:43:59,906 - aspire - INFO - it 5 - ESS: 500.0 (0.50 efficiency)
INFO:aspire.samplers.smc.base:it 5 - ESS: 500.0 (0.50 efficiency)
2025-12-11 14:43:59,908 - aspire - INFO - it 5 - Log evidence ratio: -1.89 +/- 0.03
INFO:aspire.samplers.smc.base:it 5 - Log evidence ratio: -1.89 +/- 0.03
Sampling:   0%|          | 0/32 [00:00<?, ?step/s]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.586, rho=0.852]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.485, rho=0.99] 
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.446, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.458, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.427, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.439, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.455, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.424, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.438, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.451, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.46, rho=0.99] 
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.426, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.42, rho=0.99] 
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.449, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.425, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.435, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.432, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.425, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 179.68step/s, acceptance_rate=0.425, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 179.68step/s, acceptance_rate=0.418, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 179.68step/s, acceptance_rate=0.431, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 179.68step/s, acceptance_rate=0.433, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 179.68step/s, acceptance_rate=0.452, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 179.68step/s, acceptance_rate=0.434, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 179.68step/s, acceptance_rate=0.45, rho=0.99] 
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 179.68step/s, acceptance_rate=0.437, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 179.68step/s, acceptance_rate=0.438, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 179.68step/s, acceptance_rate=0.443, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 179.68step/s, acceptance_rate=0.414, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 179.68step/s, acceptance_rate=0.44, rho=0.99] 
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 179.68step/s, acceptance_rate=0.428, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 179.68step/s, acceptance_rate=0.415, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 179.68step/s, acceptance_rate=0.433, rho=0.99]
Sampling: 100%|██████████| 32/32 [00:00<00:00, 178.54step/s, acceptance_rate=0.433, rho=0.99]
2025-12-11 14:44:00,880 - aspire - INFO - it 6 - beta: 0.26076097366213097
INFO:aspire.samplers.smc.base:it 6 - beta: 0.26076097366213097
2025-12-11 14:44:00,882 - aspire - INFO - it 6 - ESS: 500.0 (0.50 efficiency)
INFO:aspire.samplers.smc.base:it 6 - ESS: 500.0 (0.50 efficiency)
2025-12-11 14:44:00,883 - aspire - INFO - it 6 - Log evidence ratio: -1.88 +/- 0.03
INFO:aspire.samplers.smc.base:it 6 - Log evidence ratio: -1.88 +/- 0.03
Sampling:   0%|          | 0/32 [00:00<?, ?step/s]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.636, rho=0.902]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.49, rho=0.99]  
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.472, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.493, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.464, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.474, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.458, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.441, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.453, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.447, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.456, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.451, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.437, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.435, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.442, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.487, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.47, rho=0.99] 
Sampling:  53%|█████▎    | 17/32 [00:00<00:00, 160.32step/s, acceptance_rate=0.47, rho=0.99]
Sampling:  53%|█████▎    | 17/32 [00:00<00:00, 160.32step/s, acceptance_rate=0.472, rho=0.99]
Sampling:  53%|█████▎    | 17/32 [00:00<00:00, 160.32step/s, acceptance_rate=0.475, rho=0.99]
Sampling:  53%|█████▎    | 17/32 [00:00<00:00, 160.32step/s, acceptance_rate=0.431, rho=0.99]
Sampling:  53%|█████▎    | 17/32 [00:00<00:00, 160.32step/s, acceptance_rate=0.45, rho=0.99] 
Sampling:  53%|█████▎    | 17/32 [00:00<00:00, 160.32step/s, acceptance_rate=0.434, rho=0.99]
Sampling:  53%|█████▎    | 17/32 [00:00<00:00, 160.32step/s, acceptance_rate=0.434, rho=0.99]
Sampling:  53%|█████▎    | 17/32 [00:00<00:00, 160.32step/s, acceptance_rate=0.458, rho=0.99]
Sampling:  53%|█████▎    | 17/32 [00:00<00:00, 160.32step/s, acceptance_rate=0.438, rho=0.99]
Sampling:  53%|█████▎    | 17/32 [00:00<00:00, 160.32step/s, acceptance_rate=0.438, rho=0.99]
Sampling:  53%|█████▎    | 17/32 [00:00<00:00, 160.32step/s, acceptance_rate=0.443, rho=0.99]
Sampling:  53%|█████▎    | 17/32 [00:00<00:00, 160.32step/s, acceptance_rate=0.453, rho=0.99]
Sampling:  53%|█████▎    | 17/32 [00:00<00:00, 160.32step/s, acceptance_rate=0.461, rho=0.99]
Sampling:  53%|█████▎    | 17/32 [00:00<00:00, 160.32step/s, acceptance_rate=0.461, rho=0.99]
Sampling:  53%|█████▎    | 17/32 [00:00<00:00, 160.32step/s, acceptance_rate=0.451, rho=0.99]
Sampling:  53%|█████▎    | 17/32 [00:00<00:00, 160.32step/s, acceptance_rate=0.451, rho=0.99]
Sampling: 100%|██████████| 32/32 [00:00<00:00, 164.45step/s, acceptance_rate=0.451, rho=0.99]

2025-12-11 14:44:06,012 - aspire - INFO - it 7 - beta: 0.39695439413337474
INFO:aspire.samplers.smc.base:it 7 - beta: 0.39695439413337474
2025-12-11 14:44:06,013 - aspire - INFO - it 7 - ESS: 500.0 (0.50 efficiency)
INFO:aspire.samplers.smc.base:it 7 - ESS: 500.0 (0.50 efficiency)
2025-12-11 14:44:06,014 - aspire - INFO - it 7 - Log evidence ratio: -1.39 +/- 0.03
INFO:aspire.samplers.smc.base:it 7 - Log evidence ratio: -1.39 +/- 0.03
Sampling:   0%|          | 0/32 [00:00<?, ?step/s]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.656, rho=0.922]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.513, rho=0.99] 
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.509, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.511, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.505, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.485, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.476, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.476, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.498, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.492, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.466, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.503, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.515, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.517, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.481, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.481, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.47, rho=0.99] 
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.489, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 172.87step/s, acceptance_rate=0.489, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 172.87step/s, acceptance_rate=0.481, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 172.87step/s, acceptance_rate=0.5, rho=0.99]  
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 172.87step/s, acceptance_rate=0.478, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 172.87step/s, acceptance_rate=0.476, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 172.87step/s, acceptance_rate=0.475, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 172.87step/s, acceptance_rate=0.492, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 172.87step/s, acceptance_rate=0.512, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 172.87step/s, acceptance_rate=0.479, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 172.87step/s, acceptance_rate=0.466, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 172.87step/s, acceptance_rate=0.473, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 172.87step/s, acceptance_rate=0.465, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 172.87step/s, acceptance_rate=0.49, rho=0.99] 
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 172.87step/s, acceptance_rate=0.482, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 172.87step/s, acceptance_rate=0.462, rho=0.99]
Sampling: 100%|██████████| 32/32 [00:00<00:00, 171.25step/s, acceptance_rate=0.462, rho=0.99]
2025-12-11 14:44:07,007 - aspire - INFO - it 8 - beta: 0.5408328898201813
INFO:aspire.samplers.smc.base:it 8 - beta: 0.5408328898201813
2025-12-11 14:44:07,008 - aspire - INFO - it 8 - ESS: 500.0 (0.50 efficiency)
INFO:aspire.samplers.smc.base:it 8 - ESS: 500.0 (0.50 efficiency)
2025-12-11 14:44:07,009 - aspire - INFO - it 8 - Log evidence ratio: -0.66 +/- 0.03
INFO:aspire.samplers.smc.base:it 8 - Log evidence ratio: -0.66 +/- 0.03
Sampling:   0%|          | 0/32 [00:00<?, ?step/s]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.646, rho=0.912]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.539, rho=0.99] 
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.488, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.473, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.473, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.5, rho=0.99]  
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.473, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.486, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.48, rho=0.99] 
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.494, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.475, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.5, rho=0.99]  
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.495, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.503, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.494, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.496, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.478, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.48, rho=0.99] 
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.78step/s, acceptance_rate=0.48, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.78step/s, acceptance_rate=0.514, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.78step/s, acceptance_rate=0.497, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.78step/s, acceptance_rate=0.458, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.78step/s, acceptance_rate=0.472, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.78step/s, acceptance_rate=0.469, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.78step/s, acceptance_rate=0.446, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.78step/s, acceptance_rate=0.47, rho=0.99] 
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.78step/s, acceptance_rate=0.513, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.78step/s, acceptance_rate=0.489, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.78step/s, acceptance_rate=0.48, rho=0.99] 
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.78step/s, acceptance_rate=0.46, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.78step/s, acceptance_rate=0.495, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.78step/s, acceptance_rate=0.484, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.78step/s, acceptance_rate=0.512, rho=0.99]
Sampling: 100%|██████████| 32/32 [00:00<00:00, 174.38step/s, acceptance_rate=0.512, rho=0.99]
2025-12-11 14:44:09,081 - aspire - INFO - it 9 - beta: 0.6853385301927821
INFO:aspire.samplers.smc.base:it 9 - beta: 0.6853385301927821
2025-12-11 14:44:09,082 - aspire - INFO - it 9 - ESS: 500.0 (0.50 efficiency)
INFO:aspire.samplers.smc.base:it 9 - ESS: 500.0 (0.50 efficiency)
2025-12-11 14:44:09,084 - aspire - INFO - it 9 - Log evidence ratio: 0.02 +/- 0.03
INFO:aspire.samplers.smc.base:it 9 - Log evidence ratio: 0.02 +/- 0.03
Sampling:   0%|          | 0/32 [00:00<?, ?step/s]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.662, rho=0.928]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.54, rho=0.99]  
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.518, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.549, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.519, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.539, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.547, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.528, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.526, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.506, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.505, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.533, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.504, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.514, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.504, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.523, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.52, rho=0.99] 
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.521, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 170.46step/s, acceptance_rate=0.521, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 170.46step/s, acceptance_rate=0.522, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 170.46step/s, acceptance_rate=0.522, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 170.46step/s, acceptance_rate=0.524, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 170.46step/s, acceptance_rate=0.503, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 170.46step/s, acceptance_rate=0.502, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 170.46step/s, acceptance_rate=0.511, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 170.46step/s, acceptance_rate=0.506, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 170.46step/s, acceptance_rate=0.511, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 170.46step/s, acceptance_rate=0.527, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 170.46step/s, acceptance_rate=0.524, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 170.46step/s, acceptance_rate=0.503, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 170.46step/s, acceptance_rate=0.516, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 170.46step/s, acceptance_rate=0.517, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 170.46step/s, acceptance_rate=0.507, rho=0.99]
Sampling: 100%|██████████| 32/32 [00:00<00:00, 160.78step/s, acceptance_rate=0.507, rho=0.99]

2025-12-11 14:44:10,192 - aspire - INFO - it 10 - beta: 0.8199780708472926
INFO:aspire.samplers.smc.base:it 10 - beta: 0.8199780708472926
2025-12-11 14:44:10,194 - aspire - INFO - it 10 - ESS: 500.0 (0.50 efficiency)
INFO:aspire.samplers.smc.base:it 10 - ESS: 500.0 (0.50 efficiency)
2025-12-11 14:44:10,195 - aspire - INFO - it 10 - Log evidence ratio: 0.66 +/- 0.03
INFO:aspire.samplers.smc.base:it 10 - Log evidence ratio: 0.66 +/- 0.03
Sampling:   0%|          | 0/32 [00:00<?, ?step/s]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.649, rho=0.915]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.521, rho=0.99] 
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.536, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.501, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.498, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.514, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.488, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.496, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.472, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.482, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.471, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.483, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.503, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.498, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.511, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.489, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.49, rho=0.99] 
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.479, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.78step/s, acceptance_rate=0.479, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.78step/s, acceptance_rate=0.488, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.78step/s, acceptance_rate=0.521, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.78step/s, acceptance_rate=0.517, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.78step/s, acceptance_rate=0.503, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.78step/s, acceptance_rate=0.506, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.78step/s, acceptance_rate=0.515, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.78step/s, acceptance_rate=0.485, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.78step/s, acceptance_rate=0.489, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.78step/s, acceptance_rate=0.503, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.78step/s, acceptance_rate=0.506, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.78step/s, acceptance_rate=0.478, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.78step/s, acceptance_rate=0.502, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.78step/s, acceptance_rate=0.511, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.78step/s, acceptance_rate=0.493, rho=0.99]
Sampling: 100%|██████████| 32/32 [00:00<00:00, 175.43step/s, acceptance_rate=0.493, rho=0.99]
2025-12-11 14:44:11,521 - aspire - INFO - it 11 - beta: 0.9246685579668603
INFO:aspire.samplers.smc.base:it 11 - beta: 0.9246685579668603
2025-12-11 14:44:11,523 - aspire - INFO - it 11 - ESS: 500.0 (0.50 efficiency)
INFO:aspire.samplers.smc.base:it 11 - ESS: 500.0 (0.50 efficiency)
2025-12-11 14:44:11,524 - aspire - INFO - it 11 - Log evidence ratio: 1.12 +/- 0.03
INFO:aspire.samplers.smc.base:it 11 - Log evidence ratio: 1.12 +/- 0.03
Sampling:   0%|          | 0/32 [00:00<?, ?step/s]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.628, rho=0.894]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.482, rho=0.99] 
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.469, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.462, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.472, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.491, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.465, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.472, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.486, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.489, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.473, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.465, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.467, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.448, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.467, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.462, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.472, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.48, rho=0.99] 
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.24step/s, acceptance_rate=0.48, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.24step/s, acceptance_rate=0.482, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.24step/s, acceptance_rate=0.5, rho=0.99]  
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.24step/s, acceptance_rate=0.497, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.24step/s, acceptance_rate=0.509, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.24step/s, acceptance_rate=0.521, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.24step/s, acceptance_rate=0.496, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.24step/s, acceptance_rate=0.475, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.24step/s, acceptance_rate=0.481, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.24step/s, acceptance_rate=0.498, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.24step/s, acceptance_rate=0.464, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.24step/s, acceptance_rate=0.47, rho=0.99] 
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.24step/s, acceptance_rate=0.478, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.24step/s, acceptance_rate=0.485, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 176.24step/s, acceptance_rate=0.47, rho=0.99] 
Sampling: 100%|██████████| 32/32 [00:00<00:00, 173.15step/s, acceptance_rate=0.47, rho=0.99]
2025-12-11 14:44:12,948 - aspire - INFO - it 12 - beta: 1.0
INFO:aspire.samplers.smc.base:it 12 - beta: 1.0
2025-12-11 14:44:12,949 - aspire - INFO - it 12 - ESS: 592.6 (0.59 efficiency)
INFO:aspire.samplers.smc.base:it 12 - ESS: 592.6 (0.59 efficiency)
2025-12-11 14:44:12,950 - aspire - INFO - it 12 - Log evidence ratio: 1.29 +/- 0.03
INFO:aspire.samplers.smc.base:it 12 - Log evidence ratio: 1.29 +/- 0.03
Sampling:   0%|          | 0/32 [00:00<?, ?step/s]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.656, rho=0.922]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.521, rho=0.99] 
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.451, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.467, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.448, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.475, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.46, rho=0.99] 
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.481, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.464, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.461, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.473, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.477, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.454, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.449, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.447, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.444, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.449, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.465, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.476, rho=0.99]
Sampling:  59%|█████▉    | 19/32 [00:00<00:00, 183.33step/s, acceptance_rate=0.476, rho=0.99]
Sampling:  59%|█████▉    | 19/32 [00:00<00:00, 183.33step/s, acceptance_rate=0.468, rho=0.99]
Sampling:  59%|█████▉    | 19/32 [00:00<00:00, 183.33step/s, acceptance_rate=0.456, rho=0.99]
Sampling:  59%|█████▉    | 19/32 [00:00<00:00, 183.33step/s, acceptance_rate=0.467, rho=0.99]
Sampling:  59%|█████▉    | 19/32 [00:00<00:00, 183.33step/s, acceptance_rate=0.446, rho=0.99]
Sampling:  59%|█████▉    | 19/32 [00:00<00:00, 183.33step/s, acceptance_rate=0.456, rho=0.99]
Sampling:  59%|█████▉    | 19/32 [00:00<00:00, 183.33step/s, acceptance_rate=0.449, rho=0.99]
Sampling:  59%|█████▉    | 19/32 [00:00<00:00, 183.33step/s, acceptance_rate=0.465, rho=0.99]
Sampling:  59%|█████▉    | 19/32 [00:00<00:00, 183.33step/s, acceptance_rate=0.462, rho=0.99]
Sampling:  59%|█████▉    | 19/32 [00:00<00:00, 183.33step/s, acceptance_rate=0.479, rho=0.99]
Sampling:  59%|█████▉    | 19/32 [00:00<00:00, 183.33step/s, acceptance_rate=0.455, rho=0.99]
Sampling:  59%|█████▉    | 19/32 [00:00<00:00, 183.33step/s, acceptance_rate=0.479, rho=0.99]
Sampling:  59%|█████▉    | 19/32 [00:00<00:00, 183.33step/s, acceptance_rate=0.445, rho=0.99]
Sampling:  59%|█████▉    | 19/32 [00:00<00:00, 183.33step/s, acceptance_rate=0.474, rho=0.99]
Sampling: 100%|██████████| 32/32 [00:00<00:00, 182.75step/s, acceptance_rate=0.474, rho=0.99]
2025-12-11 14:44:14,162 - aspire - INFO - Generating 5000 final samples
INFO:aspire.samplers.smc.base:Generating 5000 final samples
Sampling:   0%|          | 0/32 [00:00<?, ?step/s]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.623, rho=0.889]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.501, rho=0.99] 
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.469, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.484, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.481, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.465, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.465, rho=0.99]
Sampling:   0%|          | 0/32 [00:00<?, ?step/s, acceptance_rate=0.469, rho=0.99]
Sampling:  25%|██▌       | 8/32 [00:00<00:00, 78.67step/s, acceptance_rate=0.469, rho=0.99]
Sampling:  25%|██▌       | 8/32 [00:00<00:00, 78.67step/s, acceptance_rate=0.479, rho=0.99]
Sampling:  25%|██▌       | 8/32 [00:00<00:00, 78.67step/s, acceptance_rate=0.473, rho=0.99]
Sampling:  25%|██▌       | 8/32 [00:00<00:00, 78.67step/s, acceptance_rate=0.472, rho=0.99]
Sampling:  25%|██▌       | 8/32 [00:00<00:00, 78.67step/s, acceptance_rate=0.469, rho=0.99]
Sampling:  25%|██▌       | 8/32 [00:00<00:00, 78.67step/s, acceptance_rate=0.473, rho=0.99]
Sampling:  25%|██▌       | 8/32 [00:00<00:00, 78.67step/s, acceptance_rate=0.459, rho=0.99]
Sampling:  25%|██▌       | 8/32 [00:00<00:00, 78.67step/s, acceptance_rate=0.475, rho=0.99]
Sampling:  25%|██▌       | 8/32 [00:00<00:00, 78.67step/s, acceptance_rate=0.462, rho=0.99]
Sampling:  25%|██▌       | 8/32 [00:00<00:00, 78.67step/s, acceptance_rate=0.455, rho=0.99]
Sampling:  25%|██▌       | 8/32 [00:00<00:00, 78.67step/s, acceptance_rate=0.464, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 88.42step/s, acceptance_rate=0.464, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 88.42step/s, acceptance_rate=0.464, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 88.42step/s, acceptance_rate=0.46, rho=0.99] 
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 88.42step/s, acceptance_rate=0.475, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 88.42step/s, acceptance_rate=0.467, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 88.42step/s, acceptance_rate=0.469, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 88.42step/s, acceptance_rate=0.462, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 88.42step/s, acceptance_rate=0.48, rho=0.99] 
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 88.42step/s, acceptance_rate=0.464, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 88.42step/s, acceptance_rate=0.472, rho=0.99]
Sampling:  56%|█████▋    | 18/32 [00:00<00:00, 88.42step/s, acceptance_rate=0.469, rho=0.99]
Sampling:  88%|████████▊ | 28/32 [00:00<00:00, 90.50step/s, acceptance_rate=0.469, rho=0.99]
Sampling:  88%|████████▊ | 28/32 [00:00<00:00, 90.50step/s, acceptance_rate=0.48, rho=0.99] 
Sampling:  88%|████████▊ | 28/32 [00:00<00:00, 90.50step/s, acceptance_rate=0.463, rho=0.99]
Sampling:  88%|████████▊ | 28/32 [00:00<00:00, 90.50step/s, acceptance_rate=0.469, rho=0.99]
Sampling:  88%|████████▊ | 28/32 [00:00<00:00, 90.50step/s, acceptance_rate=0.461, rho=0.99]
Sampling: 100%|██████████| 32/32 [00:00<00:00, 90.04step/s, acceptance_rate=0.461, rho=0.99]

2025-12-11 14:44:21,527 - aspire - INFO - Log evidence: -11.47 +/- 0.11
INFO:aspire.samplers.smc.base:Log evidence: -11.47 +/- 0.11
2025-12-11 14:44:21,528 - aspire - INFO - Sampled 5000 samples from the posterior
INFO:aspire.aspire:Sampled 5000 samples from the posterior
2025-12-11 14:44:21,529 - aspire - INFO - Number of likelihood evaluations: 579000
INFO:aspire.aspire:Number of likelihood evaluations: 579000
2025-12-11 14:44:21,530 - aspire - INFO - Sample summary:
INFO:aspire.aspire:Sample summary:
2025-12-11 14:44:21,532 - aspire - INFO - No. samples: 5000
No. parameters: 4
Log evidence: -11.47 +/- 0.11
INFO:aspire.aspire:No. samples: 5000
No. parameters: 4
Log evidence: -11.47 +/- 0.11
../_images/1b9d0c24738971f9b7d2ef82a72fe0bf4ecd0ee31f87f3ba7437d8c7fa88d774.png

Persist results#

Write the flow history, SMC diagnostics, and posterior samples to disk so the analysis can be reproduced or extended.

# Save the the results to a file
# The AspireFile is a small wrapper around h5py.File that automatically
# includes additional metadata
with AspireFile(outdir / "poppy_result.h5", "w") as f:
    # poppy.save_config(f, "poppy_config")
    samples.save(f, "smc/posterior_samples")
    history.save(f, "flow/history")
    smc_history.save(f, "smc/history")

Final posterior comparison#

Contrast the SMC posterior samples against the earlier flow draws to check that corrections removed the bias.

fig = plot_comparison(
    initial_samples,
    true_samples,
    is_samples,
    samples,
    per_samples_kwargs=[
        dict(include_weights=True, color="C0"),
        dict(include_weights=False, color="k"),
        dict(include_weights=False, color="lightgrey"),
        dict(include_weights=False, color="C1"),
    ],
    labels=["Initial samples", "True samples", "Flow samples", "SMC samples"],
)
fig.savefig(outdir / "posterior_samples.png")
plt.show()
../_images/e50c5094bedd80578cd777544f3c5692f05b0710900036a411d85efbc9affece.png ../_images/2954b68e19a353349c8a37de3c7ece37b11667d8bb8375e8197b87cd508ffcae.png ../_images/5eb249019b164c0ba71b2e38170028428b81ff5037656aefaa50a74e0ef5bd16.png ../_images/e85ed799c6f29d21267bceb009beaf2c14056d570cd6ad6242365055b05333b5.png