Note
Go to the end to download the full example code.
Parameter space#
In this example, we will see the basics of ParameterSpace
.
from __future__ import annotations
from gemseo import configure_logger
from gemseo import create_discipline
from gemseo import sample_disciplines
from gemseo.algos.parameter_space import ParameterSpace
from gemseo.post.dataset.scatter_plot_matrix import ScatterMatrix
configure_logger()
<RootLogger root (INFO)>
Firstly, a ParameterSpace
does not require any mandatory argument.
Create a parameter space#
parameter_space = ParameterSpace()
Then, we can add either deterministic variables
from their lower and upper bounds
(use ParameterSpace.add_variable()
):
parameter_space.add_variable("x", lower_bound=-2.0, upper_bound=2.0)
or uncertain variables from their distribution names and parameters
(use ParameterSpace.add_random_variable()
):
parameter_space.add_random_variable("y", "SPNormalDistribution", mu=0.0, sigma=1.0)
parameter_space
Warning
We cannot mix probability distributions from different families,
e.g. an OTDistribution
and a SPDistribution
.
We can check that the variables x and y are implemented as deterministic and uncertain variables respectively:
parameter_space.is_deterministic("x"), parameter_space.is_uncertain("y")
(True, True)
Note that when GEMSEO does not offer a class for the SciPy distribution,
we can use the generic GEMSEO class SPDistribution
to create any SciPy distribution
by setting interfaced_distribution
to its SciPy name
and parameters
as a dictionary of SciPy parameter names and values
(see the documentation of SciPy).
# parameter_space.add_random_variable(
# "y",
# "SPDistribution",
# interfaced_distribution="norm",
# parameters={"loc": 1.0, "scale": 2.0},
# )
A similar procedure can be followed
for OpenTURNS distributions for which
GEMSEO does not offer a class directly.
We can use the generic GEMSEO class OTDistribution
to create any OpenTURNS distribution
by setting interfaced_distribution
to its OpenTURNS name
and parameters
as a tuple of OpenTURNS parameter values
(see the documentation of OpenTURNS).
# parameter_space.add_random_variable(
# "y",
# "OTDistribution",
# interfaced_distribution="Normal",
# parameters=(1.0, 2.0),
# )
Sample from the parameter space#
We can sample the uncertain variables from the ParameterSpace
and
get values either as an array (default value):
sample = parameter_space.compute_samples(n_samples=2, as_dict=True)
sample
[{'y': array([1.40864186])}, {'y': array([-0.34049952])}]
or as a dictionary:
sample = parameter_space.compute_samples(n_samples=4)
sample
array([[-1.06729486],
[ 1.09949007],
[-0.67016986],
[ 0.30104017]])
Sample a discipline over the parameter space#
We can also sample a discipline over the parameter space. For simplicity,
we instantiate an AnalyticDiscipline
from a dictionary of
expressions.
discipline = create_discipline("AnalyticDiscipline", expressions={"z": "x+y"})
Then,
we use the sample_disciplines()
function
with an LHS algorithm
to generate 100 samples of the discipline
over the whole parameter space:
dataset = sample_disciplines(
[discipline], parameter_space, "z", algo_name="PYDOE_LHS", n_samples=100
)
WARNING - 11:24:57: No coupling in MDA, switching chain_linearize to True.
INFO - 11:24:57:
INFO - 11:24:57: *** Start Sampling execution ***
INFO - 11:24:57: Sampling
INFO - 11:24:57: Disciplines: AnalyticDiscipline
INFO - 11:24:57: MDO formulation: MDF
INFO - 11:24:57: Running the algorithm PYDOE_LHS:
INFO - 11:24:57: 1%| | 1/100 [00:00<00:00, 477.06 it/sec]
INFO - 11:24:57: 2%|▏ | 2/100 [00:00<00:00, 796.71 it/sec]
INFO - 11:24:57: 3%|▎ | 3/100 [00:00<00:00, 1051.03 it/sec]
INFO - 11:24:57: 4%|▍ | 4/100 [00:00<00:00, 1262.68 it/sec]
INFO - 11:24:57: 5%|▌ | 5/100 [00:00<00:00, 1425.18 it/sec]
INFO - 11:24:57: 6%|▌ | 6/100 [00:00<00:00, 1569.43 it/sec]
INFO - 11:24:57: 7%|▋ | 7/100 [00:00<00:00, 1680.22 it/sec]
INFO - 11:24:57: 8%|▊ | 8/100 [00:00<00:00, 1784.81 it/sec]
INFO - 11:24:57: 9%|▉ | 9/100 [00:00<00:00, 1886.12 it/sec]
INFO - 11:24:57: 10%|█ | 10/100 [00:00<00:00, 1978.07 it/sec]
INFO - 11:24:57: 11%|█ | 11/100 [00:00<00:00, 2059.98 it/sec]
INFO - 11:24:57: 12%|█▏ | 12/100 [00:00<00:00, 2134.51 it/sec]
INFO - 11:24:57: 13%|█▎ | 13/100 [00:00<00:00, 2200.05 it/sec]
INFO - 11:24:57: 14%|█▍ | 14/100 [00:00<00:00, 2260.65 it/sec]
INFO - 11:24:57: 15%|█▌ | 15/100 [00:00<00:00, 2316.36 it/sec]
INFO - 11:24:57: 16%|█▌ | 16/100 [00:00<00:00, 2368.58 it/sec]
INFO - 11:24:57: 17%|█▋ | 17/100 [00:00<00:00, 2413.62 it/sec]
INFO - 11:24:57: 18%|█▊ | 18/100 [00:00<00:00, 2452.81 it/sec]
INFO - 11:24:57: 19%|█▉ | 19/100 [00:00<00:00, 2491.69 it/sec]
INFO - 11:24:57: 20%|██ | 20/100 [00:00<00:00, 2530.58 it/sec]
INFO - 11:24:57: 21%|██ | 21/100 [00:00<00:00, 2555.35 it/sec]
INFO - 11:24:57: 22%|██▏ | 22/100 [00:00<00:00, 2584.73 it/sec]
INFO - 11:24:57: 23%|██▎ | 23/100 [00:00<00:00, 2613.06 it/sec]
INFO - 11:24:57: 24%|██▍ | 24/100 [00:00<00:00, 2563.62 it/sec]
INFO - 11:24:57: 25%|██▌ | 25/100 [00:00<00:00, 2558.38 it/sec]
INFO - 11:24:57: 26%|██▌ | 26/100 [00:00<00:00, 2576.11 it/sec]
INFO - 11:24:57: 27%|██▋ | 27/100 [00:00<00:00, 2596.38 it/sec]
INFO - 11:24:57: 28%|██▊ | 28/100 [00:00<00:00, 2618.23 it/sec]
INFO - 11:24:57: 29%|██▉ | 29/100 [00:00<00:00, 2638.61 it/sec]
INFO - 11:24:57: 30%|███ | 30/100 [00:00<00:00, 2650.65 it/sec]
INFO - 11:24:57: 31%|███ | 31/100 [00:00<00:00, 2665.89 it/sec]
INFO - 11:24:57: 32%|███▏ | 32/100 [00:00<00:00, 2684.25 it/sec]
INFO - 11:24:57: 33%|███▎ | 33/100 [00:00<00:00, 2697.62 it/sec]
INFO - 11:24:57: 34%|███▍ | 34/100 [00:00<00:00, 2713.98 it/sec]
INFO - 11:24:57: 35%|███▌ | 35/100 [00:00<00:00, 2732.55 it/sec]
INFO - 11:24:57: 36%|███▌ | 36/100 [00:00<00:00, 2750.41 it/sec]
INFO - 11:24:57: 37%|███▋ | 37/100 [00:00<00:00, 2765.51 it/sec]
INFO - 11:24:57: 38%|███▊ | 38/100 [00:00<00:00, 2762.14 it/sec]
INFO - 11:24:57: 39%|███▉ | 39/100 [00:00<00:00, 2753.37 it/sec]
INFO - 11:24:57: 40%|████ | 40/100 [00:00<00:00, 2764.96 it/sec]
INFO - 11:24:57: 41%|████ | 41/100 [00:00<00:00, 2776.25 it/sec]
INFO - 11:24:57: 42%|████▏ | 42/100 [00:00<00:00, 2789.08 it/sec]
INFO - 11:24:57: 43%|████▎ | 43/100 [00:00<00:00, 2798.63 it/sec]
INFO - 11:24:57: 44%|████▍ | 44/100 [00:00<00:00, 2810.47 it/sec]
INFO - 11:24:57: 45%|████▌ | 45/100 [00:00<00:00, 2823.77 it/sec]
INFO - 11:24:57: 46%|████▌ | 46/100 [00:00<00:00, 2832.16 it/sec]
INFO - 11:24:57: 47%|████▋ | 47/100 [00:00<00:00, 2843.27 it/sec]
INFO - 11:24:57: 48%|████▊ | 48/100 [00:00<00:00, 2855.45 it/sec]
INFO - 11:24:57: 49%|████▉ | 49/100 [00:00<00:00, 2866.36 it/sec]
INFO - 11:24:57: 50%|█████ | 50/100 [00:00<00:00, 2877.82 it/sec]
INFO - 11:24:57: 51%|█████ | 51/100 [00:00<00:00, 2888.95 it/sec]
INFO - 11:24:57: 52%|█████▏ | 52/100 [00:00<00:00, 2899.85 it/sec]
INFO - 11:24:57: 53%|█████▎ | 53/100 [00:00<00:00, 2910.19 it/sec]
INFO - 11:24:57: 54%|█████▍ | 54/100 [00:00<00:00, 2920.90 it/sec]
INFO - 11:24:57: 55%|█████▌ | 55/100 [00:00<00:00, 2930.96 it/sec]
INFO - 11:24:57: 56%|█████▌ | 56/100 [00:00<00:00, 2940.46 it/sec]
INFO - 11:24:57: 57%|█████▋ | 57/100 [00:00<00:00, 2947.58 it/sec]
INFO - 11:24:57: 58%|█████▊ | 58/100 [00:00<00:00, 2954.56 it/sec]
INFO - 11:24:57: 59%|█████▉ | 59/100 [00:00<00:00, 2962.43 it/sec]
INFO - 11:24:57: 60%|██████ | 60/100 [00:00<00:00, 2967.35 it/sec]
INFO - 11:24:57: 61%|██████ | 61/100 [00:00<00:00, 2974.96 it/sec]
INFO - 11:24:57: 62%|██████▏ | 62/100 [00:00<00:00, 2983.66 it/sec]
INFO - 11:24:57: 63%|██████▎ | 63/100 [00:00<00:00, 2990.74 it/sec]
INFO - 11:24:57: 64%|██████▍ | 64/100 [00:00<00:00, 2998.21 it/sec]
INFO - 11:24:57: 65%|██████▌ | 65/100 [00:00<00:00, 3006.24 it/sec]
INFO - 11:24:57: 66%|██████▌ | 66/100 [00:00<00:00, 3014.43 it/sec]
INFO - 11:24:57: 67%|██████▋ | 67/100 [00:00<00:00, 3022.22 it/sec]
INFO - 11:24:57: 68%|██████▊ | 68/100 [00:00<00:00, 3030.02 it/sec]
INFO - 11:24:57: 69%|██████▉ | 69/100 [00:00<00:00, 3037.37 it/sec]
INFO - 11:24:57: 70%|███████ | 70/100 [00:00<00:00, 3044.77 it/sec]
INFO - 11:24:57: 71%|███████ | 71/100 [00:00<00:00, 3049.56 it/sec]
INFO - 11:24:57: 72%|███████▏ | 72/100 [00:00<00:00, 3054.41 it/sec]
INFO - 11:24:57: 73%|███████▎ | 73/100 [00:00<00:00, 3057.78 it/sec]
INFO - 11:24:57: 74%|███████▍ | 74/100 [00:00<00:00, 3058.22 it/sec]
INFO - 11:24:57: 75%|███████▌ | 75/100 [00:00<00:00, 3063.00 it/sec]
INFO - 11:24:57: 76%|███████▌ | 76/100 [00:00<00:00, 3069.11 it/sec]
INFO - 11:24:57: 77%|███████▋ | 77/100 [00:00<00:00, 3075.59 it/sec]
INFO - 11:24:57: 78%|███████▊ | 78/100 [00:00<00:00, 3081.87 it/sec]
INFO - 11:24:57: 79%|███████▉ | 79/100 [00:00<00:00, 3086.78 it/sec]
INFO - 11:24:57: 80%|████████ | 80/100 [00:00<00:00, 3067.83 it/sec]
INFO - 11:24:57: 81%|████████ | 81/100 [00:00<00:00, 3065.07 it/sec]
INFO - 11:24:57: 82%|████████▏ | 82/100 [00:00<00:00, 3067.02 it/sec]
INFO - 11:24:57: 83%|████████▎ | 83/100 [00:00<00:00, 3070.64 it/sec]
INFO - 11:24:57: 84%|████████▍ | 84/100 [00:00<00:00, 3073.42 it/sec]
INFO - 11:24:57: 85%|████████▌ | 85/100 [00:00<00:00, 3077.79 it/sec]
INFO - 11:24:57: 86%|████████▌ | 86/100 [00:00<00:00, 3081.31 it/sec]
INFO - 11:24:57: 87%|████████▋ | 87/100 [00:00<00:00, 3082.02 it/sec]
INFO - 11:24:57: 88%|████████▊ | 88/100 [00:00<00:00, 3085.36 it/sec]
INFO - 11:24:57: 89%|████████▉ | 89/100 [00:00<00:00, 3089.77 it/sec]
INFO - 11:24:57: 90%|█████████ | 90/100 [00:00<00:00, 3093.88 it/sec]
INFO - 11:24:57: 91%|█████████ | 91/100 [00:00<00:00, 3098.49 it/sec]
INFO - 11:24:57: 92%|█████████▏| 92/100 [00:00<00:00, 3103.32 it/sec]
INFO - 11:24:57: 93%|█████████▎| 93/100 [00:00<00:00, 3107.36 it/sec]
INFO - 11:24:57: 94%|█████████▍| 94/100 [00:00<00:00, 3111.18 it/sec]
INFO - 11:24:57: 95%|█████████▌| 95/100 [00:00<00:00, 3114.66 it/sec]
INFO - 11:24:57: 96%|█████████▌| 96/100 [00:00<00:00, 3117.93 it/sec]
INFO - 11:24:57: 97%|█████████▋| 97/100 [00:00<00:00, 3121.22 it/sec]
INFO - 11:24:57: 98%|█████████▊| 98/100 [00:00<00:00, 3123.56 it/sec]
INFO - 11:24:57: 99%|█████████▉| 99/100 [00:00<00:00, 3127.15 it/sec]
INFO - 11:24:57: 100%|██████████| 100/100 [00:00<00:00, 3131.01 it/sec]
INFO - 11:24:57: *** End Sampling execution (time: 0:00:00.043557) ***
and visualize it in a tabular way:
dataset
or graphical by means of a scatter plot matrix for example:
ScatterMatrix(dataset).execute(save=False, show=True)
[<Figure size 640x480 with 9 Axes>]
Sample a discipline over the uncertain space#
If we want to sample a discipline over the uncertain space, we need to filter the uncertain variables:
parameter_space.filter(parameter_space.uncertain_variables)
# If we want to sample a discipline over the uncertain space only,
# we need to extract it:
uncertain_space = parameter_space.extract_uncertain_space()
Then, we sample the discipline over this uncertain space:
dataset = sample_disciplines(
[discipline], uncertain_space, "z", algo_name="PYDOE_LHS", n_samples=100
)
dataset
WARNING - 11:24:58: No coupling in MDA, switching chain_linearize to True.
INFO - 11:24:58:
INFO - 11:24:58: *** Start Sampling execution ***
INFO - 11:24:58: Sampling
INFO - 11:24:58: Disciplines: AnalyticDiscipline
INFO - 11:24:58: MDO formulation: MDF
INFO - 11:24:58: Running the algorithm PYDOE_LHS:
INFO - 11:24:58: 1%| | 1/100 [00:00<00:00, 2634.61 it/sec]
INFO - 11:24:58: 2%|▏ | 2/100 [00:00<00:00, 2564.54 it/sec]
INFO - 11:24:58: 3%|▎ | 3/100 [00:00<00:00, 2597.09 it/sec]
INFO - 11:24:58: 4%|▍ | 4/100 [00:00<00:00, 2687.36 it/sec]
INFO - 11:24:58: 5%|▌ | 5/100 [00:00<00:00, 2777.68 it/sec]
INFO - 11:24:58: 6%|▌ | 6/100 [00:00<00:00, 2849.39 it/sec]
INFO - 11:24:58: 7%|▋ | 7/100 [00:00<00:00, 2913.00 it/sec]
INFO - 11:24:58: 8%|▊ | 8/100 [00:00<00:00, 2952.96 it/sec]
INFO - 11:24:58: 9%|▉ | 9/100 [00:00<00:00, 2986.69 it/sec]
INFO - 11:24:58: 10%|█ | 10/100 [00:00<00:00, 3019.87 it/sec]
INFO - 11:24:58: 11%|█ | 11/100 [00:00<00:00, 3047.18 it/sec]
INFO - 11:24:58: 12%|█▏ | 12/100 [00:00<00:00, 3075.75 it/sec]
INFO - 11:24:58: 13%|█▎ | 13/100 [00:00<00:00, 3089.99 it/sec]
INFO - 11:24:58: 14%|█▍ | 14/100 [00:00<00:00, 3109.52 it/sec]
INFO - 11:24:58: 15%|█▌ | 15/100 [00:00<00:00, 3128.37 it/sec]
INFO - 11:24:58: 16%|█▌ | 16/100 [00:00<00:00, 3113.81 it/sec]
INFO - 11:24:58: 17%|█▋ | 17/100 [00:00<00:00, 3116.94 it/sec]
INFO - 11:24:58: 18%|█▊ | 18/100 [00:00<00:00, 3130.47 it/sec]
INFO - 11:24:58: 19%|█▉ | 19/100 [00:00<00:00, 3142.30 it/sec]
INFO - 11:24:58: 20%|██ | 20/100 [00:00<00:00, 3155.51 it/sec]
INFO - 11:24:58: 21%|██ | 21/100 [00:00<00:00, 3166.54 it/sec]
INFO - 11:24:58: 22%|██▏ | 22/100 [00:00<00:00, 3171.82 it/sec]
INFO - 11:24:58: 23%|██▎ | 23/100 [00:00<00:00, 3179.81 it/sec]
INFO - 11:24:58: 24%|██▍ | 24/100 [00:00<00:00, 3187.67 it/sec]
INFO - 11:24:58: 25%|██▌ | 25/100 [00:00<00:00, 3196.00 it/sec]
INFO - 11:24:58: 26%|██▌ | 26/100 [00:00<00:00, 3203.83 it/sec]
INFO - 11:24:58: 27%|██▋ | 27/100 [00:00<00:00, 3201.85 it/sec]
INFO - 11:24:58: 28%|██▊ | 28/100 [00:00<00:00, 3206.13 it/sec]
INFO - 11:24:58: 29%|██▉ | 29/100 [00:00<00:00, 3203.61 it/sec]
INFO - 11:24:58: 30%|███ | 30/100 [00:00<00:00, 3206.74 it/sec]
INFO - 11:24:58: 31%|███ | 31/100 [00:00<00:00, 3212.99 it/sec]
INFO - 11:24:58: 32%|███▏ | 32/100 [00:00<00:00, 3219.35 it/sec]
INFO - 11:24:58: 33%|███▎ | 33/100 [00:00<00:00, 3225.71 it/sec]
INFO - 11:24:58: 34%|███▍ | 34/100 [00:00<00:00, 3232.02 it/sec]
INFO - 11:24:58: 35%|███▌ | 35/100 [00:00<00:00, 3236.63 it/sec]
INFO - 11:24:58: 36%|███▌ | 36/100 [00:00<00:00, 3241.70 it/sec]
INFO - 11:24:58: 37%|███▋ | 37/100 [00:00<00:00, 3247.25 it/sec]
INFO - 11:24:58: 38%|███▊ | 38/100 [00:00<00:00, 3252.79 it/sec]
INFO - 11:24:58: 39%|███▉ | 39/100 [00:00<00:00, 3256.58 it/sec]
INFO - 11:24:58: 40%|████ | 40/100 [00:00<00:00, 3254.74 it/sec]
INFO - 11:24:58: 41%|████ | 41/100 [00:00<00:00, 3256.32 it/sec]
INFO - 11:24:58: 42%|████▏ | 42/100 [00:00<00:00, 3218.90 it/sec]
INFO - 11:24:58: 43%|████▎ | 43/100 [00:00<00:00, 3200.57 it/sec]
INFO - 11:24:58: 44%|████▍ | 44/100 [00:00<00:00, 3195.99 it/sec]
INFO - 11:24:58: 45%|████▌ | 45/100 [00:00<00:00, 3195.69 it/sec]
INFO - 11:24:58: 46%|████▌ | 46/100 [00:00<00:00, 3197.57 it/sec]
INFO - 11:24:58: 47%|████▋ | 47/100 [00:00<00:00, 3200.72 it/sec]
INFO - 11:24:58: 48%|████▊ | 48/100 [00:00<00:00, 3204.05 it/sec]
INFO - 11:24:58: 49%|████▉ | 49/100 [00:00<00:00, 3205.65 it/sec]
INFO - 11:24:58: 50%|█████ | 50/100 [00:00<00:00, 3208.42 it/sec]
INFO - 11:24:58: 51%|█████ | 51/100 [00:00<00:00, 3210.75 it/sec]
INFO - 11:24:58: 52%|█████▏ | 52/100 [00:00<00:00, 3207.83 it/sec]
INFO - 11:24:58: 53%|█████▎ | 53/100 [00:00<00:00, 3206.70 it/sec]
INFO - 11:24:58: 54%|█████▍ | 54/100 [00:00<00:00, 3207.97 it/sec]
INFO - 11:24:58: 55%|█████▌ | 55/100 [00:00<00:00, 3205.32 it/sec]
INFO - 11:24:58: 56%|█████▌ | 56/100 [00:00<00:00, 3206.30 it/sec]
INFO - 11:24:58: 57%|█████▋ | 57/100 [00:00<00:00, 3208.94 it/sec]
INFO - 11:24:58: 58%|█████▊ | 58/100 [00:00<00:00, 3211.01 it/sec]
INFO - 11:24:58: 59%|█████▉ | 59/100 [00:00<00:00, 3213.86 it/sec]
INFO - 11:24:58: 60%|██████ | 60/100 [00:00<00:00, 3217.81 it/sec]
INFO - 11:24:58: 61%|██████ | 61/100 [00:00<00:00, 3221.68 it/sec]
INFO - 11:24:58: 62%|██████▏ | 62/100 [00:00<00:00, 3225.35 it/sec]
INFO - 11:24:58: 63%|██████▎ | 63/100 [00:00<00:00, 3223.44 it/sec]
INFO - 11:24:58: 64%|██████▍ | 64/100 [00:00<00:00, 3221.93 it/sec]
INFO - 11:24:58: 65%|██████▌ | 65/100 [00:00<00:00, 3219.19 it/sec]
INFO - 11:24:58: 66%|██████▌ | 66/100 [00:00<00:00, 3213.99 it/sec]
INFO - 11:24:58: 67%|██████▋ | 67/100 [00:00<00:00, 3213.73 it/sec]
INFO - 11:24:58: 68%|██████▊ | 68/100 [00:00<00:00, 3212.47 it/sec]
INFO - 11:24:58: 69%|██████▉ | 69/100 [00:00<00:00, 3214.60 it/sec]
INFO - 11:24:58: 70%|███████ | 70/100 [00:00<00:00, 3216.53 it/sec]
INFO - 11:24:58: 71%|███████ | 71/100 [00:00<00:00, 3218.65 it/sec]
INFO - 11:24:58: 72%|███████▏ | 72/100 [00:00<00:00, 3221.09 it/sec]
INFO - 11:24:58: 73%|███████▎ | 73/100 [00:00<00:00, 3223.70 it/sec]
INFO - 11:24:58: 74%|███████▍ | 74/100 [00:00<00:00, 3226.29 it/sec]
INFO - 11:24:58: 75%|███████▌ | 75/100 [00:00<00:00, 3229.20 it/sec]
INFO - 11:24:58: 76%|███████▌ | 76/100 [00:00<00:00, 3232.01 it/sec]
INFO - 11:24:58: 77%|███████▋ | 77/100 [00:00<00:00, 3234.95 it/sec]
INFO - 11:24:58: 78%|███████▊ | 78/100 [00:00<00:00, 3237.02 it/sec]
INFO - 11:24:58: 79%|███████▉ | 79/100 [00:00<00:00, 3236.82 it/sec]
INFO - 11:24:58: 80%|████████ | 80/100 [00:00<00:00, 3239.31 it/sec]
INFO - 11:24:58: 81%|████████ | 81/100 [00:00<00:00, 3242.00 it/sec]
INFO - 11:24:58: 82%|████████▏ | 82/100 [00:00<00:00, 3240.55 it/sec]
INFO - 11:24:58: 83%|████████▎ | 83/100 [00:00<00:00, 3243.13 it/sec]
INFO - 11:24:58: 84%|████████▍ | 84/100 [00:00<00:00, 3245.71 it/sec]
INFO - 11:24:58: 85%|████████▌ | 85/100 [00:00<00:00, 3248.14 it/sec]
INFO - 11:24:58: 86%|████████▌ | 86/100 [00:00<00:00, 3250.46 it/sec]
INFO - 11:24:58: 87%|████████▋ | 87/100 [00:00<00:00, 3249.40 it/sec]
INFO - 11:24:58: 88%|████████▊ | 88/100 [00:00<00:00, 3226.90 it/sec]
INFO - 11:24:58: 89%|████████▉ | 89/100 [00:00<00:00, 3212.34 it/sec]
INFO - 11:24:58: 90%|█████████ | 90/100 [00:00<00:00, 3209.38 it/sec]
INFO - 11:24:58: 91%|█████████ | 91/100 [00:00<00:00, 3207.54 it/sec]
INFO - 11:24:58: 92%|█████████▏| 92/100 [00:00<00:00, 3208.23 it/sec]
INFO - 11:24:58: 93%|█████████▎| 93/100 [00:00<00:00, 3209.50 it/sec]
INFO - 11:24:58: 94%|█████████▍| 94/100 [00:00<00:00, 3204.99 it/sec]
INFO - 11:24:58: 95%|█████████▌| 95/100 [00:00<00:00, 3205.44 it/sec]
INFO - 11:24:58: 96%|█████████▌| 96/100 [00:00<00:00, 3206.88 it/sec]
INFO - 11:24:58: 97%|█████████▋| 97/100 [00:00<00:00, 3206.81 it/sec]
INFO - 11:24:58: 98%|█████████▊| 98/100 [00:00<00:00, 3207.10 it/sec]
INFO - 11:24:58: 99%|█████████▉| 99/100 [00:00<00:00, 3207.87 it/sec]
INFO - 11:24:58: 100%|██████████| 100/100 [00:00<00:00, 3209.48 it/sec]
INFO - 11:24:58: *** End Sampling execution (time: 0:00:00.042539) ***
Total running time of the script: (0 minutes 0.455 seconds)