Note
Go to the end to download the full example code.
2D Deconvolution#
In this example we show how to quantify the uncertainty of a solution to a 2D deconvolution problem.
First we import the modules needed.
import numpy as np
from cuqi.testproblem import Deconvolution2D
from cuqi.distribution import Gaussian, LMRF
from cuqi.problem import BayesianProblem
Step 1: Deterministic model#
Consider the deterministic inverse problem
where \(\mathbf{A}\) is a matrix representing a 2D convolution operation and \(\mathbf{y}\) and \(\mathbf{x}\) are the data and unknown (solution to the inverse problem) respectively.
A linear forward model like \(\mathbf{A}\) is represented by a LinearModel
and any data (like some observed data \(\mathbf{y}^\mathrm{obs}\)) as a CUQIarray.
The easiest way to get these two components is to use the built-in testproblems. Let us extract the model and data for a 2D deconvolution.
A, y_obs, info = Deconvolution2D().get_components()
Step 2: Prior model#
Now we aim to represent our prior knowledge of the unknown image. In this case, let us assume that the unknown is piecewise constant. This can be modelled by assuming a Laplace difference prior. The Laplace difference prior can be defined as
where \(\delta\) is the scale parameter defining how likely jumps from one pixel value to another are in the horizontal and vertical directions.
This distribution comes pre-defined in CUQIpy as the cuqi.distribution.LMRF.
Notice we have to specify the geometry of the unknown.
x = LMRF(location=0, scale=0.1, geometry=A.domain_geometry)
Step 3: Likelihood model#
Suppose our data is corrupted by a Gaussian noise so our observational model is
where \(\sigma^2\) is a noise variance that we know.
We can represent \(\mathbf{y}\mid \mathbf{x}\) as a cuqi.distribution.Distribution object.
We often call the distribution of \(\mathbf{y}\mid \mathbf{x}\) the data distribution.
y = Gaussian(mean=A@x, cov=0.01)
Step 4: Posterior sampling#
In actuality we are interested in conditioning on the observed data \(\mathbf{y}^\mathrm{obs}\), to obtain the posterior distribution
and then sampling from this posterior distribution.
In CUQIpy, we the easiest way to do this is to use the cuqi.problem.BayesianProblem class.
# Create Bayesian problem and set observed data (conditioning)
BP = BayesianProblem(y, x).set_data(y=y_obs)
After setting the data, we can sample from the posterior using the cuqi.problem.BayesianProblem.sample_posterior()
method. Notice that a well-suited sampler is automatically chosen based on the model, likelihood and prior chosen.
# Sample posterior
samples = BP.sample_posterior(200)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!! Automatic sampler selection is a work-in-progress. !!!
!!! Always validate the computed results. !!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!! Using samplers from cuqi.sampler !!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Using cuqi.sampler Unadjusted Gaussian Laplace Approximation (UGLA) sampler.
burn-in: 20%
Warmup: 0%| | 0/40 [00:00<?, ?it/s]
Warmup: 0%| | 0/40 [00:00<?, ?it/s, acc rate: 100.00%]
Warmup: 2%|▎ | 1/40 [00:00<00:04, 7.85it/s, acc rate: 100.00%]
Warmup: 2%|▎ | 1/40 [00:00<00:04, 7.85it/s, acc rate: 100.00%]
Warmup: 5%|▌ | 2/40 [00:00<00:05, 7.54it/s, acc rate: 100.00%]
Warmup: 5%|▌ | 2/40 [00:00<00:05, 7.54it/s, acc rate: 100.00%]
Warmup: 8%|▊ | 3/40 [00:00<00:04, 7.65it/s, acc rate: 100.00%]
Warmup: 8%|▊ | 3/40 [00:00<00:04, 7.65it/s, acc rate: 100.00%]
Warmup: 10%|█ | 4/40 [00:00<00:04, 7.41it/s, acc rate: 100.00%]
Warmup: 10%|█ | 4/40 [00:00<00:04, 7.41it/s, acc rate: 100.00%]
Warmup: 12%|█▎ | 5/40 [00:00<00:04, 7.45it/s, acc rate: 100.00%]
Warmup: 12%|█▎ | 5/40 [00:00<00:04, 7.45it/s, acc rate: 100.00%]
Warmup: 15%|█▌ | 6/40 [00:00<00:04, 7.56it/s, acc rate: 100.00%]
Warmup: 15%|█▌ | 6/40 [00:00<00:04, 7.56it/s, acc rate: 100.00%]
Warmup: 18%|█▊ | 7/40 [00:00<00:04, 7.63it/s, acc rate: 100.00%]
Warmup: 18%|█▊ | 7/40 [00:01<00:04, 7.63it/s, acc rate: 100.00%]
Warmup: 20%|██ | 8/40 [00:01<00:04, 7.69it/s, acc rate: 100.00%]
Warmup: 20%|██ | 8/40 [00:01<00:04, 7.69it/s, acc rate: 100.00%]
Warmup: 22%|██▎ | 9/40 [00:01<00:04, 7.70it/s, acc rate: 100.00%]
Warmup: 22%|██▎ | 9/40 [00:01<00:04, 7.70it/s, acc rate: 100.00%]
Warmup: 25%|██▌ | 10/40 [00:01<00:03, 7.73it/s, acc rate: 100.00%]
Warmup: 25%|██▌ | 10/40 [00:01<00:03, 7.73it/s, acc rate: 100.00%]
Warmup: 28%|██▊ | 11/40 [00:01<00:03, 7.76it/s, acc rate: 100.00%]
Warmup: 28%|██▊ | 11/40 [00:01<00:03, 7.76it/s, acc rate: 100.00%]
Warmup: 30%|███ | 12/40 [00:01<00:03, 7.76it/s, acc rate: 100.00%]
Warmup: 30%|███ | 12/40 [00:01<00:03, 7.76it/s, acc rate: 100.00%]
Warmup: 32%|███▎ | 13/40 [00:01<00:03, 7.77it/s, acc rate: 100.00%]
Warmup: 32%|███▎ | 13/40 [00:01<00:03, 7.77it/s, acc rate: 100.00%]
Warmup: 35%|███▌ | 14/40 [00:01<00:03, 7.76it/s, acc rate: 100.00%]
Warmup: 35%|███▌ | 14/40 [00:01<00:03, 7.76it/s, acc rate: 100.00%]
Warmup: 38%|███▊ | 15/40 [00:01<00:03, 7.77it/s, acc rate: 100.00%]
Warmup: 38%|███▊ | 15/40 [00:02<00:03, 7.77it/s, acc rate: 100.00%]
Warmup: 40%|████ | 16/40 [00:02<00:03, 7.78it/s, acc rate: 100.00%]
Warmup: 40%|████ | 16/40 [00:02<00:03, 7.78it/s, acc rate: 100.00%]
Warmup: 42%|████▎ | 17/40 [00:02<00:02, 7.74it/s, acc rate: 100.00%]
Warmup: 42%|████▎ | 17/40 [00:02<00:02, 7.74it/s, acc rate: 100.00%]
Warmup: 45%|████▌ | 18/40 [00:02<00:02, 7.74it/s, acc rate: 100.00%]
Warmup: 45%|████▌ | 18/40 [00:02<00:02, 7.74it/s, acc rate: 100.00%]
Warmup: 48%|████▊ | 19/40 [00:02<00:02, 7.77it/s, acc rate: 100.00%]
Warmup: 48%|████▊ | 19/40 [00:02<00:02, 7.77it/s, acc rate: 100.00%]
Warmup: 50%|█████ | 20/40 [00:02<00:02, 7.78it/s, acc rate: 100.00%]
Warmup: 50%|█████ | 20/40 [00:02<00:02, 7.78it/s, acc rate: 100.00%]
Warmup: 52%|█████▎ | 21/40 [00:02<00:02, 7.77it/s, acc rate: 100.00%]
Warmup: 52%|█████▎ | 21/40 [00:02<00:02, 7.77it/s, acc rate: 100.00%]
Warmup: 55%|█████▌ | 22/40 [00:02<00:02, 7.77it/s, acc rate: 100.00%]
Warmup: 55%|█████▌ | 22/40 [00:02<00:02, 7.77it/s, acc rate: 100.00%]
Warmup: 57%|█████▊ | 23/40 [00:02<00:02, 7.78it/s, acc rate: 100.00%]
Warmup: 57%|█████▊ | 23/40 [00:03<00:02, 7.78it/s, acc rate: 100.00%]
Warmup: 60%|██████ | 24/40 [00:03<00:02, 7.77it/s, acc rate: 100.00%]
Warmup: 60%|██████ | 24/40 [00:03<00:02, 7.77it/s, acc rate: 100.00%]
Warmup: 62%|██████▎ | 25/40 [00:03<00:01, 7.61it/s, acc rate: 100.00%]
Warmup: 62%|██████▎ | 25/40 [00:03<00:01, 7.61it/s, acc rate: 100.00%]
Warmup: 65%|██████▌ | 26/40 [00:03<00:01, 7.31it/s, acc rate: 100.00%]
Warmup: 65%|██████▌ | 26/40 [00:03<00:01, 7.31it/s, acc rate: 100.00%]
Warmup: 68%|██████▊ | 27/40 [00:03<00:01, 7.45it/s, acc rate: 100.00%]
Warmup: 68%|██████▊ | 27/40 [00:03<00:01, 7.45it/s, acc rate: 100.00%]
Warmup: 70%|███████ | 28/40 [00:03<00:01, 7.53it/s, acc rate: 100.00%]
Warmup: 70%|███████ | 28/40 [00:03<00:01, 7.53it/s, acc rate: 100.00%]
Warmup: 72%|███████▎ | 29/40 [00:03<00:01, 7.60it/s, acc rate: 100.00%]
Warmup: 72%|███████▎ | 29/40 [00:03<00:01, 7.60it/s, acc rate: 100.00%]
Warmup: 75%|███████▌ | 30/40 [00:03<00:01, 7.65it/s, acc rate: 100.00%]
Warmup: 75%|███████▌ | 30/40 [00:04<00:01, 7.65it/s, acc rate: 100.00%]
Warmup: 78%|███████▊ | 31/40 [00:04<00:01, 7.69it/s, acc rate: 100.00%]
Warmup: 78%|███████▊ | 31/40 [00:04<00:01, 7.69it/s, acc rate: 100.00%]
Warmup: 80%|████████ | 32/40 [00:04<00:01, 7.68it/s, acc rate: 100.00%]
Warmup: 80%|████████ | 32/40 [00:04<00:01, 7.68it/s, acc rate: 100.00%]
Warmup: 82%|████████▎ | 33/40 [00:04<00:00, 7.71it/s, acc rate: 100.00%]
Warmup: 82%|████████▎ | 33/40 [00:04<00:00, 7.71it/s, acc rate: 100.00%]
Warmup: 85%|████████▌ | 34/40 [00:04<00:00, 7.72it/s, acc rate: 100.00%]
Warmup: 85%|████████▌ | 34/40 [00:04<00:00, 7.72it/s, acc rate: 100.00%]
Warmup: 88%|████████▊ | 35/40 [00:04<00:00, 7.73it/s, acc rate: 100.00%]
Warmup: 88%|████████▊ | 35/40 [00:04<00:00, 7.73it/s, acc rate: 100.00%]
Warmup: 90%|█████████ | 36/40 [00:04<00:00, 7.73it/s, acc rate: 100.00%]
Warmup: 90%|█████████ | 36/40 [00:04<00:00, 7.73it/s, acc rate: 100.00%]
Warmup: 92%|█████████▎| 37/40 [00:04<00:00, 7.74it/s, acc rate: 100.00%]
Warmup: 92%|█████████▎| 37/40 [00:04<00:00, 7.74it/s, acc rate: 100.00%]
Warmup: 95%|█████████▌| 38/40 [00:04<00:00, 7.75it/s, acc rate: 100.00%]
Warmup: 95%|█████████▌| 38/40 [00:05<00:00, 7.75it/s, acc rate: 100.00%]
Warmup: 98%|█████████▊| 39/40 [00:05<00:00, 7.75it/s, acc rate: 100.00%]
Warmup: 98%|█████████▊| 39/40 [00:05<00:00, 7.75it/s, acc rate: 100.00%]
Warmup: 100%|██████████| 40/40 [00:05<00:00, 7.74it/s, acc rate: 100.00%]
Warmup: 100%|██████████| 40/40 [00:05<00:00, 7.69it/s, acc rate: 100.00%]
Sample: 0%| | 0/200 [00:00<?, ?it/s]
Sample: 0%| | 0/200 [00:00<?, ?it/s, acc rate: 100.00%]
Sample: 0%| | 1/200 [00:00<00:25, 7.76it/s, acc rate: 100.00%]
Sample: 0%| | 1/200 [00:00<00:25, 7.76it/s, acc rate: 100.00%]
Sample: 1%| | 2/200 [00:00<00:25, 7.77it/s, acc rate: 100.00%]
Sample: 1%| | 2/200 [00:00<00:25, 7.77it/s, acc rate: 100.00%]
Sample: 2%|▏ | 3/200 [00:00<00:25, 7.74it/s, acc rate: 100.00%]
Sample: 2%|▏ | 3/200 [00:00<00:25, 7.74it/s, acc rate: 100.00%]
Sample: 2%|▏ | 4/200 [00:00<00:25, 7.72it/s, acc rate: 100.00%]
Sample: 2%|▏ | 4/200 [00:00<00:25, 7.72it/s, acc rate: 100.00%]
Sample: 2%|▎ | 5/200 [00:00<00:25, 7.71it/s, acc rate: 100.00%]
Sample: 2%|▎ | 5/200 [00:00<00:25, 7.71it/s, acc rate: 100.00%]
Sample: 3%|▎ | 6/200 [00:00<00:25, 7.72it/s, acc rate: 100.00%]
Sample: 3%|▎ | 6/200 [00:00<00:25, 7.72it/s, acc rate: 100.00%]
Sample: 4%|▎ | 7/200 [00:00<00:24, 7.72it/s, acc rate: 100.00%]
Sample: 4%|▎ | 7/200 [00:01<00:24, 7.72it/s, acc rate: 100.00%]
Sample: 4%|▍ | 8/200 [00:01<00:24, 7.72it/s, acc rate: 100.00%]
Sample: 4%|▍ | 8/200 [00:01<00:24, 7.72it/s, acc rate: 100.00%]
Sample: 4%|▍ | 9/200 [00:01<00:24, 7.72it/s, acc rate: 100.00%]
Sample: 4%|▍ | 9/200 [00:01<00:24, 7.72it/s, acc rate: 100.00%]
Sample: 5%|▌ | 10/200 [00:01<00:24, 7.71it/s, acc rate: 100.00%]
Sample: 5%|▌ | 10/200 [00:01<00:24, 7.71it/s, acc rate: 100.00%]
Sample: 6%|▌ | 11/200 [00:01<00:24, 7.69it/s, acc rate: 100.00%]
Sample: 6%|▌ | 11/200 [00:01<00:24, 7.69it/s, acc rate: 100.00%]
Sample: 6%|▌ | 12/200 [00:01<00:24, 7.71it/s, acc rate: 100.00%]
Sample: 6%|▌ | 12/200 [00:01<00:24, 7.71it/s, acc rate: 100.00%]
Sample: 6%|▋ | 13/200 [00:01<00:24, 7.70it/s, acc rate: 100.00%]
Sample: 6%|▋ | 13/200 [00:01<00:24, 7.70it/s, acc rate: 100.00%]
Sample: 7%|▋ | 14/200 [00:01<00:24, 7.72it/s, acc rate: 100.00%]
Sample: 7%|▋ | 14/200 [00:01<00:24, 7.72it/s, acc rate: 100.00%]
Sample: 8%|▊ | 15/200 [00:01<00:24, 7.70it/s, acc rate: 100.00%]
Sample: 8%|▊ | 15/200 [00:02<00:24, 7.70it/s, acc rate: 100.00%]
Sample: 8%|▊ | 16/200 [00:02<00:23, 7.70it/s, acc rate: 100.00%]
Sample: 8%|▊ | 16/200 [00:02<00:23, 7.70it/s, acc rate: 100.00%]
Sample: 8%|▊ | 17/200 [00:02<00:23, 7.67it/s, acc rate: 100.00%]
Sample: 8%|▊ | 17/200 [00:02<00:23, 7.67it/s, acc rate: 100.00%]
Sample: 9%|▉ | 18/200 [00:02<00:23, 7.68it/s, acc rate: 100.00%]
Sample: 9%|▉ | 18/200 [00:02<00:23, 7.68it/s, acc rate: 100.00%]
Sample: 10%|▉ | 19/200 [00:02<00:23, 7.67it/s, acc rate: 100.00%]
Sample: 10%|▉ | 19/200 [00:02<00:23, 7.67it/s, acc rate: 100.00%]
Sample: 10%|█ | 20/200 [00:02<00:23, 7.65it/s, acc rate: 100.00%]
Sample: 10%|█ | 20/200 [00:02<00:23, 7.65it/s, acc rate: 100.00%]
Sample: 10%|█ | 21/200 [00:02<00:23, 7.65it/s, acc rate: 100.00%]
Sample: 10%|█ | 21/200 [00:02<00:23, 7.65it/s, acc rate: 100.00%]
Sample: 11%|█ | 22/200 [00:02<00:23, 7.68it/s, acc rate: 100.00%]
Sample: 11%|█ | 22/200 [00:02<00:23, 7.68it/s, acc rate: 100.00%]
Sample: 12%|█▏ | 23/200 [00:02<00:23, 7.65it/s, acc rate: 100.00%]
Sample: 12%|█▏ | 23/200 [00:03<00:23, 7.65it/s, acc rate: 100.00%]
Sample: 12%|█▏ | 24/200 [00:03<00:22, 7.67it/s, acc rate: 100.00%]
Sample: 12%|█▏ | 24/200 [00:03<00:22, 7.67it/s, acc rate: 100.00%]
Sample: 12%|█▎ | 25/200 [00:03<00:22, 7.69it/s, acc rate: 100.00%]
Sample: 12%|█▎ | 25/200 [00:03<00:22, 7.69it/s, acc rate: 100.00%]
Sample: 13%|█▎ | 26/200 [00:03<00:22, 7.70it/s, acc rate: 100.00%]
Sample: 13%|█▎ | 26/200 [00:03<00:22, 7.70it/s, acc rate: 100.00%]
Sample: 14%|█▎ | 27/200 [00:03<00:22, 7.72it/s, acc rate: 100.00%]
Sample: 14%|█▎ | 27/200 [00:03<00:22, 7.72it/s, acc rate: 100.00%]
Sample: 14%|█▍ | 28/200 [00:03<00:22, 7.71it/s, acc rate: 100.00%]
Sample: 14%|█▍ | 28/200 [00:03<00:22, 7.71it/s, acc rate: 100.00%]
Sample: 14%|█▍ | 29/200 [00:03<00:22, 7.72it/s, acc rate: 100.00%]
Sample: 14%|█▍ | 29/200 [00:03<00:22, 7.72it/s, acc rate: 100.00%]
Sample: 15%|█▌ | 30/200 [00:03<00:21, 7.73it/s, acc rate: 100.00%]
Sample: 15%|█▌ | 30/200 [00:04<00:21, 7.73it/s, acc rate: 100.00%]
Sample: 16%|█▌ | 31/200 [00:04<00:21, 7.73it/s, acc rate: 100.00%]
Sample: 16%|█▌ | 31/200 [00:04<00:21, 7.73it/s, acc rate: 100.00%]
Sample: 16%|█▌ | 32/200 [00:04<00:21, 7.74it/s, acc rate: 100.00%]
Sample: 16%|█▌ | 32/200 [00:04<00:21, 7.74it/s, acc rate: 100.00%]
Sample: 16%|█▋ | 33/200 [00:04<00:21, 7.75it/s, acc rate: 100.00%]
Sample: 16%|█▋ | 33/200 [00:04<00:21, 7.75it/s, acc rate: 100.00%]
Sample: 17%|█▋ | 34/200 [00:04<00:21, 7.73it/s, acc rate: 100.00%]
Sample: 17%|█▋ | 34/200 [00:04<00:21, 7.73it/s, acc rate: 100.00%]
Sample: 18%|█▊ | 35/200 [00:04<00:21, 7.75it/s, acc rate: 100.00%]
Sample: 18%|█▊ | 35/200 [00:04<00:21, 7.75it/s, acc rate: 100.00%]
Sample: 18%|█▊ | 36/200 [00:04<00:21, 7.75it/s, acc rate: 100.00%]
Sample: 18%|█▊ | 36/200 [00:04<00:21, 7.75it/s, acc rate: 100.00%]
Sample: 18%|█▊ | 37/200 [00:04<00:21, 7.70it/s, acc rate: 100.00%]
Sample: 18%|█▊ | 37/200 [00:04<00:21, 7.70it/s, acc rate: 100.00%]
Sample: 19%|█▉ | 38/200 [00:04<00:21, 7.60it/s, acc rate: 100.00%]
Sample: 19%|█▉ | 38/200 [00:05<00:21, 7.60it/s, acc rate: 100.00%]
Sample: 20%|█▉ | 39/200 [00:05<00:21, 7.58it/s, acc rate: 100.00%]
Sample: 20%|█▉ | 39/200 [00:05<00:21, 7.58it/s, acc rate: 100.00%]
Sample: 20%|██ | 40/200 [00:05<00:20, 7.64it/s, acc rate: 100.00%]
Sample: 20%|██ | 40/200 [00:05<00:20, 7.64it/s, acc rate: 100.00%]
Sample: 20%|██ | 41/200 [00:05<00:20, 7.58it/s, acc rate: 100.00%]
Sample: 20%|██ | 41/200 [00:05<00:20, 7.58it/s, acc rate: 100.00%]
Sample: 21%|██ | 42/200 [00:05<00:20, 7.64it/s, acc rate: 100.00%]
Sample: 21%|██ | 42/200 [00:05<00:20, 7.64it/s, acc rate: 100.00%]
Sample: 22%|██▏ | 43/200 [00:05<00:20, 7.70it/s, acc rate: 100.00%]
Sample: 22%|██▏ | 43/200 [00:05<00:20, 7.70it/s, acc rate: 100.00%]
Sample: 22%|██▏ | 44/200 [00:05<00:20, 7.74it/s, acc rate: 100.00%]
Sample: 22%|██▏ | 44/200 [00:05<00:20, 7.74it/s, acc rate: 100.00%]
Sample: 22%|██▎ | 45/200 [00:05<00:19, 7.77it/s, acc rate: 100.00%]
Sample: 22%|██▎ | 45/200 [00:05<00:19, 7.77it/s, acc rate: 100.00%]
Sample: 23%|██▎ | 46/200 [00:05<00:19, 7.78it/s, acc rate: 100.00%]
Sample: 23%|██▎ | 46/200 [00:06<00:19, 7.78it/s, acc rate: 100.00%]
Sample: 24%|██▎ | 47/200 [00:06<00:19, 7.80it/s, acc rate: 100.00%]
Sample: 24%|██▎ | 47/200 [00:06<00:19, 7.80it/s, acc rate: 100.00%]
Sample: 24%|██▍ | 48/200 [00:06<00:19, 7.80it/s, acc rate: 100.00%]
Sample: 24%|██▍ | 48/200 [00:06<00:19, 7.80it/s, acc rate: 100.00%]
Sample: 24%|██▍ | 49/200 [00:06<00:19, 7.81it/s, acc rate: 100.00%]
Sample: 24%|██▍ | 49/200 [00:06<00:19, 7.81it/s, acc rate: 100.00%]
Sample: 25%|██▌ | 50/200 [00:06<00:19, 7.81it/s, acc rate: 100.00%]
Sample: 25%|██▌ | 50/200 [00:06<00:19, 7.81it/s, acc rate: 100.00%]
Sample: 26%|██▌ | 51/200 [00:06<00:19, 7.82it/s, acc rate: 100.00%]
Sample: 26%|██▌ | 51/200 [00:06<00:19, 7.82it/s, acc rate: 100.00%]
Sample: 26%|██▌ | 52/200 [00:06<00:18, 7.80it/s, acc rate: 100.00%]
Sample: 26%|██▌ | 52/200 [00:06<00:18, 7.80it/s, acc rate: 100.00%]
Sample: 26%|██▋ | 53/200 [00:06<00:18, 7.81it/s, acc rate: 100.00%]
Sample: 26%|██▋ | 53/200 [00:06<00:18, 7.81it/s, acc rate: 100.00%]
Sample: 27%|██▋ | 54/200 [00:06<00:18, 7.79it/s, acc rate: 100.00%]
Sample: 27%|██▋ | 54/200 [00:07<00:18, 7.79it/s, acc rate: 100.00%]
Sample: 28%|██▊ | 55/200 [00:07<00:18, 7.80it/s, acc rate: 100.00%]
Sample: 28%|██▊ | 55/200 [00:07<00:18, 7.80it/s, acc rate: 100.00%]
Sample: 28%|██▊ | 56/200 [00:07<00:18, 7.80it/s, acc rate: 100.00%]
Sample: 28%|██▊ | 56/200 [00:07<00:18, 7.80it/s, acc rate: 100.00%]
Sample: 28%|██▊ | 57/200 [00:07<00:18, 7.78it/s, acc rate: 100.00%]
Sample: 28%|██▊ | 57/200 [00:07<00:18, 7.78it/s, acc rate: 100.00%]
Sample: 29%|██▉ | 58/200 [00:07<00:18, 7.79it/s, acc rate: 100.00%]
Sample: 29%|██▉ | 58/200 [00:07<00:18, 7.79it/s, acc rate: 100.00%]
Sample: 30%|██▉ | 59/200 [00:07<00:18, 7.78it/s, acc rate: 100.00%]
Sample: 30%|██▉ | 59/200 [00:07<00:18, 7.78it/s, acc rate: 100.00%]
Sample: 30%|███ | 60/200 [00:07<00:17, 7.78it/s, acc rate: 100.00%]
Sample: 30%|███ | 60/200 [00:07<00:17, 7.78it/s, acc rate: 100.00%]
Sample: 30%|███ | 61/200 [00:07<00:17, 7.79it/s, acc rate: 100.00%]
Sample: 30%|███ | 61/200 [00:08<00:17, 7.79it/s, acc rate: 100.00%]
Sample: 31%|███ | 62/200 [00:08<00:17, 7.76it/s, acc rate: 100.00%]
Sample: 31%|███ | 62/200 [00:08<00:17, 7.76it/s, acc rate: 100.00%]
Sample: 32%|███▏ | 63/200 [00:08<00:17, 7.77it/s, acc rate: 100.00%]
Sample: 32%|███▏ | 63/200 [00:08<00:17, 7.77it/s, acc rate: 100.00%]
Sample: 32%|███▏ | 64/200 [00:08<00:17, 7.77it/s, acc rate: 100.00%]
Sample: 32%|███▏ | 64/200 [00:08<00:17, 7.77it/s, acc rate: 100.00%]
Sample: 32%|███▎ | 65/200 [00:08<00:17, 7.75it/s, acc rate: 100.00%]
Sample: 32%|███▎ | 65/200 [00:08<00:17, 7.75it/s, acc rate: 100.00%]
Sample: 33%|███▎ | 66/200 [00:08<00:17, 7.74it/s, acc rate: 100.00%]
Sample: 33%|███▎ | 66/200 [00:08<00:17, 7.74it/s, acc rate: 100.00%]
Sample: 34%|███▎ | 67/200 [00:08<00:17, 7.74it/s, acc rate: 100.00%]
Sample: 34%|███▎ | 67/200 [00:08<00:17, 7.74it/s, acc rate: 100.00%]
Sample: 34%|███▍ | 68/200 [00:08<00:17, 7.74it/s, acc rate: 100.00%]
Sample: 34%|███▍ | 68/200 [00:08<00:17, 7.74it/s, acc rate: 100.00%]
Sample: 34%|███▍ | 69/200 [00:08<00:16, 7.73it/s, acc rate: 100.00%]
Sample: 34%|███▍ | 69/200 [00:09<00:16, 7.73it/s, acc rate: 100.00%]
Sample: 35%|███▌ | 70/200 [00:09<00:16, 7.74it/s, acc rate: 100.00%]
Sample: 35%|███▌ | 70/200 [00:09<00:16, 7.74it/s, acc rate: 100.00%]
Sample: 36%|███▌ | 71/200 [00:09<00:16, 7.74it/s, acc rate: 100.00%]
Sample: 36%|███▌ | 71/200 [00:09<00:16, 7.74it/s, acc rate: 100.00%]
Sample: 36%|███▌ | 72/200 [00:09<00:16, 7.74it/s, acc rate: 100.00%]
Sample: 36%|███▌ | 72/200 [00:09<00:16, 7.74it/s, acc rate: 100.00%]
Sample: 36%|███▋ | 73/200 [00:09<00:16, 7.75it/s, acc rate: 100.00%]
Sample: 36%|███▋ | 73/200 [00:09<00:16, 7.75it/s, acc rate: 100.00%]
Sample: 37%|███▋ | 74/200 [00:09<00:16, 7.75it/s, acc rate: 100.00%]
Sample: 37%|███▋ | 74/200 [00:09<00:16, 7.75it/s, acc rate: 100.00%]
Sample: 38%|███▊ | 75/200 [00:09<00:16, 7.75it/s, acc rate: 100.00%]
Sample: 38%|███▊ | 75/200 [00:09<00:16, 7.75it/s, acc rate: 100.00%]
Sample: 38%|███▊ | 76/200 [00:09<00:15, 7.75it/s, acc rate: 100.00%]
Sample: 38%|███▊ | 76/200 [00:09<00:15, 7.75it/s, acc rate: 100.00%]
Sample: 38%|███▊ | 77/200 [00:09<00:15, 7.73it/s, acc rate: 100.00%]
Sample: 38%|███▊ | 77/200 [00:10<00:15, 7.73it/s, acc rate: 100.00%]
Sample: 39%|███▉ | 78/200 [00:10<00:15, 7.72it/s, acc rate: 100.00%]
Sample: 39%|███▉ | 78/200 [00:10<00:15, 7.72it/s, acc rate: 100.00%]
Sample: 40%|███▉ | 79/200 [00:10<00:15, 7.73it/s, acc rate: 100.00%]
Sample: 40%|███▉ | 79/200 [00:10<00:15, 7.73it/s, acc rate: 100.00%]
Sample: 40%|████ | 80/200 [00:10<00:15, 7.72it/s, acc rate: 100.00%]
Sample: 40%|████ | 80/200 [00:10<00:15, 7.72it/s, acc rate: 100.00%]
Sample: 40%|████ | 81/200 [00:10<00:15, 7.72it/s, acc rate: 100.00%]
Sample: 40%|████ | 81/200 [00:10<00:15, 7.72it/s, acc rate: 100.00%]
Sample: 41%|████ | 82/200 [00:10<00:15, 7.72it/s, acc rate: 100.00%]
Sample: 41%|████ | 82/200 [00:10<00:15, 7.72it/s, acc rate: 100.00%]
Sample: 42%|████▏ | 83/200 [00:10<00:15, 7.72it/s, acc rate: 100.00%]
Sample: 42%|████▏ | 83/200 [00:10<00:15, 7.72it/s, acc rate: 100.00%]
Sample: 42%|████▏ | 84/200 [00:10<00:15, 7.73it/s, acc rate: 100.00%]
Sample: 42%|████▏ | 84/200 [00:10<00:15, 7.73it/s, acc rate: 100.00%]
Sample: 42%|████▎ | 85/200 [00:10<00:14, 7.71it/s, acc rate: 100.00%]
Sample: 42%|████▎ | 85/200 [00:11<00:14, 7.71it/s, acc rate: 100.00%]
Sample: 43%|████▎ | 86/200 [00:11<00:14, 7.73it/s, acc rate: 100.00%]
Sample: 43%|████▎ | 86/200 [00:11<00:14, 7.73it/s, acc rate: 100.00%]
Sample: 44%|████▎ | 87/200 [00:11<00:14, 7.69it/s, acc rate: 100.00%]
Sample: 44%|████▎ | 87/200 [00:11<00:14, 7.69it/s, acc rate: 100.00%]
Sample: 44%|████▍ | 88/200 [00:11<00:14, 7.69it/s, acc rate: 100.00%]
Sample: 44%|████▍ | 88/200 [00:11<00:14, 7.69it/s, acc rate: 100.00%]
Sample: 44%|████▍ | 89/200 [00:11<00:14, 7.71it/s, acc rate: 100.00%]
Sample: 44%|████▍ | 89/200 [00:11<00:14, 7.71it/s, acc rate: 100.00%]
Sample: 45%|████▌ | 90/200 [00:11<00:14, 7.73it/s, acc rate: 100.00%]
Sample: 45%|████▌ | 90/200 [00:11<00:14, 7.73it/s, acc rate: 100.00%]
Sample: 46%|████▌ | 91/200 [00:11<00:14, 7.74it/s, acc rate: 100.00%]
Sample: 46%|████▌ | 91/200 [00:11<00:14, 7.74it/s, acc rate: 100.00%]
Sample: 46%|████▌ | 92/200 [00:11<00:14, 7.69it/s, acc rate: 100.00%]
Sample: 46%|████▌ | 92/200 [00:12<00:14, 7.69it/s, acc rate: 100.00%]
Sample: 46%|████▋ | 93/200 [00:12<00:13, 7.72it/s, acc rate: 100.00%]
Sample: 46%|████▋ | 93/200 [00:12<00:13, 7.72it/s, acc rate: 100.00%]
Sample: 47%|████▋ | 94/200 [00:12<00:13, 7.71it/s, acc rate: 100.00%]
Sample: 47%|████▋ | 94/200 [00:12<00:13, 7.71it/s, acc rate: 100.00%]
Sample: 48%|████▊ | 95/200 [00:12<00:13, 7.72it/s, acc rate: 100.00%]
Sample: 48%|████▊ | 95/200 [00:12<00:13, 7.72it/s, acc rate: 100.00%]
Sample: 48%|████▊ | 96/200 [00:12<00:13, 7.71it/s, acc rate: 100.00%]
Sample: 48%|████▊ | 96/200 [00:12<00:13, 7.71it/s, acc rate: 100.00%]
Sample: 48%|████▊ | 97/200 [00:12<00:13, 7.70it/s, acc rate: 100.00%]
Sample: 48%|████▊ | 97/200 [00:12<00:13, 7.70it/s, acc rate: 100.00%]
Sample: 49%|████▉ | 98/200 [00:12<00:13, 7.69it/s, acc rate: 100.00%]
Sample: 49%|████▉ | 98/200 [00:12<00:13, 7.69it/s, acc rate: 100.00%]
Sample: 50%|████▉ | 99/200 [00:12<00:13, 7.69it/s, acc rate: 100.00%]
Sample: 50%|████▉ | 99/200 [00:12<00:13, 7.69it/s, acc rate: 100.00%]
Sample: 50%|█████ | 100/200 [00:12<00:13, 7.68it/s, acc rate: 100.00%]
Sample: 50%|█████ | 100/200 [00:13<00:13, 7.68it/s, acc rate: 100.00%]
Sample: 50%|█████ | 101/200 [00:13<00:12, 7.70it/s, acc rate: 100.00%]
Sample: 50%|█████ | 101/200 [00:13<00:12, 7.70it/s, acc rate: 100.00%]
Sample: 51%|█████ | 102/200 [00:13<00:12, 7.72it/s, acc rate: 100.00%]
Sample: 51%|█████ | 102/200 [00:13<00:12, 7.72it/s, acc rate: 100.00%]
Sample: 52%|█████▏ | 103/200 [00:13<00:12, 7.73it/s, acc rate: 100.00%]
Sample: 52%|█████▏ | 103/200 [00:13<00:12, 7.73it/s, acc rate: 100.00%]
Sample: 52%|█████▏ | 104/200 [00:13<00:12, 7.73it/s, acc rate: 100.00%]
Sample: 52%|█████▏ | 104/200 [00:13<00:12, 7.73it/s, acc rate: 100.00%]
Sample: 52%|█████▎ | 105/200 [00:13<00:12, 7.74it/s, acc rate: 100.00%]
Sample: 52%|█████▎ | 105/200 [00:13<00:12, 7.74it/s, acc rate: 100.00%]
Sample: 53%|█████▎ | 106/200 [00:13<00:12, 7.65it/s, acc rate: 100.00%]
Sample: 53%|█████▎ | 106/200 [00:13<00:12, 7.65it/s, acc rate: 100.00%]
Sample: 54%|█████▎ | 107/200 [00:13<00:12, 7.67it/s, acc rate: 100.00%]
Sample: 54%|█████▎ | 107/200 [00:13<00:12, 7.67it/s, acc rate: 100.00%]
Sample: 54%|█████▍ | 108/200 [00:13<00:11, 7.67it/s, acc rate: 100.00%]
Sample: 54%|█████▍ | 108/200 [00:14<00:11, 7.67it/s, acc rate: 100.00%]
Sample: 55%|█████▍ | 109/200 [00:14<00:11, 7.71it/s, acc rate: 100.00%]
Sample: 55%|█████▍ | 109/200 [00:14<00:11, 7.71it/s, acc rate: 100.00%]
Sample: 55%|█████▌ | 110/200 [00:14<00:11, 7.71it/s, acc rate: 100.00%]
Sample: 55%|█████▌ | 110/200 [00:14<00:11, 7.71it/s, acc rate: 100.00%]
Sample: 56%|█████▌ | 111/200 [00:14<00:11, 7.73it/s, acc rate: 100.00%]
Sample: 56%|█████▌ | 111/200 [00:14<00:11, 7.73it/s, acc rate: 100.00%]
Sample: 56%|█████▌ | 112/200 [00:14<00:11, 7.74it/s, acc rate: 100.00%]
Sample: 56%|█████▌ | 112/200 [00:14<00:11, 7.74it/s, acc rate: 100.00%]
Sample: 56%|█████▋ | 113/200 [00:14<00:11, 7.72it/s, acc rate: 100.00%]
Sample: 56%|█████▋ | 113/200 [00:14<00:11, 7.72it/s, acc rate: 100.00%]
Sample: 57%|█████▋ | 114/200 [00:14<00:11, 7.74it/s, acc rate: 100.00%]
Sample: 57%|█████▋ | 114/200 [00:14<00:11, 7.74it/s, acc rate: 100.00%]
Sample: 57%|█████▊ | 115/200 [00:14<00:11, 7.72it/s, acc rate: 100.00%]
Sample: 57%|█████▊ | 115/200 [00:15<00:11, 7.72it/s, acc rate: 100.00%]
Sample: 58%|█████▊ | 116/200 [00:15<00:10, 7.73it/s, acc rate: 100.00%]
Sample: 58%|█████▊ | 116/200 [00:15<00:10, 7.73it/s, acc rate: 100.00%]
Sample: 58%|█████▊ | 117/200 [00:15<00:10, 7.73it/s, acc rate: 100.00%]
Sample: 58%|█████▊ | 117/200 [00:15<00:10, 7.73it/s, acc rate: 100.00%]
Sample: 59%|█████▉ | 118/200 [00:15<00:10, 7.74it/s, acc rate: 100.00%]
Sample: 59%|█████▉ | 118/200 [00:15<00:10, 7.74it/s, acc rate: 100.00%]
Sample: 60%|█████▉ | 119/200 [00:15<00:10, 7.73it/s, acc rate: 100.00%]
Sample: 60%|█████▉ | 119/200 [00:15<00:10, 7.73it/s, acc rate: 100.00%]
Sample: 60%|██████ | 120/200 [00:15<00:10, 7.74it/s, acc rate: 100.00%]
Sample: 60%|██████ | 120/200 [00:15<00:10, 7.74it/s, acc rate: 100.00%]
Sample: 60%|██████ | 121/200 [00:15<00:10, 7.75it/s, acc rate: 100.00%]
Sample: 60%|██████ | 121/200 [00:15<00:10, 7.75it/s, acc rate: 100.00%]
Sample: 61%|██████ | 122/200 [00:15<00:10, 7.75it/s, acc rate: 100.00%]
Sample: 61%|██████ | 122/200 [00:15<00:10, 7.75it/s, acc rate: 100.00%]
Sample: 62%|██████▏ | 123/200 [00:15<00:09, 7.75it/s, acc rate: 100.00%]
Sample: 62%|██████▏ | 123/200 [00:16<00:09, 7.75it/s, acc rate: 100.00%]
Sample: 62%|██████▏ | 124/200 [00:16<00:09, 7.75it/s, acc rate: 100.00%]
Sample: 62%|██████▏ | 124/200 [00:16<00:09, 7.75it/s, acc rate: 100.00%]
Sample: 62%|██████▎ | 125/200 [00:16<00:09, 7.76it/s, acc rate: 100.00%]
Sample: 62%|██████▎ | 125/200 [00:16<00:09, 7.76it/s, acc rate: 100.00%]
Sample: 63%|██████▎ | 126/200 [00:16<00:09, 7.77it/s, acc rate: 100.00%]
Sample: 63%|██████▎ | 126/200 [00:16<00:09, 7.77it/s, acc rate: 100.00%]
Sample: 64%|██████▎ | 127/200 [00:16<00:09, 7.77it/s, acc rate: 100.00%]
Sample: 64%|██████▎ | 127/200 [00:16<00:09, 7.77it/s, acc rate: 100.00%]
Sample: 64%|██████▍ | 128/200 [00:16<00:09, 7.76it/s, acc rate: 100.00%]
Sample: 64%|██████▍ | 128/200 [00:16<00:09, 7.76it/s, acc rate: 100.00%]
Sample: 64%|██████▍ | 129/200 [00:16<00:09, 7.76it/s, acc rate: 100.00%]
Sample: 64%|██████▍ | 129/200 [00:16<00:09, 7.76it/s, acc rate: 100.00%]
Sample: 65%|██████▌ | 130/200 [00:16<00:09, 7.77it/s, acc rate: 100.00%]
Sample: 65%|██████▌ | 130/200 [00:16<00:09, 7.77it/s, acc rate: 100.00%]
Sample: 66%|██████▌ | 131/200 [00:16<00:08, 7.75it/s, acc rate: 100.00%]
Sample: 66%|██████▌ | 131/200 [00:17<00:08, 7.75it/s, acc rate: 100.00%]
Sample: 66%|██████▌ | 132/200 [00:17<00:08, 7.76it/s, acc rate: 100.00%]
Sample: 66%|██████▌ | 132/200 [00:17<00:08, 7.76it/s, acc rate: 100.00%]
Sample: 66%|██████▋ | 133/200 [00:17<00:08, 7.76it/s, acc rate: 100.00%]
Sample: 66%|██████▋ | 133/200 [00:17<00:08, 7.76it/s, acc rate: 100.00%]
Sample: 67%|██████▋ | 134/200 [00:17<00:08, 7.70it/s, acc rate: 100.00%]
Sample: 67%|██████▋ | 134/200 [00:17<00:08, 7.70it/s, acc rate: 100.00%]
Sample: 68%|██████▊ | 135/200 [00:17<00:08, 7.72it/s, acc rate: 100.00%]
Sample: 68%|██████▊ | 135/200 [00:17<00:08, 7.72it/s, acc rate: 100.00%]
Sample: 68%|██████▊ | 136/200 [00:17<00:08, 7.72it/s, acc rate: 100.00%]
Sample: 68%|██████▊ | 136/200 [00:17<00:08, 7.72it/s, acc rate: 100.00%]
Sample: 68%|██████▊ | 137/200 [00:17<00:08, 7.72it/s, acc rate: 100.00%]
Sample: 68%|██████▊ | 137/200 [00:17<00:08, 7.72it/s, acc rate: 100.00%]
Sample: 69%|██████▉ | 138/200 [00:17<00:08, 7.74it/s, acc rate: 100.00%]
Sample: 69%|██████▉ | 138/200 [00:17<00:08, 7.74it/s, acc rate: 100.00%]
Sample: 70%|██████▉ | 139/200 [00:17<00:07, 7.73it/s, acc rate: 100.00%]
Sample: 70%|██████▉ | 139/200 [00:18<00:07, 7.73it/s, acc rate: 100.00%]
Sample: 70%|███████ | 140/200 [00:18<00:07, 7.74it/s, acc rate: 100.00%]
Sample: 70%|███████ | 140/200 [00:18<00:07, 7.74it/s, acc rate: 100.00%]
Sample: 70%|███████ | 141/200 [00:18<00:07, 7.75it/s, acc rate: 100.00%]
Sample: 70%|███████ | 141/200 [00:18<00:07, 7.75it/s, acc rate: 100.00%]
Sample: 71%|███████ | 142/200 [00:18<00:07, 7.75it/s, acc rate: 100.00%]
Sample: 71%|███████ | 142/200 [00:18<00:07, 7.75it/s, acc rate: 100.00%]
Sample: 72%|███████▏ | 143/200 [00:18<00:07, 7.74it/s, acc rate: 100.00%]
Sample: 72%|███████▏ | 143/200 [00:18<00:07, 7.74it/s, acc rate: 100.00%]
Sample: 72%|███████▏ | 144/200 [00:18<00:07, 7.74it/s, acc rate: 100.00%]
Sample: 72%|███████▏ | 144/200 [00:18<00:07, 7.74it/s, acc rate: 100.00%]
Sample: 72%|███████▎ | 145/200 [00:18<00:07, 7.74it/s, acc rate: 100.00%]
Sample: 72%|███████▎ | 145/200 [00:18<00:07, 7.74it/s, acc rate: 100.00%]
Sample: 73%|███████▎ | 146/200 [00:18<00:06, 7.75it/s, acc rate: 100.00%]
Sample: 73%|███████▎ | 146/200 [00:19<00:06, 7.75it/s, acc rate: 100.00%]
Sample: 74%|███████▎ | 147/200 [00:19<00:06, 7.69it/s, acc rate: 100.00%]
Sample: 74%|███████▎ | 147/200 [00:19<00:06, 7.69it/s, acc rate: 100.00%]
Sample: 74%|███████▍ | 148/200 [00:19<00:06, 7.72it/s, acc rate: 100.00%]
Sample: 74%|███████▍ | 148/200 [00:19<00:06, 7.72it/s, acc rate: 100.00%]
Sample: 74%|███████▍ | 149/200 [00:19<00:06, 7.73it/s, acc rate: 100.00%]
Sample: 74%|███████▍ | 149/200 [00:19<00:06, 7.73it/s, acc rate: 100.00%]
Sample: 75%|███████▌ | 150/200 [00:19<00:06, 7.73it/s, acc rate: 100.00%]
Sample: 75%|███████▌ | 150/200 [00:19<00:06, 7.73it/s, acc rate: 100.00%]
Sample: 76%|███████▌ | 151/200 [00:19<00:06, 7.73it/s, acc rate: 100.00%]
Sample: 76%|███████▌ | 151/200 [00:19<00:06, 7.73it/s, acc rate: 100.00%]
Sample: 76%|███████▌ | 152/200 [00:19<00:06, 7.73it/s, acc rate: 100.00%]
Sample: 76%|███████▌ | 152/200 [00:19<00:06, 7.73it/s, acc rate: 100.00%]
Sample: 76%|███████▋ | 153/200 [00:19<00:06, 7.74it/s, acc rate: 100.00%]
Sample: 76%|███████▋ | 153/200 [00:19<00:06, 7.74it/s, acc rate: 100.00%]
Sample: 77%|███████▋ | 154/200 [00:19<00:05, 7.74it/s, acc rate: 100.00%]
Sample: 77%|███████▋ | 154/200 [00:20<00:05, 7.74it/s, acc rate: 100.00%]
Sample: 78%|███████▊ | 155/200 [00:20<00:05, 7.74it/s, acc rate: 100.00%]
Sample: 78%|███████▊ | 155/200 [00:20<00:05, 7.74it/s, acc rate: 100.00%]
Sample: 78%|███████▊ | 156/200 [00:20<00:05, 7.72it/s, acc rate: 100.00%]
Sample: 78%|███████▊ | 156/200 [00:20<00:05, 7.72it/s, acc rate: 100.00%]
Sample: 78%|███████▊ | 157/200 [00:20<00:05, 7.73it/s, acc rate: 100.00%]
Sample: 78%|███████▊ | 157/200 [00:20<00:05, 7.73it/s, acc rate: 100.00%]
Sample: 79%|███████▉ | 158/200 [00:20<00:05, 7.74it/s, acc rate: 100.00%]
Sample: 79%|███████▉ | 158/200 [00:20<00:05, 7.74it/s, acc rate: 100.00%]
Sample: 80%|███████▉ | 159/200 [00:20<00:05, 7.74it/s, acc rate: 100.00%]
Sample: 80%|███████▉ | 159/200 [00:20<00:05, 7.74it/s, acc rate: 100.00%]
Sample: 80%|████████ | 160/200 [00:20<00:05, 7.72it/s, acc rate: 100.00%]
Sample: 80%|████████ | 160/200 [00:20<00:05, 7.72it/s, acc rate: 100.00%]
Sample: 80%|████████ | 161/200 [00:20<00:05, 7.71it/s, acc rate: 100.00%]
Sample: 80%|████████ | 161/200 [00:20<00:05, 7.71it/s, acc rate: 100.00%]
Sample: 81%|████████ | 162/200 [00:20<00:04, 7.67it/s, acc rate: 100.00%]
Sample: 81%|████████ | 162/200 [00:21<00:04, 7.67it/s, acc rate: 100.00%]
Sample: 82%|████████▏ | 163/200 [00:21<00:04, 7.68it/s, acc rate: 100.00%]
Sample: 82%|████████▏ | 163/200 [00:21<00:04, 7.68it/s, acc rate: 100.00%]
Sample: 82%|████████▏ | 164/200 [00:21<00:04, 7.69it/s, acc rate: 100.00%]
Sample: 82%|████████▏ | 164/200 [00:21<00:04, 7.69it/s, acc rate: 100.00%]
Sample: 82%|████████▎ | 165/200 [00:21<00:04, 7.69it/s, acc rate: 100.00%]
Sample: 82%|████████▎ | 165/200 [00:21<00:04, 7.69it/s, acc rate: 100.00%]
Sample: 83%|████████▎ | 166/200 [00:21<00:04, 7.70it/s, acc rate: 100.00%]
Sample: 83%|████████▎ | 166/200 [00:21<00:04, 7.70it/s, acc rate: 100.00%]
Sample: 84%|████████▎ | 167/200 [00:21<00:04, 7.71it/s, acc rate: 100.00%]
Sample: 84%|████████▎ | 167/200 [00:21<00:04, 7.71it/s, acc rate: 100.00%]
Sample: 84%|████████▍ | 168/200 [00:21<00:04, 7.70it/s, acc rate: 100.00%]
Sample: 84%|████████▍ | 168/200 [00:21<00:04, 7.70it/s, acc rate: 100.00%]
Sample: 84%|████████▍ | 169/200 [00:21<00:04, 7.72it/s, acc rate: 100.00%]
Sample: 84%|████████▍ | 169/200 [00:22<00:04, 7.72it/s, acc rate: 100.00%]
Sample: 85%|████████▌ | 170/200 [00:22<00:03, 7.70it/s, acc rate: 100.00%]
Sample: 85%|████████▌ | 170/200 [00:22<00:03, 7.70it/s, acc rate: 100.00%]
Sample: 86%|████████▌ | 171/200 [00:22<00:03, 7.71it/s, acc rate: 100.00%]
Sample: 86%|████████▌ | 171/200 [00:22<00:03, 7.71it/s, acc rate: 100.00%]
Sample: 86%|████████▌ | 172/200 [00:22<00:03, 7.72it/s, acc rate: 100.00%]
Sample: 86%|████████▌ | 172/200 [00:22<00:03, 7.72it/s, acc rate: 100.00%]
Sample: 86%|████████▋ | 173/200 [00:22<00:03, 7.69it/s, acc rate: 100.00%]
Sample: 86%|████████▋ | 173/200 [00:22<00:03, 7.69it/s, acc rate: 100.00%]
Sample: 87%|████████▋ | 174/200 [00:22<00:03, 7.66it/s, acc rate: 100.00%]
Sample: 87%|████████▋ | 174/200 [00:22<00:03, 7.66it/s, acc rate: 100.00%]
Sample: 88%|████████▊ | 175/200 [00:22<00:03, 7.66it/s, acc rate: 100.00%]
Sample: 88%|████████▊ | 175/200 [00:22<00:03, 7.66it/s, acc rate: 100.00%]
Sample: 88%|████████▊ | 176/200 [00:22<00:03, 7.67it/s, acc rate: 100.00%]
Sample: 88%|████████▊ | 176/200 [00:22<00:03, 7.67it/s, acc rate: 100.00%]
Sample: 88%|████████▊ | 177/200 [00:22<00:03, 7.64it/s, acc rate: 100.00%]
Sample: 88%|████████▊ | 177/200 [00:23<00:03, 7.64it/s, acc rate: 100.00%]
Sample: 89%|████████▉ | 178/200 [00:23<00:02, 7.63it/s, acc rate: 100.00%]
Sample: 89%|████████▉ | 178/200 [00:23<00:02, 7.63it/s, acc rate: 100.00%]
Sample: 90%|████████▉ | 179/200 [00:23<00:02, 7.68it/s, acc rate: 100.00%]
Sample: 90%|████████▉ | 179/200 [00:23<00:02, 7.68it/s, acc rate: 100.00%]
Sample: 90%|█████████ | 180/200 [00:23<00:02, 7.66it/s, acc rate: 100.00%]
Sample: 90%|█████████ | 180/200 [00:23<00:02, 7.66it/s, acc rate: 100.00%]
Sample: 90%|█████████ | 181/200 [00:23<00:02, 7.69it/s, acc rate: 100.00%]
Sample: 90%|█████████ | 181/200 [00:23<00:02, 7.69it/s, acc rate: 100.00%]
Sample: 91%|█████████ | 182/200 [00:23<00:02, 7.72it/s, acc rate: 100.00%]
Sample: 91%|█████████ | 182/200 [00:23<00:02, 7.72it/s, acc rate: 100.00%]
Sample: 92%|█████████▏| 183/200 [00:23<00:02, 7.70it/s, acc rate: 100.00%]
Sample: 92%|█████████▏| 183/200 [00:23<00:02, 7.70it/s, acc rate: 100.00%]
Sample: 92%|█████████▏| 184/200 [00:23<00:02, 7.72it/s, acc rate: 100.00%]
Sample: 92%|█████████▏| 184/200 [00:23<00:02, 7.72it/s, acc rate: 100.00%]
Sample: 92%|█████████▎| 185/200 [00:23<00:01, 7.72it/s, acc rate: 100.00%]
Sample: 92%|█████████▎| 185/200 [00:24<00:01, 7.72it/s, acc rate: 100.00%]
Sample: 93%|█████████▎| 186/200 [00:24<00:01, 7.74it/s, acc rate: 100.00%]
Sample: 93%|█████████▎| 186/200 [00:24<00:01, 7.74it/s, acc rate: 100.00%]
Sample: 94%|█████████▎| 187/200 [00:24<00:01, 7.75it/s, acc rate: 100.00%]
Sample: 94%|█████████▎| 187/200 [00:24<00:01, 7.75it/s, acc rate: 100.00%]
Sample: 94%|█████████▍| 188/200 [00:24<00:01, 7.75it/s, acc rate: 100.00%]
Sample: 94%|█████████▍| 188/200 [00:24<00:01, 7.75it/s, acc rate: 100.00%]
Sample: 94%|█████████▍| 189/200 [00:24<00:01, 7.75it/s, acc rate: 100.00%]
Sample: 94%|█████████▍| 189/200 [00:24<00:01, 7.75it/s, acc rate: 100.00%]
Sample: 95%|█████████▌| 190/200 [00:24<00:01, 7.76it/s, acc rate: 100.00%]
Sample: 95%|█████████▌| 190/200 [00:24<00:01, 7.76it/s, acc rate: 100.00%]
Sample: 96%|█████████▌| 191/200 [00:24<00:01, 7.75it/s, acc rate: 100.00%]
Sample: 96%|█████████▌| 191/200 [00:24<00:01, 7.75it/s, acc rate: 100.00%]
Sample: 96%|█████████▌| 192/200 [00:24<00:01, 7.74it/s, acc rate: 100.00%]
Sample: 96%|█████████▌| 192/200 [00:24<00:01, 7.74it/s, acc rate: 100.00%]
Sample: 96%|█████████▋| 193/200 [00:24<00:00, 7.75it/s, acc rate: 100.00%]
Sample: 96%|█████████▋| 193/200 [00:25<00:00, 7.75it/s, acc rate: 100.00%]
Sample: 97%|█████████▋| 194/200 [00:25<00:00, 7.74it/s, acc rate: 100.00%]
Sample: 97%|█████████▋| 194/200 [00:25<00:00, 7.74it/s, acc rate: 100.00%]
Sample: 98%|█████████▊| 195/200 [00:25<00:00, 7.75it/s, acc rate: 100.00%]
Sample: 98%|█████████▊| 195/200 [00:25<00:00, 7.75it/s, acc rate: 100.00%]
Sample: 98%|█████████▊| 196/200 [00:25<00:00, 7.75it/s, acc rate: 100.00%]
Sample: 98%|█████████▊| 196/200 [00:25<00:00, 7.75it/s, acc rate: 100.00%]
Sample: 98%|█████████▊| 197/200 [00:25<00:00, 7.73it/s, acc rate: 100.00%]
Sample: 98%|█████████▊| 197/200 [00:25<00:00, 7.73it/s, acc rate: 100.00%]
Sample: 99%|█████████▉| 198/200 [00:25<00:00, 7.72it/s, acc rate: 100.00%]
Sample: 99%|█████████▉| 198/200 [00:25<00:00, 7.72it/s, acc rate: 100.00%]
Sample: 100%|█████████▉| 199/200 [00:25<00:00, 7.72it/s, acc rate: 100.00%]
Sample: 100%|█████████▉| 199/200 [00:25<00:00, 7.72it/s, acc rate: 100.00%]
Sample: 100%|██████████| 200/200 [00:25<00:00, 7.67it/s, acc rate: 100.00%]
Sample: 100%|██████████| 200/200 [00:25<00:00, 7.72it/s, acc rate: 100.00%]
Elapsed time: 31.10923719406128
Step 5: Posterior analysis#
Finally, after sampling we can analyze the posterior. There are many options here. For example, we can plot the credible intervals for the unknown image and compare it to the true image.
ax = samples.plot_ci(exact=info.exactSolution)
Total running time of the script: (0 minutes 31.601 seconds)




