Пример #1
0
# %% Import packages

from bnn_mcmc_examples.examples.mlp.noisy_xor.setting1.constants import output_path

# %% Define optimizer-specific output directories

optimizer_output_path = output_path.joinpath('sgd')
optimizer_output_pilot_path = optimizer_output_path.joinpath('pilot_run')
optimizer_output_benchmark_path = optimizer_output_path.joinpath('benchmark_run')
Пример #2
0
# %% Import packages

from bnn_mcmc_examples.examples.mlp.noisy_xor.setting1.constants import output_path
from bnn_mcmc_examples.examples.mlp.noisy_xor.setting1.mcmc.constants import num_chains

# %% Define sampler-specific output directories

sampler_output_path = output_path.joinpath('prior')
sampler_output_run_paths = [
    sampler_output_path.joinpath('run' +
                                 str(i + 1).zfill(len(str(num_chains))))
    for i in range(num_chains)
]
Пример #3
0
# %% Load packages

import pandas as pd

from bnn_mcmc_examples.examples.mlp.noisy_xor.setting1.constants import output_path
from bnn_mcmc_examples.stats import mc_efficiency

# %% Define sampler-specific output directories

sampler_output_paths = output_path.joinpath('metropolis_hastings')

sampler_output_paths = [
    output_path.joinpath(name)
    for name in ['metropolis_hastings', 'mala', 'smmala']
]

# %% Compute Monte Carlo efficiency

efficiency = mc_efficiency(sampler_output_paths, keys=['rhat', 'ess'])

# %% Save Monte Carlo efficiency

df = pd.DataFrame(data=efficiency)

df.to_csv(output_path.joinpath('mc_efficiency.csv'), index=False)

with open(output_path.joinpath('mc_efficiency.tex'), 'w') as file:
    file.write(df.round({'rhat': 4}).to_latex(index=False))
Пример #4
0
# %% Load packages

import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns

from kanga.plots import redblue_cmap

from bnn_mcmc_examples.examples.mlp.noisy_xor.setting1.constants import output_path
from bnn_mcmc_examples.examples.mlp.noisy_xor.setting1.mcmc.constants import pred_interval_x1, pred_interval_x2

# %% Load ground truth

pred_interval_y = np.loadtxt(output_path.joinpath('ground_truth.csv'),
                             delimiter=',',
                             skiprows=0)

# %% Plot heat map of ground truth

num_ticks = 8

xticks = np.linspace(0, len(pred_interval_x1) - 1, num=num_ticks, dtype=np.int)
xticklabels = [np.round(pred_interval_x1[idx], decimals=2) for idx in xticks]

yticks = np.linspace(0, len(pred_interval_x2) - 1, num=num_ticks, dtype=np.int)
yticklabels = [np.round(pred_interval_x2[idx], decimals=2) for idx in yticks]

ax = sns.heatmap(pred_interval_y,
                 cmap=redblue_cmap,
                 linewidths=0.01,
                 linecolor='white',
Пример #5
0
# %% Import packages

from bnn_mcmc_examples.examples.mlp.noisy_xor.setting1.constants import output_path
from bnn_mcmc_examples.examples.mlp.noisy_xor.setting1.mcmc.constants import num_chains

# %% Define sampler-specific output directories

sampler_output_path = output_path.joinpath('metropolis_hastings')
sampler_output_pilot_path = sampler_output_path.joinpath('pilot_run')
sampler_output_run_paths = [
    sampler_output_path.joinpath('run' +
                                 str(i + 1).zfill(len(str(num_chains))))
    for i in range(num_chains)
]
Пример #6
0
# %% Import packages

from bnn_mcmc_examples.examples.mlp.noisy_xor.setting1.constants import output_path
from bnn_mcmc_examples.examples.mlp.noisy_xor.setting1.mcmc.constants import num_chains

# %% Define sampler-specific output directories

sampler_output_path = output_path.joinpath('hmc')
sampler_output_pilot_path = sampler_output_path.joinpath('pilot_run')
sampler_output_run_paths = [
    sampler_output_path.joinpath('run' +
                                 str(i + 1).zfill(len(str(num_chains))))
    for i in range(num_chains)
]
Пример #7
0
# %% Import packages

from bnn_mcmc_examples.examples.mlp.noisy_xor.setting1.constants import output_path
from bnn_mcmc_examples.examples.mlp.noisy_xor.setting1.mcmc.constants import num_chains

# %% Define sampler-specific output directories

sampler_output_path = output_path.joinpath('power_posteriors')
sampler_output_pilot_path = sampler_output_path.joinpath('pilot_run')
sampler_output_run_paths = [
    sampler_output_path.joinpath('run' +
                                 str(i + 1).zfill(len(str(num_chains))))
    for i in range(num_chains)
]