# generate data
import numpy as np
import random
from tqdm import tqdm
class Data :
# x(t) suite la loi Normale (0, std)
OMEGA = [4, 5, 6, 7, 8]
TYPE = ["NOR", "UT", "DT", "US", "DS", "CYC"]
def __init__(self, mean=30, std=0.05, time=25) :
self.mean = mean
self.std = std
self.time = np.arange(1, time+1)
self.v = 0
self.y = []
self.d_min = self.std * 0.1
self.d_max = self.std * 0.3
self.d = np.random.uniform(low=self.d_min, high=self.d_max)
self.s_min = self.std * 1.5
self.s_max = self.std * 3
self.s = np.random.uniform(low=self.s_min, high=self.s_max)
self.a_min = self.std * 1.5
self.a_max = self.std * 4
self.omega = random.choice(self.OMEGA)
self.a = np.random.uniform(low=self.a_min, high=self.a_max)
self.choice = []
def typeOf(self, choice) :
return max(choice, key=choice.count)
def generate(self) :
choice = np.random.choice(self.TYPE)
for time in tqdm(self.time) :
x = np.random.normal(loc=0, scale=self.std)
if choice == "NOR" :
self.v = 0
y = self.mean + x
self.y.append(y)
self.choice.append(choice)
if choice == "UT" :
self.v = 1
y = self.mean + x + self.v * self.d * time
self.y.append(y)
self.choice.append(choice)
if choice == "DT" :
self.v = 1
y = self.mean + x - self.v * self.d * time
self.y.append(y)
self.choice.append(choice)
if choice == "US" :
self.v = 1
y = self.mean + x + self.v * self.s
self.y.append(y)
self.choice.append(choice)
if choice == "DS" :
self.v = 1
y = self.mean + x - self.v * self.s
self.y.append(y)
self.choice.append(choice)
if choice == "CYC" :
self.v = 1
y = self.mean + x - self.v * self.a * np.sin(2*np.pi*time/self.omega)
self.y.append(y)
self.choice.append(choice)
return (self.y, choice)
class DataController :
def __init__(self, sample = 10000) :
self.list_y, self.list_choice = [], []
self.sample = sample
def generate(self, mean=30, std=0.05, time=25) :
self.time = np.arange(1, time + 1)
for _ in range(self.sample) :
data = Data(mean, std, time)
feature, choice = data.generate()
self.list_y.append(feature)
self.list_choice.append(choice)
import matplotlib.pyplot as plt
import seaborn as sns
new_data = Data(30, 0.05, 25)
feature, type_ = new_data.generate()
sns.lineplot(x=new_data.time, y=feature)
plt.show()
print(f"Type of graph : {type_}")
100%|██████████| 25/25 [00:00<00:00, 5927.51it/s]
Type of graph : UT
datacontrol = DataController()
datacontrol.generate()
list_y, list_choice = datacontrol.list_y, datacontrol.list_choice
100%|██████████| 25/25 [00:00<00:00, 87381.33it/s]
100%|██████████| 25/25 [00:00<00:00, 118082.88it/s]
100%|██████████| 25/25 [00:00<00:00, 58481.65it/s]
100%|██████████| 25/25 [00:00<00:00, 83022.64it/s]
100%|██████████| 25/25 [00:00<00:00, 37262.83it/s]
100%|██████████| 25/25 [00:00<00:00, 817.33it/s]
100%|██████████| 25/25 [00:00<00:00, 52142.02it/s]
100%|██████████| 25/25 [00:00<00:00, 45990.18it/s]
100%|██████████| 25/25 [00:00<00:00, 75382.89it/s]
100%|██████████| 25/25 [00:00<00:00, 74578.66it/s]
100%|██████████| 25/25 [00:00<00:00, 52507.56it/s]
100%|██████████| 25/25 [00:00<00:00, 78486.23it/s]
100%|██████████| 25/25 [00:00<00:00, 81159.13it/s]
100%|██████████| 25/25 [00:00<00:00, 75328.74it/s]
100%|██████████| 25/25 [00:00<00:00, 117028.57it/s]
100%|██████████| 25/25 [00:00<00:00, 122354.26it/s]
100%|██████████| 25/25 [00:00<00:00, 107656.67it/s]
100%|██████████| 25/25 [00:00<00:00, 128817.69it/s]
100%|██████████| 25/25 [00:00<00:00, 73739.52it/s]
100%|██████████| 25/25 [00:00<00:00, 69811.98it/s]
100%|██████████| 25/25 [00:00<00:00, 62341.02it/s]
100%|██████████| 25/25 [00:00<00:00, 88115.63it/s]
100%|██████████| 25/25 [00:00<00:00, 72315.59it/s]
100%|██████████| 25/25 [00:00<00:00, 74898.29it/s]
100%|██████████| 25/25 [00:00<00:00, 118617.19it/s]
100%|██████████| 25/25 [00:00<00:00, 127408.99it/s]
100%|██████████| 25/25 [00:00<00:00, 86373.64it/s]
100%|██████████| 25/25 [00:00<00:00, 6689.91it/s]
100%|██████████| 25/25 [00:00<00:00, 60751.80it/s]
100%|██████████| 25/25 [00:00<00:00, 59342.16it/s]
100%|██████████| 25/25 [00:00<00:00, 68177.89it/s]
100%|██████████| 25/25 [00:00<00:00, 6657.20it/s]
100%|██████████| 25/25 [00:00<00:00, 39024.04it/s]
100%|██████████| 25/25 [00:00<00:00, 47771.12it/s]
100%|██████████| 25/25 [00:00<00:00, 36021.16it/s]
100%|██████████| 25/25 [00:00<00:00, 30114.19it/s]
100%|██████████| 25/25 [00:00<00:00, 30349.52it/s]
100%|██████████| 25/25 [00:00<00:00, 31022.96it/s]
100%|██████████| 25/25 [00:00<00:00, 46071.00it/s]
100%|██████████| 25/25 [00:00<00:00, 46603.38it/s]
100%|██████████| 25/25 [00:00<00:00, 32544.26it/s]
100%|██████████| 25/25 [00:00<00:00, 36817.98it/s]
100%|██████████| 25/25 [00:00<00:00, 100438.31it/s]
100%|██████████| 25/25 [00:00<00:00, 96287.97it/s]
100%|██████████| 25/25 [00:00<00:00, 123361.88it/s]
100%|██████████| 25/25 [00:00<00:00, 69905.07it/s]
100%|██████████| 25/25 [00:00<00:00, 81284.96it/s]
100%|██████████| 25/25 [00:00<00:00, 110260.36it/s]
100%|██████████| 25/25 [00:00<00:00, 128501.96it/s]
100%|██████████| 25/25 [00:00<00:00, 116508.44it/s]
100%|██████████| 25/25 [00:00<00:00, 122784.07it/s]
100%|██████████| 25/25 [00:00<00:00, 88562.16it/s]
100%|██████████| 25/25 [00:00<00:00, 3978.51it/s]
100%|██████████| 25/25 [00:00<00:00, 122784.07it/s]
100%|██████████| 25/25 [00:00<00:00, 69858.49it/s]
100%|██████████| 25/25 [00:00<00:00, 127875.12it/s]
100%|██████████| 25/25 [00:00<00:00, 80412.27it/s]
100%|██████████| 25/25 [00:00<00:00, 120387.60it/s]
100%|██████████| 25/25 [00:00<00:00, 72365.49it/s]
100%|██████████| 25/25 [00:00<00:00, 122928.02it/s]
100%|██████████| 25/25 [00:00<00:00, 57550.82it/s]
100%|██████████| 25/25 [00:00<00:00, 49695.55it/s]
100%|██████████| 25/25 [00:00<00:00, 84020.51it/s]
100%|██████████| 25/25 [00:00<00:00, 51275.11it/s]
100%|██████████| 25/25 [00:00<00:00, 96821.42it/s]
100%|██████████| 25/25 [00:00<00:00, 96642.95it/s]
100%|██████████| 25/25 [00:00<00:00, 62378.11it/s]
100%|██████████| 25/25 [00:00<00:00, 45729.44it/s]
100%|██████████| 25/25 [00:00<00:00, 43062.67it/s]
100%|██████████| 25/25 [00:00<00:00, 62977.54it/s]
100%|██████████| 25/25 [00:00<00:00, 56588.02it/s]
100%|██████████| 25/25 [00:00<00:00, 49437.81it/s]
100%|██████████| 25/25 [00:00<00:00, 49252.04it/s]
100%|██████████| 25/25 [00:00<00:00, 49298.35it/s]
100%|██████████| 25/25 [00:00<00:00, 69626.56it/s]
100%|██████████| 25/25 [00:00<00:00, 66365.57it/s]
100%|██████████| 25/25 [00:00<00:00, 4623.96it/s]
100%|██████████| 25/25 [00:00<00:00, 62045.92it/s]
100%|██████████| 25/25 [00:00<00:00, 78427.52it/s]
100%|██████████| 25/25 [00:00<00:00, 118082.88it/s]
100%|██████████| 25/25 [00:00<00:00, 112147.17it/s]
100%|██████████| 25/25 [00:00<00:00, 82048.20it/s]
100%|██████████| 25/25 [00:00<00:00, 110843.13it/s]
100%|██████████| 25/25 [00:00<00:00, 79800.30it/s]
100%|██████████| 25/25 [00:00<00:00, 49979.79it/s]
100%|██████████| 25/25 [00:00<00:00, 77903.12it/s]
100%|██████████| 25/25 [00:00<00:00, 40626.73it/s]
100%|██████████| 25/25 [00:00<00:00, 75220.66it/s]
100%|██████████| 25/25 [00:00<00:00, 76650.29it/s]
100%|██████████| 25/25 [00:00<00:00, 74209.20it/s]
100%|██████████| 25/25 [00:00<00:00, 51653.99it/s]
100%|██████████| 25/25 [00:00<00:00, 76426.82it/s]
100%|██████████| 25/25 [00:00<00:00, 50975.98it/s]
100%|██████████| 25/25 [00:00<00:00, 81033.69it/s]
100%|██████████| 25/25 [00:00<00:00, 73635.96it/s]
100%|██████████| 25/25 [00:00<00:00, 78427.52it/s]
100%|██████████| 25/25 [00:00<00:00, 52090.21it/s]
100%|██████████| 25/25 [00:00<00:00, 41610.16it/s]
100%|██████████| 25/25 [00:00<00:00, 40944.01it/s]
100%|██████████| 25/25 [00:00<00:00, 40083.18it/s]
100%|██████████| 25/25 [00:00<00:00, 41659.75it/s]
100%|██████████| 25/25 [00:00<00:00, 44525.52it/s]
100%|██████████| 25/25 [00:00<00:00, 41593.65it/s]
100%|██████████| 25/25 [00:00<00:00, 53417.01it/s]
100%|██████████| 25/25 [00:00<00:00, 41759.30it/s]
100%|██████████| 25/25 [00:00<00:00, 77271.63it/s]
100%|██████████| 25/25 [00:00<00:00, 80971.12it/s]
100%|██████████| 25/25 [00:00<00:00, 96732.10it/s]
100%|██████████| 25/25 [00:00<00:00, 107767.32it/s]
100%|██████████| 25/25 [00:00<00:00, 59713.90it/s]
100%|██████████| 25/25 [00:00<00:00, 100342.20it/s]
100%|██████████| 25/25 [00:00<00:00, 52851.61it/s]
100%|██████████| 25/25 [00:00<00:00, 78781.07it/s]
100%|██████████| 25/25 [00:00<00:00, 84562.58it/s]
100%|██████████| 25/25 [00:00<00:00, 119837.26it/s]
100%|██████████| 25/25 [00:00<00:00, 89164.63it/s]
100%|██████████| 25/25 [00:00<00:00, 77845.29it/s]
100%|██████████| 25/25 [00:00<00:00, 130745.14it/s]
100%|██████████| 25/25 [00:00<00:00, 114849.51it/s]
100%|██████████| 25/25 [00:00<00:00, 80289.13it/s]
100%|██████████| 25/25 [00:00<00:00, 72817.78it/s]
100%|██████████| 25/25 [00:00<00:00, 67693.74it/s]
100%|██████████| 25/25 [00:00<00:00, 80908.64it/s]
100%|██████████| 25/25 [00:00<00:00, 124091.83it/s]
100%|██████████| 25/25 [00:00<00:00, 79018.54it/s]
100%|██████████| 25/25 [00:00<00:00, 73791.41it/s]
100%|██████████| 25/25 [00:00<00:00, 80783.98it/s]
100%|██████████| 25/25 [00:00<00:00, 83618.50it/s]
100%|██████████| 25/25 [00:00<00:00, 70897.63it/s]
100%|██████████| 25/25 [00:00<00:00, 46500.04it/s]
100%|██████████| 25/25 [00:00<00:00, 51200.00it/s]
100%|██████████| 25/25 [00:00<00:00, 66703.31it/s]
100%|██████████| 25/25 [00:00<00:00, 53855.98it/s]
100%|██████████| 25/25 [00:00<00:00, 72465.51it/s]
100%|██████████| 25/25 [00:00<00:00, 32353.47it/s]
100%|██████████| 25/25 [00:00<00:00, 75600.29it/s]
100%|██████████| 25/25 [00:00<00:00, 70232.82it/s]
100%|██████████| 25/25 [00:00<00:00, 84358.49it/s]
100%|██████████| 25/25 [00:00<00:00, 71820.27it/s]
100%|██████████| 25/25 [00:00<00:00, 84087.89it/s]
100%|██████████| 25/25 [00:00<00:00, 68444.91it/s]
100%|██████████| 25/25 [00:00<00:00, 84290.68it/s]
100%|██████████| 25/25 [00:00<00:00, 71575.15it/s]
100%|██████████| 25/25 [00:00<00:00, 43636.12it/s]
100%|██████████| 25/25 [00:00<00:00, 73584.28it/s]
100%|██████████| 25/25 [00:00<00:00, 34640.77it/s]
100%|██████████| 25/25 [00:00<00:00, 49601.51it/s]
100%|██████████| 25/25 [00:00<00:00, 48907.46it/s]
100%|██████████| 25/25 [00:00<00:00, 71673.00it/s]
100%|██████████| 25/25 [00:00<00:00, 39228.43it/s]
100%|██████████| 25/25 [00:00<00:00, 77328.61it/s]
100%|██████████| 25/25 [00:00<00:00, 97000.56it/s]
100%|██████████| 25/25 [00:00<00:00, 101311.69it/s]
100%|██████████| 25/25 [00:00<00:00, 68311.14it/s]
100%|██████████| 25/25 [00:00<00:00, 101803.50it/s]
100%|██████████| 25/25 [00:00<00:00, 104025.40it/s]
100%|██████████| 25/25 [00:00<00:00, 63053.28it/s]
100%|██████████| 25/25 [00:00<00:00, 81984.05it/s]
100%|██████████| 25/25 [00:00<00:00, 50388.08it/s]
100%|██████████| 25/25 [00:00<00:00, 100246.27it/s]
100%|██████████| 25/25 [00:00<00:00, 48500.28it/s]
100%|██████████| 25/25 [00:00<00:00, 64726.91it/s]
100%|██████████| 25/25 [00:00<00:00, 60193.80it/s]
100%|██████████| 25/25 [00:00<00:00, 52481.28it/s]
100%|██████████| 25/25 [00:00<00:00, 15479.42it/s]
100%|██████████| 25/25 [00:00<00:00, 59174.72it/s]
100%|██████████| 25/25 [00:00<00:00, 47989.75it/s]
100%|██████████| 25/25 [00:00<00:00, 82891.38it/s]
100%|██████████| 25/25 [00:00<00:00, 78959.04it/s]
100%|██████████| 25/25 [00:00<00:00, 80412.27it/s]
100%|██████████| 25/25 [00:00<00:00, 81033.69it/s]
100%|██████████| 25/25 [00:00<00:00, 46010.36it/s]
100%|██████████| 25/25 [00:00<00:00, 46438.26it/s]
100%|██████████| 25/25 [00:00<00:00, 82630.10it/s]
100%|██████████| 25/25 [00:00<00:00, 83551.87it/s]
100%|██████████| 25/25 [00:00<00:00, 50291.41it/s]
100%|██████████| 25/25 [00:00<00:00, 56163.69it/s]
100%|██████████| 25/25 [00:00<00:00, 70801.89it/s]
100%|██████████| 25/25 [00:00<00:00, 41527.76it/s]
100%|██████████| 25/25 [00:00<00:00, 70138.86it/s]
100%|██████████| 25/25 [00:00<00:00, 26385.91it/s]
100%|██████████| 25/25 [00:00<00:00, 49228.92it/s]
100%|██████████| 25/25 [00:00<00:00, 75491.43it/s]
100%|██████████| 25/25 [00:00<00:00, 116638.04it/s]
100%|██████████| 25/25 [00:00<00:00, 84767.66it/s]
100%|██████████| 25/25 [00:00<00:00, 24960.15it/s]
100%|██████████| 25/25 [00:00<00:00, 116898.10it/s]
100%|██████████| 25/25 [00:00<00:00, 72215.98it/s]
100%|██████████| 25/25 [00:00<00:00, 32963.72it/s]
100%|██████████| 25/25 [00:00<00:00, 40532.51it/s]
100%|██████████| 25/25 [00:00<00:00, 63627.18it/s]
100%|██████████| 25/25 [00:00<00:00, 72969.80it/s]
100%|██████████| 25/25 [00:00<00:00, 73895.42it/s]
100%|██████████| 25/25 [00:00<00:00, 12256.88it/s]
100%|██████████| 25/25 [00:00<00:00, 44318.51it/s]
100%|██████████| 25/25 [00:00<00:00, 38664.31it/s]
100%|██████████| 25/25 [00:00<00:00, 45809.35it/s]
100%|██████████| 25/25 [00:00<00:00, 72166.28it/s]
100%|██████████| 25/25 [00:00<00:00, 73947.53it/s]
100%|██████████| 25/25 [00:00<00:00, 75654.83it/s]
100%|██████████| 25/25 [00:00<00:00, 36908.69it/s]
100%|██████████| 25/25 [00:00<00:00, 6179.36it/s]
100%|██████████| 25/25 [00:00<00:00, 33608.21it/s]
100%|██████████| 25/25 [00:00<00:00, 40360.89it/s]
100%|██████████| 25/25 [00:00<00:00, 47554.47it/s]
100%|██████████| 25/25 [00:00<00:00, 69811.98it/s]
100%|██████████| 25/25 [00:00<00:00, 48077.76it/s]
100%|██████████| 25/25 [00:00<00:00, 41315.05it/s]
100%|██████████| 25/25 [00:00<00:00, 58221.88it/s]
100%|██████████| 25/25 [00:00<00:00, 83220.32it/s]
100%|██████████| 25/25 [00:00<00:00, 45769.36it/s]
100%|██████████| 25/25 [00:00<00:00, 82956.96it/s]
100%|██████████| 25/25 [00:00<00:00, 84630.83it/s]
100%|██████████| 25/25 [00:00<00:00, 59612.05it/s]
100%|██████████| 25/25 [00:00<00:00, 40221.56it/s]
100%|██████████| 25/25 [00:00<00:00, 87527.21it/s]
100%|██████████| 25/25 [00:00<00:00, 47275.74it/s]
100%|██████████| 25/25 [00:00<00:00, 49367.98it/s]
100%|██████████| 25/25 [00:00<00:00, 61141.46it/s]
100%|██████████| 25/25 [00:00<00:00, 81856.05it/s]
100%|██████████| 25/25 [00:00<00:00, 76594.30it/s]
100%|██████████| 25/25 [00:00<00:00, 85388.93it/s]
100%|██████████| 25/25 [00:00<00:00, 55509.58it/s]
100%|██████████| 25/25 [00:00<00:00, 76371.16it/s]
100%|██████████| 25/25 [00:00<00:00, 74791.44it/s]
100%|██████████| 25/25 [00:00<00:00, 52142.02it/s]
100%|██████████| 25/25 [00:00<00:00, 56043.61it/s]
100%|██████████| 25/25 [00:00<00:00, 58875.69it/s]
100%|██████████| 25/25 [00:00<00:00, 64329.82it/s]
100%|██████████| 25/25 [00:00<00:00, 58710.86it/s]
100%|██████████| 25/25 [00:00<00:00, 77328.61it/s]
100%|██████████| 25/25 [00:00<00:00, 37223.15it/s]
100%|██████████| 25/25 [00:00<00:00, 70232.82it/s]
100%|██████████| 25/25 [00:00<00:00, 38995.02it/s]
100%|██████████| 25/25 [00:00<00:00, 48321.47it/s]
100%|██████████| 25/25 [00:00<00:00, 17450.09it/s]
100%|██████████| 25/25 [00:00<00:00, 71138.13it/s]
100%|██████████| 25/25 [00:00<00:00, 50003.62it/s]
100%|██████████| 25/25 [00:00<00:00, 70421.49it/s]
100%|██████████| 25/25 [00:00<00:00, 56013.68it/s]
100%|██████████| 25/25 [00:00<00:00, 71331.70it/s]
100%|██████████| 25/25 [00:00<00:00, 49979.79it/s]
100%|██████████| 25/25 [00:00<00:00, 43928.61it/s]
100%|██████████| 25/25 [00:00<00:00, 52116.10it/s]
100%|██████████| 25/25 [00:00<00:00, 68400.26it/s]
100%|██████████| 25/25 [00:00<00:00, 68579.20it/s]
100%|██████████| 25/25 [00:00<00:00, 71186.42it/s]
100%|██████████| 25/25 [00:00<00:00, 72565.81it/s]
100%|██████████| 25/25 [00:00<00:00, 50267.31it/s]
100%|██████████| 25/25 [00:00<00:00, 6298.51it/s]
100%|██████████| 25/25 [00:00<00:00, 6387.91it/s]
100%|██████████| 25/25 [00:00<00:00, 66449.68it/s]
100%|██████████| 25/25 [00:00<00:00, 67087.40it/s]
100%|██████████| 25/25 [00:00<00:00, 94979.71it/s]
100%|██████████| 25/25 [00:00<00:00, 89468.94it/s]
100%|██████████| 25/25 [00:00<00:00, 30741.01it/s]
100%|██████████| 25/25 [00:00<00:00, 34345.76it/s]
100%|██████████| 25/25 [00:00<00:00, 68579.20it/s]
100%|██████████| 25/25 [00:00<00:00, 57143.11it/s]
100%|██████████| 25/25 [00:00<00:00, 83485.35it/s]
100%|██████████| 25/25 [00:00<00:00, 94893.76it/s]
100%|██████████| 25/25 [00:00<00:00, 107546.26it/s]
100%|██████████| 25/25 [00:00<00:00, 69719.15it/s]
100%|██████████| 25/25 [00:00<00:00, 97906.26it/s]
100%|██████████| 25/25 [00:00<00:00, 92385.55it/s]
100%|██████████| 25/25 [00:00<00:00, 31198.33it/s]
100%|██████████| 25/25 [00:00<00:00, 78310.38it/s]
100%|██████████| 25/25 [00:00<00:00, 97090.37it/s]
100%|██████████| 25/25 [00:00<00:00, 139996.80it/s]
100%|██████████| 25/25 [00:00<00:00, 138884.24it/s]
100%|██████████| 25/25 [00:00<00:00, 78193.59it/s]
100%|██████████| 25/25 [00:00<00:00, 74051.98it/s]
100%|██████████| 25/25 [00:00<00:00, 79921.95it/s]
100%|██████████| 25/25 [00:00<00:00, 47532.91it/s]
100%|██████████| 25/25 [00:00<00:00, 77044.53it/s]
100%|██████████| 25/25 [00:00<00:00, 75328.74it/s]
100%|██████████| 25/25 [00:00<00:00, 86587.61it/s]
100%|██████████| 25/25 [00:00<00:00, 128031.26it/s]
100%|██████████| 25/25 [00:00<00:00, 133917.75it/s]
100%|██████████| 25/25 [00:00<00:00, 131730.65it/s]
100%|██████████| 25/25 [00:00<00:00, 68045.17it/s]
100%|██████████| 25/25 [00:00<00:00, 123216.92it/s]
100%|██████████| 25/25 [00:00<00:00, 9329.80it/s]
100%|██████████| 25/25 [00:00<00:00, 112508.15it/s]
100%|██████████| 25/25 [00:00<00:00, 60332.34it/s]
100%|██████████| 25/25 [00:00<00:00, 23972.93it/s]
100%|██████████| 25/25 [00:00<00:00, 105490.54it/s]
100%|██████████| 25/25 [00:00<00:00, 75005.44it/s]
100%|██████████| 25/25 [00:00<00:00, 62751.41it/s]
100%|██████████| 25/25 [00:00<00:00, 79257.45it/s]
100%|██████████| 25/25 [00:00<00:00, 67001.66it/s]
100%|██████████| 25/25 [00:00<00:00, 79861.08it/s]
100%|██████████| 25/25 [00:00<00:00, 48770.98it/s]
100%|██████████| 25/25 [00:00<00:00, 93539.34it/s]
100%|██████████| 25/25 [00:00<00:00, 65989.68it/s]
100%|██████████| 25/25 [00:00<00:00, 130582.32it/s]
100%|██████████| 25/25 [00:00<00:00, 115609.26it/s]
100%|██████████| 25/25 [00:00<00:00, 59409.41it/s]
100%|██████████| 25/25 [00:00<00:00, 79739.62it/s]
100%|██████████| 25/25 [00:00<00:00, 74104.31it/s]
100%|██████████| 25/25 [00:00<00:00, 49414.51it/s]
100%|██████████| 25/25 [00:00<00:00, 45003.26it/s]
100%|██████████| 25/25 [00:00<00:00, 73481.15it/s]
100%|██████████| 25/25 [00:00<00:00, 77101.18it/s]
100%|██████████| 25/25 [00:00<00:00, 126946.25it/s]
100%|██████████| 25/25 [00:00<00:00, 144830.94it/s]
100%|██████████| 25/25 [00:00<00:00, 109113.01it/s]
100%|██████████| 25/25 [00:00<00:00, 48770.98it/s]
100%|██████████| 25/25 [00:00<00:00, 70706.41it/s]
100%|██████████| 25/25 [00:00<00:00, 53800.72it/s]
100%|██████████| 25/25 [00:00<00:00, 56284.27it/s]
100%|██████████| 25/25 [00:00<00:00, 53389.82it/s]
100%|██████████| 25/25 [00:00<00:00, 80846.26it/s]
100%|██████████| 25/25 [00:00<00:00, 80043.97it/s]
100%|██████████| 25/25 [00:00<00:00, 75600.29it/s]
100%|██████████| 25/25 [00:00<00:00, 51527.08it/s]
100%|██████████| 25/25 [00:00<00:00, 48433.07it/s]
100%|██████████| 25/25 [00:00<00:00, 50951.21it/s]
100%|██████████| 25/25 [00:00<00:00, 39658.70it/s]
100%|██████████| 25/25 [00:00<00:00, 48930.28it/s]
100%|██████████| 25/25 [00:00<00:00, 51679.45it/s]
100%|██████████| 25/25 [00:00<00:00, 51425.99it/s]
100%|██████████| 25/25 [00:00<00:00, 40721.40it/s]
100%|██████████| 25/25 [00:00<00:00, 75437.12it/s]
100%|██████████| 25/25 [00:00<00:00, 77044.53it/s]
100%|██████████| 25/25 [00:00<00:00, 71771.12it/s]
100%|██████████| 25/25 [00:00<00:00, 45550.65it/s]
100%|██████████| 25/25 [00:00<00:00, 48703.02it/s]
100%|██████████| 25/25 [00:00<00:00, 55597.88it/s]
100%|██████████| 25/25 [00:00<00:00, 29404.82it/s]
100%|██████████| 25/25 [00:00<00:00, 57932.38it/s]
100%|██████████| 25/25 [00:00<00:00, 68985.26it/s]
100%|██████████| 25/25 [00:00<00:00, 40423.13it/s]
100%|██████████| 25/25 [00:00<00:00, 73173.48it/s]
100%|██████████| 25/25 [00:00<00:00, 57143.11it/s]
100%|██████████| 25/25 [00:00<00:00, 64847.00it/s]
100%|██████████| 25/25 [00:00<00:00, 70279.89it/s]
100%|██████████| 25/25 [00:00<00:00, 68311.14it/s]
100%|██████████| 25/25 [00:00<00:00, 44412.37it/s]
100%|██████████| 25/25 [00:00<00:00, 40689.79it/s]
100%|██████████| 25/25 [00:00<00:00, 45709.50it/s]
100%|██████████| 25/25 [00:00<00:00, 66449.68it/s]
100%|██████████| 25/25 [00:00<00:00, 22253.31it/s]
100%|██████████| 25/25 [00:00<00:00, 48748.30it/s]
100%|██████████| 25/25 [00:00<00:00, 73481.15it/s]
100%|██████████| 25/25 [00:00<00:00, 124533.97it/s]
100%|██████████| 25/25 [00:00<00:00, 56466.13it/s]
100%|██████████| 25/25 [00:00<00:00, 51884.02it/s]
100%|██████████| 25/25 [00:00<00:00, 106131.17it/s]
100%|██████████| 25/25 [00:00<00:00, 50901.75it/s]
100%|██████████| 25/25 [00:00<00:00, 76706.36it/s]
100%|██████████| 25/25 [00:00<00:00, 54727.35it/s]
100%|██████████| 25/25 [00:00<00:00, 80412.27it/s]
100%|██████████| 25/25 [00:00<00:00, 42677.09it/s]
100%|██████████| 25/25 [00:00<00:00, 77845.29it/s]
100%|██████████| 25/25 [00:00<00:00, 78193.59it/s]
100%|██████████| 25/25 [00:00<00:00, 76426.82it/s]
100%|██████████| 25/25 [00:00<00:00, 69488.14it/s]
100%|██████████| 25/25 [00:00<00:00, 68939.91it/s]
100%|██████████| 25/25 [00:00<00:00, 105916.77it/s]
100%|██████████| 25/25 [00:00<00:00, 62119.43it/s]
100%|██████████| 25/25 [00:00<00:00, 89164.63it/s]
100%|██████████| 25/25 [00:00<00:00, 56133.62it/s]
100%|██████████| 25/25 [00:00<00:00, 79317.40it/s]
100%|██████████| 25/25 [00:00<00:00, 48861.88it/s]
100%|██████████| 25/25 [00:00<00:00, 51755.97it/s]
100%|██████████| 25/25 [00:00<00:00, 78251.94it/s]
100%|██████████| 25/25 [00:00<00:00, 112508.15it/s]
100%|██████████| 25/25 [00:00<00:00, 86160.72it/s]
100%|██████████| 25/25 [00:00<00:00, 125277.90it/s]
100%|██████████| 25/25 [00:00<00:00, 120943.02it/s]
100%|██████████| 25/25 [00:00<00:00, 122497.20it/s]
100%|██████████| 25/25 [00:00<00:00, 93206.76it/s]
100%|██████████| 25/25 [00:00<00:00, 73326.99it/s]
100%|██████████| 25/25 [00:00<00:00, 74898.29it/s]
100%|██████████| 25/25 [00:00<00:00, 82435.22it/s]
100%|██████████| 25/25 [00:00<00:00, 119974.37it/s]
100%|██████████| 25/25 [00:00<00:00, 58351.47it/s]
100%|██████████| 25/25 [00:00<00:00, 129294.20it/s]
100%|██████████| 25/25 [00:00<00:00, 46707.17it/s]
100%|██████████| 25/25 [00:00<00:00, 63473.12it/s]
100%|██████████| 25/25 [00:00<00:00, 86160.72it/s]
100%|██████████| 25/25 [00:00<00:00, 129294.20it/s]
100%|██████████| 25/25 [00:00<00:00, 106997.55it/s]
100%|██████████| 25/25 [00:00<00:00, 71918.79it/s]
100%|██████████| 25/25 [00:00<00:00, 71089.90it/s]
100%|██████████| 25/25 [00:00<00:00, 70801.89it/s]
100%|██████████| 25/25 [00:00<00:00, 70279.89it/s]
100%|██████████| 25/25 [00:00<00:00, 71771.12it/s]
100%|██████████| 25/25 [00:00<00:00, 51125.11it/s]
100%|██████████| 25/25 [00:00<00:00, 60541.34it/s]
100%|██████████| 25/25 [00:00<00:00, 51476.49it/s]
100%|██████████| 25/25 [00:00<00:00, 75818.94it/s]
100%|██████████| 25/25 [00:00<00:00, 55894.24it/s]
100%|██████████| 25/25 [00:00<00:00, 112871.47it/s]
100%|██████████| 25/25 [00:00<00:00, 112027.35it/s]
100%|██████████| 25/25 [00:00<00:00, 119837.26it/s]
100%|██████████| 25/25 [00:00<00:00, 119156.36it/s]
100%|██████████| 25/25 [00:00<00:00, 82760.54it/s]
100%|██████████| 25/25 [00:00<00:00, 114975.44it/s]
100%|██████████| 25/25 [00:00<00:00, 59241.58it/s]
100%|██████████| 25/25 [00:00<00:00, 83352.62it/s]
100%|██████████| 25/25 [00:00<00:00, 74367.09it/s]
100%|██████████| 25/25 [00:00<00:00, 71575.15it/s]
100%|██████████| 25/25 [00:00<00:00, 78899.62it/s]
100%|██████████| 25/25 [00:00<00:00, 69534.22it/s]
100%|██████████| 25/25 [00:00<00:00, 100921.66it/s]
100%|██████████| 25/25 [00:00<00:00, 119021.11it/s]
100%|██████████| 25/25 [00:00<00:00, 113851.90it/s]
100%|██████████| 25/25 [00:00<00:00, 82891.38it/s]
100%|██████████| 25/25 [00:00<00:00, 83752.08it/s]
100%|██████████| 25/25 [00:00<00:00, 50003.62it/s]
100%|██████████| 25/25 [00:00<00:00, 49789.93it/s]
100%|██████████| 25/25 [00:00<00:00, 50339.70it/s]
100%|██████████| 25/25 [00:00<00:00, 70045.16it/s]
100%|██████████| 25/25 [00:00<00:00, 51730.44it/s]
100%|██████████| 25/25 [00:00<00:00, 46010.36it/s]
100%|██████████| 25/25 [00:00<00:00, 49044.71it/s]
100%|██████████| 25/25 [00:00<00:00, 51527.08it/s]
100%|██████████| 25/25 [00:00<00:00, 40960.00it/s]
100%|██████████| 25/25 [00:00<00:00, 74631.74it/s]
100%|██████████| 25/25 [00:00<00:00, 75545.82it/s]
100%|██████████| 25/25 [00:00<00:00, 48612.70it/s]
100%|██████████| 25/25 [00:00<00:00, 68266.67it/s]
100%|██████████| 25/25 [00:00<00:00, 66958.88it/s]
100%|██████████| 25/25 [00:00<00:00, 69998.40it/s]
100%|██████████| 25/25 [00:00<00:00, 70327.03it/s]
100%|██████████| 25/25 [00:00<00:00, 47211.89it/s]
100%|██████████| 25/25 [00:00<00:00, 48839.12it/s]
100%|██████████| 25/25 [00:00<00:00, 36727.71it/s]
100%|██████████| 25/25 [00:00<00:00, 49067.66it/s]
100%|██████████| 25/25 [00:00<00:00, 36220.24it/s]
100%|██████████| 25/25 [00:00<00:00, 40252.44it/s]
100%|██████████| 25/25 [00:00<00:00, 4306.44it/s]
100%|██████████| 25/25 [00:00<00:00, 34698.08it/s]
100%|██████████| 25/25 [00:00<00:00, 51100.19it/s]
100%|██████████| 25/25 [00:00<00:00, 53119.35it/s]
100%|██████████| 25/25 [00:00<00:00, 58189.57it/s]
100%|██████████| 25/25 [00:00<00:00, 74951.82it/s]
100%|██████████| 25/25 [00:00<00:00, 46091.25it/s]
100%|██████████| 25/25 [00:00<00:00, 49932.19it/s]
100%|██████████| 25/25 [00:00<00:00, 76149.31it/s]
100%|██████████| 25/25 [00:00<00:00, 50753.92it/s]
100%|██████████| 25/25 [00:00<00:00, 51986.91it/s]
100%|██████████| 25/25 [00:00<00:00, 41331.34it/s]
100%|██████████| 25/25 [00:00<00:00, 5987.07it/s]
100%|██████████| 25/25 [00:00<00:00, 75873.81it/s]
100%|██████████| 25/25 [00:00<00:00, 40896.10it/s]
100%|██████████| 25/25 [00:00<00:00, 53146.27it/s]
100%|██████████| 25/25 [00:00<00:00, 52350.27it/s]
100%|██████████| 25/25 [00:00<00:00, 65372.57it/s]
100%|██████████| 25/25 [00:00<00:00, 61034.69it/s]
100%|██████████| 25/25 [00:00<00:00, 75005.44it/s]
100%|██████████| 25/25 [00:00<00:00, 108212.18it/s]
100%|██████████| 25/25 [00:00<00:00, 88115.63it/s]
100%|██████████| 25/25 [00:00<00:00, 116767.93it/s]
100%|██████████| 25/25 [00:00<00:00, 110376.42it/s]
100%|██████████| 25/25 [00:00<00:00, 60857.57it/s]
100%|██████████| 25/25 [00:00<00:00, 58975.03it/s]
100%|██████████| 25/25 [00:00<00:00, 44715.39it/s]
100%|██████████| 25/25 [00:00<00:00, 68311.14it/s]
100%|██████████| 25/25 [00:00<00:00, 69396.16it/s]
100%|██████████| 25/25 [00:00<00:00, 7669.51it/s]
100%|██████████| 25/25 [00:00<00:00, 73635.96it/s]
100%|██████████| 25/25 [00:00<00:00, 73947.53it/s]
100%|██████████| 25/25 [00:00<00:00, 75005.44it/s]
100%|██████████| 25/25 [00:00<00:00, 51175.01it/s]
100%|██████████| 25/25 [00:00<00:00, 72616.07it/s]
100%|██████████| 25/25 [00:00<00:00, 55627.37it/s]
100%|██████████| 25/25 [00:00<00:00, 74051.98it/s]
100%|██████████| 25/25 [00:00<00:00, 75005.44it/s]
100%|██████████| 25/25 [00:00<00:00, 53635.60it/s]
100%|██████████| 25/25 [00:00<00:00, 52507.56it/s]
100%|██████████| 25/25 [00:00<00:00, 75818.94it/s]
100%|██████████| 25/25 [00:00<00:00, 73122.45it/s]
100%|██████████| 25/25 [00:00<00:00, 49414.51it/s]
100%|██████████| 25/25 [00:00<00:00, 50027.48it/s]
100%|██████████| 25/25 [00:00<00:00, 66407.60it/s]
100%|██████████| 25/25 [00:00<00:00, 49391.24it/s]
100%|██████████| 25/25 [00:00<00:00, 48816.39it/s]
100%|██████████| 25/25 [00:00<00:00, 14595.99it/s]
100%|██████████| 25/25 [00:00<00:00, 70374.23it/s]
100%|██████████| 25/25 [00:00<00:00, 50243.22it/s]
100%|██████████| 25/25 [00:00<00:00, 48232.57it/s]
100%|██████████| 25/25 [00:00<00:00, 40579.57it/s]
100%|██████████| 25/25 [00:00<00:00, 43983.89it/s]
100%|██████████| 25/25 [00:00<00:00, 15109.16it/s]
100%|██████████| 25/25 [00:00<00:00, 43169.04it/s]
100%|██████████| 25/25 [00:00<00:00, 39628.72it/s]
100%|██████████| 25/25 [00:00<00:00, 42111.49it/s]
100%|██████████| 25/25 [00:00<00:00, 41643.21it/s]
100%|██████████| 25/25 [00:00<00:00, 42094.58it/s]
100%|██████████| 25/25 [00:00<00:00, 77101.18it/s]
100%|██████████| 25/25 [00:00<00:00, 41250.04it/s]
100%|██████████| 25/25 [00:00<00:00, 78662.87it/s]
100%|██████████| 25/25 [00:00<00:00, 74738.13it/s]
100%|██████████| 25/25 [00:00<00:00, 43169.04it/s]
100%|██████████| 25/25 [00:00<00:00, 80166.36it/s]
100%|██████████| 25/25 [00:00<00:00, 78603.90it/s]
100%|██████████| 25/25 [00:00<00:00, 53608.18it/s]
100%|██████████| 25/25 [00:00<00:00, 115481.94it/s]
100%|██████████| 25/25 [00:00<00:00, 70327.03it/s]
100%|██████████| 25/25 [00:00<00:00, 68579.20it/s]
100%|██████████| 25/25 [00:00<00:00, 74898.29it/s]
100%|██████████| 25/25 [00:00<00:00, 110492.73it/s]
100%|██████████| 25/25 [00:00<00:00, 126334.46it/s]
100%|██████████| 25/25 [00:00<00:00, 79861.08it/s]
100%|██████████| 25/25 [00:00<00:00, 117421.72it/s]
100%|██████████| 25/25 [00:00<00:00, 122784.07it/s]
100%|██████████| 25/25 [00:00<00:00, 56193.78it/s]
100%|██████████| 25/25 [00:00<00:00, 70658.76it/s]
100%|██████████| 25/25 [00:00<00:00, 123798.82it/s]
100%|██████████| 25/25 [00:00<00:00, 88862.37it/s]
100%|██████████| 25/25 [00:00<00:00, 61105.83it/s]
100%|██████████| 25/25 [00:00<00:00, 61428.00it/s]
100%|██████████| 25/25 [00:00<00:00, 62601.55it/s]
100%|██████████| 25/25 [00:00<00:00, 48299.22it/s]
100%|██████████| 25/25 [00:00<00:00, 89392.67it/s]
100%|██████████| 25/25 [00:00<00:00, 60541.34it/s]
100%|██████████| 25/25 [00:00<00:00, 90083.85it/s]
100%|██████████| 25/25 [00:00<00:00, 61392.04it/s]
100%|██████████| 25/25 [00:00<00:00, 57519.25it/s]
100%|██████████| 25/25 [00:00<00:00, 89088.87it/s]
100%|██████████| 25/25 [00:00<00:00, 90943.28it/s]
100%|██████████| 25/25 [00:00<00:00, 36157.79it/s]
100%|██████████| 25/25 [00:00<00:00, 87454.21it/s]
100%|██████████| 25/25 [00:00<00:00, 86946.60it/s]
100%|██████████| 25/25 [00:00<00:00, 89468.94it/s]
100%|██████████| 25/25 [00:00<00:00, 47425.42it/s]
100%|██████████| 25/25 [00:00<00:00, 89392.67it/s]
100%|██████████| 25/25 [00:00<00:00, 92304.23it/s]
100%|██████████| 25/25 [00:00<00:00, 66449.68it/s]
100%|██████████| 25/25 [00:00<00:00, 59884.41it/s]
100%|██████████| 25/25 [00:00<00:00, 57267.94it/s]
100%|██████████| 25/25 [00:00<00:00, 89621.88it/s]
100%|██████████| 25/25 [00:00<00:00, 2546.01it/s]
100%|██████████| 25/25 [00:00<00:00, 11429.87it/s]
100%|██████████| 25/25 [00:00<00:00, 75112.89it/s]
100%|██████████| 25/25 [00:00<00:00, 41976.62it/s]
100%|██████████| 25/25 [00:00<00:00, 50951.21it/s]
100%|██████████| 25/25 [00:00<00:00, 54613.33it/s]
100%|██████████| 25/25 [00:00<00:00, 79982.91it/s]
100%|██████████| 25/25 [00:00<00:00, 78721.92it/s]
100%|██████████| 25/25 [00:00<00:00, 78840.30it/s]
100%|██████████| 25/25 [00:00<00:00, 54106.09it/s]
100%|██████████| 25/25 [00:00<00:00, 36408.89it/s]
100%|██████████| 25/25 [00:00<00:00, 37117.73it/s]
100%|██████████| 25/25 [00:00<00:00, 51050.44it/s]
100%|██████████| 25/25 [00:00<00:00, 64726.91it/s]
100%|██████████| 25/25 [00:00<00:00, 28066.81it/s]
100%|██████████| 25/25 [00:00<00:00, 39053.11it/s]
100%|██████████| 25/25 [00:00<00:00, 52692.26it/s]
100%|██████████| 25/25 [00:00<00:00, 75059.13it/s]
100%|██████████| 25/25 [00:00<00:00, 91980.35it/s]
100%|██████████| 25/25 [00:00<00:00, 83485.35it/s]
100%|██████████| 25/25 [00:00<00:00, 77157.91it/s]
100%|██████████| 25/25 [00:00<00:00, 81348.02it/s]
100%|██████████| 25/25 [00:00<00:00, 125427.75it/s]
100%|██████████| 25/25 [00:00<00:00, 75928.75it/s]
100%|██████████| 25/25 [00:00<00:00, 84836.25it/s]
100%|██████████| 25/25 [00:00<00:00, 53227.21it/s]
100%|██████████| 25/25 [00:00<00:00, 73020.61it/s]
100%|██████████| 25/25 [00:00<00:00, 67737.47it/s]
100%|██████████| 25/25 [00:00<00:00, 82435.22it/s]
100%|██████████| 25/25 [00:00<00:00, 83618.50it/s]
100%|██████████| 25/25 [00:00<00:00, 116379.13it/s]
100%|██████████| 25/25 [00:00<00:00, 82565.04it/s]
100%|██████████| 25/25 [00:00<00:00, 58221.88it/s]
100%|██████████| 25/25 [00:00<00:00, 58254.22it/s]
100%|██████████| 25/25 [00:00<00:00, 58579.66it/s]
100%|██████████| 25/25 [00:00<00:00, 85738.02it/s]
100%|██████████| 25/25 [00:00<00:00, 58842.65it/s]
100%|██████████| 25/25 [00:00<00:00, 85738.02it/s]
100%|██████████| 25/25 [00:00<00:00, 83685.24it/s]
100%|██████████| 25/25 [00:00<00:00, 60928.30it/s]
100%|██████████| 25/25 [00:00<00:00, 88562.16it/s]
100%|██████████| 25/25 [00:00<00:00, 47597.64it/s]
100%|██████████| 25/25 [00:00<00:00, 90550.60it/s]
100%|██████████| 25/25 [00:00<00:00, 60124.77it/s]
100%|██████████| 25/25 [00:00<00:00, 89545.35it/s]
100%|██████████| 25/25 [00:00<00:00, 60928.30it/s]
100%|██████████| 25/25 [00:00<00:00, 47468.36it/s]
100%|██████████| 25/25 [00:00<00:00, 60193.80it/s]
100%|██████████| 25/25 [00:00<00:00, 47211.89it/s]
100%|██████████| 25/25 [00:00<00:00, 89240.51it/s]
100%|██████████| 25/25 [00:00<00:00, 88412.82it/s]
100%|██████████| 25/25 [00:00<00:00, 83220.32it/s]
100%|██████████| 25/25 [00:00<00:00, 60228.37it/s]
100%|██████████| 25/25 [00:00<00:00, 95411.83it/s]
100%|██████████| 25/25 [00:00<00:00, 95585.78it/s]
100%|██████████| 25/25 [00:00<00:00, 142276.26it/s]
100%|██████████| 25/25 [00:00<00:00, 78603.90it/s]
100%|██████████| 25/25 [00:00<00:00, 97906.26it/s]
100%|██████████| 25/25 [00:00<00:00, 131236.05it/s]
100%|██████████| 25/25 [00:00<00:00, 135125.77it/s]
100%|██████████| 25/25 [00:00<00:00, 136533.33it/s]
100%|██████████| 25/25 [00:00<00:00, 130257.89it/s]
100%|██████████| 25/25 [00:00<00:00, 137428.05it/s]
100%|██████████| 25/25 [00:00<00:00, 139438.30it/s]
100%|██████████| 25/25 [00:00<00:00, 96642.95it/s]
100%|██████████| 25/25 [00:00<00:00, 138152.31it/s]
100%|██████████| 25/25 [00:00<00:00, 134432.82it/s]
100%|██████████| 25/25 [00:00<00:00, 132062.47it/s]
100%|██████████| 25/25 [00:00<00:00, 87967.79it/s]
100%|██████████| 25/25 [00:00<00:00, 79679.03it/s]
100%|██████████| 25/25 [00:00<00:00, 95935.59it/s]
100%|██████████| 25/25 [00:00<00:00, 137068.76it/s]
100%|██████████| 25/25 [00:00<00:00, 131072.00it/s]
100%|██████████| 25/25 [00:00<00:00, 96732.10it/s]
100%|██████████| 25/25 [00:00<00:00, 132062.47it/s]
100%|██████████| 25/25 [00:00<00:00, 40221.56it/s]
100%|██████████| 25/25 [00:00<00:00, 80783.98it/s]
100%|██████████| 25/25 [00:00<00:00, 86302.55it/s]
100%|██████████| 25/25 [00:00<00:00, 83886.08it/s]
100%|██████████| 25/25 [00:00<00:00, 86302.55it/s]
100%|██████████| 25/25 [00:00<00:00, 58481.65it/s]
100%|██████████| 25/25 [00:00<00:00, 85458.52it/s]
100%|██████████| 25/25 [00:00<00:00, 84904.94it/s]
100%|██████████| 25/25 [00:00<00:00, 28807.03it/s]
100%|██████████| 25/25 [00:00<00:00, 58221.88it/s]
100%|██████████| 25/25 [00:00<00:00, 60611.33it/s]
100%|██████████| 25/25 [00:00<00:00, 62009.23it/s]
100%|██████████| 25/25 [00:00<00:00, 45590.26it/s]
100%|██████████| 25/25 [00:00<00:00, 87527.21it/s]
100%|██████████| 25/25 [00:00<00:00, 47105.84it/s]
100%|██████████| 25/25 [00:00<00:00, 101902.43it/s]
100%|██████████| 25/25 [00:00<00:00, 90550.60it/s]
100%|██████████| 25/25 [00:00<00:00, 57900.39it/s]
100%|██████████| 25/25 [00:00<00:00, 85458.52it/s]
100%|██████████| 25/25 [00:00<00:00, 73635.96it/s]
100%|██████████| 25/25 [00:00<00:00, 58579.66it/s]
100%|██████████| 25/25 [00:00<00:00, 48033.72it/s]
100%|██████████| 25/25 [00:00<00:00, 83685.24it/s]
100%|██████████| 25/25 [00:00<00:00, 9087.23it/s]
100%|██████████| 25/25 [00:00<00:00, 71722.02it/s]
100%|██████████| 25/25 [00:00<00:00, 50655.85it/s]
100%|██████████| 25/25 [00:00<00:00, 70091.98it/s]
100%|██████████| 25/25 [00:00<00:00, 71283.21it/s]
100%|██████████| 25/25 [00:00<00:00, 43745.35it/s]
100%|██████████| 25/25 [00:00<00:00, 70279.89it/s]
100%|██████████| 25/25 [00:00<00:00, 51075.30it/s]
100%|██████████| 25/25 [00:00<00:00, 71138.13it/s]
100%|██████████| 25/25 [00:00<00:00, 40485.56it/s]
100%|██████████| 25/25 [00:00<00:00, 16126.98it/s]
100%|██████████| 25/25 [00:00<00:00, 29671.08it/s]
100%|██████████| 25/25 [00:00<00:00, 32984.46it/s]
100%|██████████| 25/25 [00:00<00:00, 3120.39it/s]
100%|██████████| 25/25 [00:00<00:00, 5865.83it/s]
100%|██████████| 25/25 [00:00<00:00, 45511.11it/s]
100%|██████████| 25/25 [00:00<00:00, 23116.75it/s]
100%|██████████| 25/25 [00:00<00:00, 6253.06it/s]
100%|██████████| 25/25 [00:00<00:00, 48839.12it/s]
100%|██████████| 25/25 [00:00<00:00, 117290.38it/s]
100%|██████████| 25/25 [00:00<00:00, 103511.94it/s]
100%|██████████| 25/25 [00:00<00:00, 121644.55it/s]
100%|██████████| 25/25 [00:00<00:00, 81601.25it/s]
100%|██████████| 25/25 [00:00<00:00, 123507.18it/s]
100%|██████████| 25/25 [00:00<00:00, 47042.44it/s]
100%|██████████| 25/25 [00:00<00:00, 74684.90it/s]
100%|██████████| 25/25 [00:00<00:00, 46811.43it/s]
100%|██████████| 25/25 [00:00<00:00, 64211.64it/s]
100%|██████████| 25/25 [00:00<00:00, 56163.69it/s]
100%|██████████| 25/25 [00:00<00:00, 54246.04it/s]
100%|██████████| 25/25 [00:00<00:00, 80473.98it/s]
100%|██████████| 25/25 [00:00<00:00, 53362.65it/s]
100%|██████████| 25/25 [00:00<00:00, 75491.43it/s]
100%|██████████| 25/25 [00:00<00:00, 47489.86it/s]
100%|██████████| 25/25 [00:00<00:00, 92958.87it/s]
100%|██████████| 25/25 [00:00<00:00, 85250.08it/s]
100%|██████████| 25/25 [00:00<00:00, 62303.98it/s]
100%|██████████| 25/25 [00:00<00:00, 91498.78it/s]
100%|██████████| 25/25 [00:00<00:00, 54985.63it/s]
100%|██████████| 25/25 [00:00<00:00, 93958.42it/s]
100%|██████████| 25/25 [00:00<00:00, 64686.98it/s]
100%|██████████| 25/25 [00:00<00:00, 94042.69it/s]
100%|██████████| 25/25 [00:00<00:00, 60228.37it/s]
100%|██████████| 25/25 [00:00<00:00, 80535.79it/s]
100%|██████████| 25/25 [00:00<00:00, 77961.04it/s]
100%|██████████| 25/25 [00:00<00:00, 57236.68it/s]
100%|██████████| 25/25 [00:00<00:00, 57740.97it/s]
100%|██████████| 25/25 [00:00<00:00, 82825.91it/s]
100%|██████████| 25/25 [00:00<00:00, 112147.17it/s]
100%|██████████| 25/25 [00:00<00:00, 68444.91it/s]
100%|██████████| 25/25 [00:00<00:00, 139810.13it/s]
100%|██████████| 25/25 [00:00<00:00, 109454.70it/s]
100%|██████████| 25/25 [00:00<00:00, 83352.62it/s]
100%|██████████| 25/25 [00:00<00:00, 124386.24it/s]
100%|██████████| 25/25 [00:00<00:00, 74314.39it/s]
100%|██████████| 25/25 [00:00<00:00, 123216.92it/s]
100%|██████████| 25/25 [00:00<00:00, 123072.30it/s]
100%|██████████| 25/25 [00:00<00:00, 128817.69it/s]
100%|██████████| 25/25 [00:00<00:00, 73687.70it/s]
100%|██████████| 25/25 [00:00<00:00, 113851.90it/s]
100%|██████████| 25/25 [00:00<00:00, 64686.98it/s]
100%|██████████| 25/25 [00:00<00:00, 89545.35it/s]
100%|██████████| 25/25 [00:00<00:00, 90943.28it/s]
100%|██████████| 25/25 [00:00<00:00, 83088.43it/s]
100%|██████████| 25/25 [00:00<00:00, 91498.78it/s]
100%|██████████| 25/25 [00:00<00:00, 92385.55it/s]
100%|██████████| 25/25 [00:00<00:00, 89088.87it/s]
100%|██████████| 25/25 [00:00<00:00, 46603.38it/s]
100%|██████████| 25/25 [00:00<00:00, 62415.24it/s]
100%|██████████| 25/25 [00:00<00:00, 91899.74it/s]
100%|██████████| 25/25 [00:00<00:00, 93874.31it/s]
100%|██████████| 25/25 [00:00<00:00, 44830.10it/s]
100%|██████████| 25/25 [00:00<00:00, 60401.84it/s]
100%|██████████| 25/25 [00:00<00:00, 93874.31it/s]
100%|██████████| 25/25 [00:00<00:00, 94042.69it/s]
100%|██████████| 25/25 [00:00<00:00, 61141.46it/s]
100%|██████████| 25/25 [00:00<00:00, 57740.97it/s]
100%|██████████| 25/25 [00:00<00:00, 97180.35it/s]
100%|██████████| 25/25 [00:00<00:00, 56163.69it/s]
100%|██████████| 25/25 [00:00<00:00, 79137.81it/s]
100%|██████████| 25/25 [00:00<00:00, 54189.97it/s]
100%|██████████| 25/25 [00:00<00:00, 35996.43it/s]
100%|██████████| 25/25 [00:00<00:00, 80846.26it/s]
100%|██████████| 25/25 [00:00<00:00, 53883.66it/s]
100%|██████████| 25/25 [00:00<00:00, 40768.90it/s]
100%|██████████| 25/25 [00:00<00:00, 78135.32it/s]
100%|██████████| 25/25 [00:00<00:00, 48590.18it/s]
100%|██████████| 25/25 [00:00<00:00, 53608.18it/s]
100%|██████████| 25/25 [00:00<00:00, 78721.92it/s]
100%|██████████| 25/25 [00:00<00:00, 49672.00it/s]
100%|██████████| 25/25 [00:00<00:00, 76094.05it/s]
100%|██████████| 25/25 [00:00<00:00, 78193.59it/s]
100%|██████████| 25/25 [00:00<00:00, 15007.53it/s]
100%|██████████| 25/25 [00:00<00:00, 54161.98it/s]
100%|██████████| 25/25 [00:00<00:00, 76371.16it/s]
100%|██████████| 25/25 [00:00<00:00, 7419.34it/s]
100%|██████████| 25/25 [00:00<00:00, 77903.12it/s]
100%|██████████| 25/25 [00:00<00:00, 38922.64it/s]
100%|██████████| 25/25 [00:00<00:00, 57361.93it/s]
100%|██████████| 25/25 [00:00<00:00, 63859.68it/s]
100%|██████████| 25/25 [00:00<00:00, 81222.00it/s]
100%|██████████| 25/25 [00:00<00:00, 57645.74it/s]
100%|██████████| 25/25 [00:00<00:00, 85319.45it/s]
100%|██████████| 25/25 [00:00<00:00, 51628.56it/s]
100%|██████████| 25/25 [00:00<00:00, 80971.12it/s]
100%|██████████| 25/25 [00:00<00:00, 57550.82it/s]
100%|██████████| 25/25 [00:00<00:00, 82435.22it/s]
100%|██████████| 25/25 [00:00<00:00, 45869.47it/s]
100%|██████████| 25/25 [00:00<00:00, 55101.21it/s]
100%|██████████| 25/25 [00:00<00:00, 83286.42it/s]
100%|██████████| 25/25 [00:00<00:00, 80783.98it/s]
100%|██████████| 25/25 [00:00<00:00, 56133.62it/s]
100%|██████████| 25/25 [00:00<00:00, 57236.68it/s]
100%|██████████| 25/25 [00:00<00:00, 46438.26it/s]
100%|██████████| 25/25 [00:00<00:00, 45689.59it/s]
100%|██████████| 25/25 [00:00<00:00, 44791.80it/s]
100%|██████████| 25/25 [00:00<00:00, 39688.72it/s]
100%|██████████| 25/25 [00:00<00:00, 55333.83it/s]
100%|██████████| 25/25 [00:00<00:00, 74898.29it/s]
100%|██████████| 25/25 [00:00<00:00, 57018.81it/s]
100%|██████████| 25/25 [00:00<00:00, 53227.21it/s]
100%|██████████| 25/25 [00:00<00:00, 76762.52it/s]
100%|██████████| 25/25 [00:00<00:00, 39464.66it/s]
100%|██████████| 25/25 [00:00<00:00, 59409.41it/s]
100%|██████████| 25/25 [00:00<00:00, 82695.27it/s]
100%|██████████| 25/25 [00:00<00:00, 56771.85it/s]
100%|██████████| 25/25 [00:00<00:00, 81474.44it/s]
100%|██████████| 25/25 [00:00<00:00, 55363.04it/s]
100%|██████████| 25/25 [00:00<00:00, 56925.95it/s]
100%|██████████| 25/25 [00:00<00:00, 57111.98it/s]
100%|██████████| 25/25 [00:00<00:00, 57174.26it/s]
100%|██████████| 25/25 [00:00<00:00, 80971.12it/s]
100%|██████████| 25/25 [00:00<00:00, 82112.45it/s]
100%|██████████| 25/25 [00:00<00:00, 81096.37it/s]
100%|██████████| 25/25 [00:00<00:00, 56741.13it/s]
100%|██████████| 25/25 [00:00<00:00, 56710.44it/s]
100%|██████████| 25/25 [00:00<00:00, 44468.87it/s]
100%|██████████| 25/25 [00:00<00:00, 85042.66it/s]
100%|██████████| 25/25 [00:00<00:00, 50436.56it/s]
100%|██████████| 25/25 [00:00<00:00, 46811.43it/s]
100%|██████████| 25/25 [00:00<00:00, 87894.05it/s]
100%|██████████| 25/25 [00:00<00:00, 60228.37it/s]
100%|██████████| 25/25 [00:00<00:00, 46131.81it/s]
100%|██████████| 25/25 [00:00<00:00, 47339.77it/s]
100%|██████████| 25/25 [00:00<00:00, 47127.01it/s]
100%|██████████| 25/25 [00:00<00:00, 89775.34it/s]
100%|██████████| 25/25 [00:00<00:00, 88487.43it/s]
100%|██████████| 25/25 [00:00<00:00, 88338.33it/s]
100%|██████████| 25/25 [00:00<00:00, 58710.86it/s]
100%|██████████| 25/25 [00:00<00:00, 59241.58it/s]
100%|██████████| 25/25 [00:00<00:00, 91819.26it/s]
100%|██████████| 25/25 [00:00<00:00, 62977.54it/s]
100%|██████████| 25/25 [00:00<00:00, 63743.22it/s]
100%|██████████| 25/25 [00:00<00:00, 89852.27it/s]
100%|██████████| 25/25 [00:00<00:00, 58189.57it/s]
100%|██████████| 25/25 [00:00<00:00, 88787.13it/s]
100%|██████████| 25/25 [00:00<00:00, 97723.77it/s]
100%|██████████| 25/25 [00:00<00:00, 49601.51it/s]
100%|██████████| 25/25 [00:00<00:00, 63473.12it/s]
100%|██████████| 25/25 [00:00<00:00, 3114.46it/s]
100%|██████████| 25/25 [00:00<00:00, 37369.07it/s]
100%|██████████| 25/25 [00:00<00:00, 13881.07it/s]
100%|██████████| 25/25 [00:00<00:00, 63396.37it/s]
100%|██████████| 25/25 [00:00<00:00, 47640.89it/s]
100%|██████████| 25/25 [00:00<00:00, 51858.36it/s]
100%|██████████| 25/25 [00:00<00:00, 56466.13it/s]
100%|██████████| 25/25 [00:00<00:00, 52167.96it/s]
100%|██████████| 25/25 [00:00<00:00, 72666.39it/s]
100%|██████████| 25/25 [00:00<00:00, 27144.08it/s]
100%|██████████| 25/25 [00:00<00:00, 81033.69it/s]
100%|██████████| 25/25 [00:00<00:00, 79078.13it/s]
100%|██████████| 25/25 [00:00<00:00, 80227.70it/s]
100%|██████████| 25/25 [00:00<00:00, 83752.08it/s]
100%|██████████| 25/25 [00:00<00:00, 49719.11it/s]
100%|██████████| 25/25 [00:00<00:00, 48299.22it/s]
100%|██████████| 25/25 [00:00<00:00, 51025.60it/s]
100%|██████████| 25/25 [00:00<00:00, 58842.65it/s]
100%|██████████| 25/25 [00:00<00:00, 83485.35it/s]
100%|██████████| 25/25 [00:00<00:00, 87746.95it/s]
100%|██████████| 25/25 [00:00<00:00, 56284.27it/s]
100%|██████████| 25/25 [00:00<00:00, 47233.15it/s]
100%|██████████| 25/25 [00:00<00:00, 49695.55it/s]
100%|██████████| 25/25 [00:00<00:00, 75059.13it/s]
100%|██████████| 25/25 [00:00<00:00, 37276.08it/s]
100%|██████████| 25/25 [00:00<00:00, 70563.66it/s]
100%|██████████| 25/25 [00:00<00:00, 77614.80it/s]
100%|██████████| 25/25 [00:00<00:00, 49884.68it/s]
100%|██████████| 25/25 [00:00<00:00, 30633.25it/s]
100%|██████████| 25/25 [00:00<00:00, 95672.99it/s]
100%|██████████| 25/25 [00:00<00:00, 66323.59it/s]
100%|██████████| 25/25 [00:00<00:00, 103511.94it/s]
100%|██████████| 25/25 [00:00<00:00, 109798.53it/s]
100%|██████████| 25/25 [00:00<00:00, 79437.58it/s]
100%|██████████| 25/25 [00:00<00:00, 46769.67it/s]
100%|██████████| 25/25 [00:00<00:00, 73999.72it/s]
100%|██████████| 25/25 [00:00<00:00, 117950.06it/s]
100%|██████████| 25/25 [00:00<00:00, 59476.80it/s]
100%|██████████| 25/25 [00:00<00:00, 85319.45it/s]
100%|██████████| 25/25 [00:00<00:00, 119700.46it/s]
100%|██████████| 25/25 [00:00<00:00, 69304.43it/s]
100%|██████████| 25/25 [00:00<00:00, 85598.04it/s]
100%|██████████| 25/25 [00:00<00:00, 72666.39it/s]
100%|██████████| 25/25 [00:00<00:00, 83886.08it/s]
100%|██████████| 25/25 [00:00<00:00, 116898.10it/s]
100%|██████████| 25/25 [00:00<00:00, 107878.19it/s]
100%|██████████| 25/25 [00:00<00:00, 96821.42it/s]
100%|██████████| 25/25 [00:00<00:00, 97270.50it/s]
100%|██████████| 25/25 [00:00<00:00, 90628.87it/s]
100%|██████████| 25/25 [00:00<00:00, 70138.86it/s]
100%|██████████| 25/25 [00:00<00:00, 67869.00it/s]
100%|██████████| 25/25 [00:00<00:00, 72166.28it/s]
100%|██████████| 25/25 [00:00<00:00, 109913.63it/s]
100%|██████████| 25/25 [00:00<00:00, 92958.87it/s]
100%|██████████| 25/25 [00:00<00:00, 107767.32it/s]
100%|██████████| 25/25 [00:00<00:00, 54899.27it/s]
100%|██████████| 25/25 [00:00<00:00, 110144.54it/s]
100%|██████████| 25/25 [00:00<00:00, 57645.74it/s]
100%|██████████| 25/25 [00:00<00:00, 107878.19it/s]
100%|██████████| 25/25 [00:00<00:00, 104648.30it/s]
100%|██████████| 25/25 [00:00<00:00, 110376.42it/s]
100%|██████████| 25/25 [00:00<00:00, 57487.72it/s]
100%|██████████| 25/25 [00:00<00:00, 57614.07it/s]
100%|██████████| 25/25 [00:00<00:00, 62864.27it/s]
100%|██████████| 25/25 [00:00<00:00, 71138.13it/s]
100%|██████████| 25/25 [00:00<00:00, 105809.89it/s]
100%|██████████| 25/25 [00:00<00:00, 88338.33it/s]
100%|██████████| 25/25 [00:00<00:00, 71186.42it/s]
100%|██████████| 25/25 [00:00<00:00, 101018.88it/s]
100%|██████████| 25/25 [00:00<00:00, 60506.41it/s]
100%|██████████| 25/25 [00:00<00:00, 67781.25it/s]
100%|██████████| 25/25 [00:00<00:00, 56741.13it/s]
100%|██████████| 25/25 [00:00<00:00, 25795.23it/s]
100%|██████████| 25/25 [00:00<00:00, 106779.63it/s]
100%|██████████| 25/25 [00:00<00:00, 103614.23it/s]
100%|██████████| 25/25 [00:00<00:00, 71771.12it/s]
100%|██████████| 25/25 [00:00<00:00, 104962.56it/s]
100%|██████████| 25/25 [00:00<00:00, 54613.33it/s]
100%|██████████| 25/25 [00:00<00:00, 108100.62it/s]
100%|██████████| 25/25 [00:00<00:00, 55304.64it/s]
100%|██████████| 25/25 [00:00<00:00, 69951.70it/s]
100%|██████████| 25/25 [00:00<00:00, 98922.26it/s]
100%|██████████| 25/25 [00:00<00:00, 108435.99it/s]
100%|██████████| 25/25 [00:00<00:00, 103104.82it/s]
100%|██████████| 25/25 [00:00<00:00, 35269.96it/s]
100%|██████████| 25/25 [00:00<00:00, 120249.54it/s]
100%|██████████| 25/25 [00:00<00:00, 123798.82it/s]
100%|██████████| 25/25 [00:00<00:00, 119291.92it/s]
100%|██████████| 25/25 [00:00<00:00, 109683.68it/s]
100%|██████████| 25/25 [00:00<00:00, 126334.46it/s]
100%|██████████| 25/25 [00:00<00:00, 100342.20it/s]
100%|██████████| 25/25 [00:00<00:00, 98735.97it/s]
100%|██████████| 25/25 [00:00<00:00, 100054.96it/s]
100%|██████████| 25/25 [00:00<00:00, 93790.34it/s]
100%|██████████| 25/25 [00:00<00:00, 107106.84it/s]
100%|██████████| 25/25 [00:00<00:00, 108323.97it/s]
100%|██████████| 25/25 [00:00<00:00, 63976.57it/s]
100%|██████████| 25/25 [00:00<00:00, 107436.07it/s]
100%|██████████| 25/25 [00:00<00:00, 99864.38it/s]
100%|██████████| 25/25 [00:00<00:00, 100150.53it/s]
100%|██████████| 25/25 [00:00<00:00, 70801.89it/s]
100%|██████████| 25/25 [00:00<00:00, 66534.01it/s]
100%|██████████| 25/25 [00:00<00:00, 99109.26it/s]
100%|██████████| 25/25 [00:00<00:00, 54471.48it/s]
100%|██████████| 25/25 [00:00<00:00, 70374.23it/s]
100%|██████████| 25/25 [00:00<00:00, 56987.83it/s]
100%|██████████| 25/25 [00:00<00:00, 105703.23it/s]
100%|██████████| 25/25 [00:00<00:00, 59952.89it/s]
100%|██████████| 25/25 [00:00<00:00, 71041.73it/s]
100%|██████████| 25/25 [00:00<00:00, 106888.48it/s]
100%|██████████| 25/25 [00:00<00:00, 71331.70it/s]
100%|██████████| 25/25 [00:00<00:00, 64567.49it/s]
100%|██████████| 25/25 [00:00<00:00, 79618.53it/s]
100%|██████████| 25/25 [00:00<00:00, 112147.17it/s]
100%|██████████| 25/25 [00:00<00:00, 66703.31it/s]
100%|██████████| 25/25 [00:00<00:00, 37813.78it/s]
100%|██████████| 25/25 [00:00<00:00, 51425.99it/s]
100%|██████████| 25/25 [00:00<00:00, 43727.11it/s]
100%|██████████| 25/25 [00:00<00:00, 18486.88it/s]
100%|██████████| 25/25 [00:00<00:00, 117421.72it/s]
100%|██████████| 25/25 [00:00<00:00, 65700.25it/s]
100%|██████████| 25/25 [00:00<00:00, 45373.26it/s]
100%|██████████| 25/25 [00:00<00:00, 66239.80it/s]
100%|██████████| 25/25 [00:00<00:00, 34952.53it/s]
100%|██████████| 25/25 [00:00<00:00, 38508.12it/s]
100%|██████████| 25/25 [00:00<00:00, 68133.59it/s]
100%|██████████| 25/25 [00:00<00:00, 50388.08it/s]
100%|██████████| 25/25 [00:00<00:00, 68400.26it/s]
100%|██████████| 25/25 [00:00<00:00, 50027.48it/s]
100%|██████████| 25/25 [00:00<00:00, 71575.15it/s]
100%|██████████| 25/25 [00:00<00:00, 50075.26it/s]
100%|██████████| 25/25 [00:00<00:00, 62676.39it/s]
100%|██████████| 25/25 [00:00<00:00, 31263.45it/s]
100%|██████████| 25/25 [00:00<00:00, 70327.03it/s]
100%|██████████| 25/25 [00:00<00:00, 53718.03it/s]
100%|██████████| 25/25 [00:00<00:00, 44187.78it/s]
100%|██████████| 25/25 [00:00<00:00, 57868.43it/s]
100%|██████████| 25/25 [00:00<00:00, 57932.38it/s]
100%|██████████| 25/25 [00:00<00:00, 72767.24it/s]
100%|██████████| 25/25 [00:00<00:00, 1524.09it/s]
100%|██████████| 25/25 [00:00<00:00, 49955.98it/s]
100%|██████████| 25/25 [00:00<00:00, 41169.06it/s]
100%|██████████| 25/25 [00:00<00:00, 71380.26it/s]
100%|██████████| 25/25 [00:00<00:00, 55686.46it/s]
100%|██████████| 25/25 [00:00<00:00, 17517.14it/s]
100%|██████████| 25/25 [00:00<00:00, 77214.73it/s]
100%|██████████| 25/25 [00:00<00:00, 70421.49it/s]
100%|██████████| 25/25 [00:00<00:00, 40360.89it/s]
100%|██████████| 25/25 [00:00<00:00, 48884.66it/s]
100%|██████████| 25/25 [00:00<00:00, 68489.61it/s]
100%|██████████| 25/25 [00:00<00:00, 67044.50it/s]
100%|██████████| 25/25 [00:00<00:00, 37289.33it/s]
100%|██████████| 25/25 [00:00<00:00, 45729.44it/s]
100%|██████████| 25/25 [00:00<00:00, 44506.62it/s]
100%|██████████| 25/25 [00:00<00:00, 39809.26it/s]
100%|██████████| 25/25 [00:00<00:00, 8968.32it/s]
100%|██████████| 25/25 [00:00<00:00, 23967.45it/s]
100%|██████████| 25/25 [00:00<00:00, 72666.39it/s]
100%|██████████| 25/25 [00:00<00:00, 73481.15it/s]
100%|██████████| 25/25 [00:00<00:00, 42418.12it/s]
100%|██████████| 25/25 [00:00<00:00, 49461.13it/s]
100%|██████████| 25/25 [00:00<00:00, 1978.86it/s]
100%|██████████| 25/25 [00:00<00:00, 53119.35it/s]
100%|██████████| 25/25 [00:00<00:00, 67475.93it/s]
100%|██████████| 25/25 [00:00<00:00, 52376.42it/s]
100%|██████████| 25/25 [00:00<00:00, 103206.30it/s]
100%|██████████| 25/25 [00:00<00:00, 102902.45it/s]
100%|██████████| 25/25 [00:00<00:00, 69672.82it/s]
100%|██████████| 25/25 [00:00<00:00, 106131.17it/s]
100%|██████████| 25/25 [00:00<00:00, 70801.89it/s]
100%|██████████| 25/25 [00:00<00:00, 100727.76it/s]
100%|██████████| 25/25 [00:00<00:00, 72365.49it/s]
100%|██████████| 25/25 [00:00<00:00, 106238.70it/s]
100%|██████████| 25/25 [00:00<00:00, 112027.35it/s]
100%|██████████| 25/25 [00:00<00:00, 19127.62it/s]
100%|██████████| 25/25 [00:00<00:00, 103511.94it/s]
100%|██████████| 25/25 [00:00<00:00, 78486.23it/s]
100%|██████████| 25/25 [00:00<00:00, 16409.64it/s]
100%|██████████| 25/25 [00:00<00:00, 63396.37it/s]
100%|██████████| 25/25 [00:00<00:00, 53690.53it/s]
100%|██████████| 25/25 [00:00<00:00, 90628.87it/s]
100%|██████████| 25/25 [00:00<00:00, 109798.53it/s]
100%|██████████| 25/25 [00:00<00:00, 113605.20it/s]
100%|██████████| 25/25 [00:00<00:00, 105067.74it/s]
100%|██████████| 25/25 [00:00<00:00, 98181.27it/s]
100%|██████████| 25/25 [00:00<00:00, 73326.99it/s]
100%|██████████| 25/25 [00:00<00:00, 73071.50it/s]
100%|██████████| 25/25 [00:00<00:00, 107656.67it/s]
100%|██████████| 25/25 [00:00<00:00, 82956.96it/s]
100%|██████████| 25/25 [00:00<00:00, 71820.27it/s]
100%|██████████| 25/25 [00:00<00:00, 72969.80it/s]
100%|██████████| 25/25 [00:00<00:00, 116250.11it/s]
100%|██████████| 25/25 [00:00<00:00, 82891.38it/s]
100%|██████████| 25/25 [00:00<00:00, 103409.86it/s]
100%|██████████| 25/25 [00:00<00:00, 106023.86it/s]
100%|██████████| 25/25 [00:00<00:00, 73326.99it/s]
100%|██████████| 25/25 [00:00<00:00, 1248.04it/s]
100%|██████████| 25/25 [00:00<00:00, 99579.87it/s]
100%|██████████| 25/25 [00:00<00:00, 97451.30it/s]
100%|██████████| 25/25 [00:00<00:00, 94979.71it/s]
100%|██████████| 25/25 [00:00<00:00, 100727.76it/s]
100%|██████████| 25/25 [00:00<00:00, 97541.95it/s]
100%|██████████| 25/25 [00:00<00:00, 84767.66it/s]
100%|██████████| 25/25 [00:00<00:00, 43928.61it/s]
100%|██████████| 25/25 [00:00<00:00, 78486.23it/s]
100%|██████████| 25/25 [00:00<00:00, 57205.46it/s]
100%|██████████| 25/25 [00:00<00:00, 60999.19it/s]
sns.lineplot(x=datacontrol.time, y=list_y[30])
plt.ylim((29.5, 30.5))
plt.show()
print(f"Type of graph : {list_choice[30]}")
Type of graph : CYC
list_NOR = [i for i, item in enumerate(list_choice) if item == "NOR"]
ind = random.choice(list_NOR)
print(ind)
sns.lineplot(x=datacontrol.time, y=list_y[ind])
plt.ylim((29.5, 30.5))
plt.show()
print(f"Type of graph : {list_choice[ind]}")
7569
Type of graph : NOR
list_DT = [i for i, item in enumerate(list_choice) if item == "DT"]
ind = random.choice(list_DT)
print(ind)
sns.lineplot(x=datacontrol.time, y=list_y[ind])
plt.ylim((29.5, 30.5))
plt.show()
print(f"Type of graph : {list_choice[ind]}")
2143
Type of graph : DT
list_UT = [i for i, item in enumerate(list_choice) if item == "UT"]
ind = random.choice(list_UT)
print(ind)
sns.lineplot(x=datacontrol.time, y=list_y[ind])
plt.ylim((29.5, 30.5))
plt.show()
print(f"Type of graph : {list_choice[ind]}")
6652
Type of graph : UT
list_US = [i for i, item in enumerate(list_choice) if item == "US"]
ind = random.choice(list_US)
print(ind)
sns.lineplot(x=datacontrol.time, y=list_y[ind])
plt.ylim((29.5, 30.5))
plt.show()
print(f"Type of graph : {list_choice[ind]}")
195
Type of graph : US
list_DS = [i for i, item in enumerate(list_choice) if item == "DS"]
ind = random.choice(list_DS)
print(ind)
sns.lineplot(x=datacontrol.time, y=list_y[ind])
plt.ylim((29.5, 30.5))
plt.show()
print(f"Type of graph : {list_choice[ind]}")
1180
Type of graph : DS
list_CYC = [i for i, item in enumerate(list_choice) if item == "CYC"]
ind = random.choice(list_CYC)
print(ind)
sns.lineplot(x=datacontrol.time, y=list_y[ind])
plt.ylim((29.5, 30.5))
plt.show()
print(f"Type of graph : {list_choice[ind]}")
5095
Type of graph : CYC
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from keras.utils import to_categorical
scaler = StandardScaler()
def processing(list_y, list_choice) :
list_y = np.asarray(list_y)
list_choice = np.asarray(list_choice)
choice = pd.DataFrame({"choice" : list_choice})
choice = np.asarray(pd.get_dummies(choice))
print(choice)
list_y = scaler.fit_transform(list_y)
X_train, X_test, y_train, y_test = train_test_split(list_y, choice, random_state=42, test_size=0.2)
return X_train, X_test, y_train, y_test
X_train, X_test, y_train, y_test = processing(list_y, list_choice)
[[0 0 0 0 1 0]
[0 0 0 1 0 0]
[0 0 1 0 0 0]
...
[0 0 0 0 1 0]
[0 0 1 0 0 0]
[0 0 1 0 0 0]]
x_train = X_train.reshape((X_train.shape[0], X_train.shape[1], 1))
x_test = X_test.reshape((X_test.shape[0], X_test.shape[1], 1))
tmp = x_train[100].reshape((1,25))
sns.lineplot(x=datacontrol.time, y=tmp[0])
plt.ylim((29.5, 30.5))
plt.show()
print(f"Type of graph : {y_train[100]}")
Type of graph : [0 0 0 0 1 0]
tmp
label = ["CYC", "DS", "DT", "NOR", "US", "UT"]
from keras.models import Sequential
from keras.layers import Input, Conv1D, MaxPooling1D, Flatten, Activation, Dense
# make model
class Model :
def __init__(self, shape = 25, activation="softmax") :
self.model = Sequential()
self.model.add(Input(shape=(shape, 1)))
self.model.add(Conv1D(filters = 6, kernel_size=2))
self.model.add(MaxPooling1D(pool_size=2))
self.model.add(Conv1D(filters=12, kernel_size=9))
self.model.add(MaxPooling1D(pool_size=2))
self.model.add(Flatten())
self.model.add(Dense(units=6, activation=activation))
# self.model.add(Activation("relu"))
self.model.compile(optimizer="adam", loss="categorical_crossentropy", metrics=["accuracy"])
def fit(self, X, y) :
self.model.fit(X, y, batch_size = 30, epochs = 100, validation_split = 0.1)
model_softmax = Model()
model_softmax.fit(x_train, y_train)
Epoch 1/100
240/240 [==============================] - 2s 5ms/step - loss: 1.1501 - accuracy: 0.5618 - val_loss: 0.2802 - val_accuracy: 0.9388
Epoch 2/100
240/240 [==============================] - 1s 3ms/step - loss: 0.1938 - accuracy: 0.9599 - val_loss: 0.1149 - val_accuracy: 0.9700
Epoch 3/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0955 - accuracy: 0.9762 - val_loss: 0.0767 - val_accuracy: 0.9787
Epoch 4/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0667 - accuracy: 0.9824 - val_loss: 0.0641 - val_accuracy: 0.9787
Epoch 5/100
240/240 [==============================] - 1s 5ms/step - loss: 0.0532 - accuracy: 0.9826 - val_loss: 0.0636 - val_accuracy: 0.9712
Epoch 6/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0488 - accuracy: 0.9832 - val_loss: 0.0513 - val_accuracy: 0.9762
Epoch 7/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0452 - accuracy: 0.9844 - val_loss: 0.0530 - val_accuracy: 0.9800
Epoch 8/100
240/240 [==============================] - 1s 5ms/step - loss: 0.0440 - accuracy: 0.9839 - val_loss: 0.0467 - val_accuracy: 0.9775
Epoch 9/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0349 - accuracy: 0.9860 - val_loss: 0.0443 - val_accuracy: 0.9787
Epoch 10/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0348 - accuracy: 0.9870 - val_loss: 0.0379 - val_accuracy: 0.9825
Epoch 11/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0380 - accuracy: 0.9868 - val_loss: 0.0371 - val_accuracy: 0.9862
Epoch 12/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0358 - accuracy: 0.9869 - val_loss: 0.0402 - val_accuracy: 0.9850
Epoch 13/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0278 - accuracy: 0.9908 - val_loss: 0.0379 - val_accuracy: 0.9837
Epoch 14/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0289 - accuracy: 0.9901 - val_loss: 0.0409 - val_accuracy: 0.9837
Epoch 15/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0271 - accuracy: 0.9905 - val_loss: 0.0329 - val_accuracy: 0.9875
Epoch 16/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0314 - accuracy: 0.9884 - val_loss: 0.0321 - val_accuracy: 0.9837
Epoch 17/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0233 - accuracy: 0.9907 - val_loss: 0.0300 - val_accuracy: 0.9912
Epoch 18/100
240/240 [==============================] - 1s 5ms/step - loss: 0.0297 - accuracy: 0.9897 - val_loss: 0.0308 - val_accuracy: 0.9887
Epoch 19/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0272 - accuracy: 0.9910 - val_loss: 0.0325 - val_accuracy: 0.9875
Epoch 20/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0227 - accuracy: 0.9938 - val_loss: 0.0260 - val_accuracy: 0.9937
Epoch 21/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0241 - accuracy: 0.9912 - val_loss: 0.0265 - val_accuracy: 0.9912
Epoch 22/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0305 - accuracy: 0.9890 - val_loss: 0.0281 - val_accuracy: 0.9887
Epoch 23/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0270 - accuracy: 0.9900 - val_loss: 0.0272 - val_accuracy: 0.9875
Epoch 24/100
240/240 [==============================] - 1s 5ms/step - loss: 0.0231 - accuracy: 0.9914 - val_loss: 0.0262 - val_accuracy: 0.9900
Epoch 25/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0227 - accuracy: 0.9925 - val_loss: 0.0241 - val_accuracy: 0.9887
Epoch 26/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0222 - accuracy: 0.9907 - val_loss: 0.0345 - val_accuracy: 0.9862
Epoch 27/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0215 - accuracy: 0.9925 - val_loss: 0.0286 - val_accuracy: 0.9875
Epoch 28/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0169 - accuracy: 0.9933 - val_loss: 0.0274 - val_accuracy: 0.9887
Epoch 29/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0203 - accuracy: 0.9921 - val_loss: 0.0259 - val_accuracy: 0.9862
Epoch 30/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0181 - accuracy: 0.9941 - val_loss: 0.0334 - val_accuracy: 0.9862
Epoch 31/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0204 - accuracy: 0.9935 - val_loss: 0.0251 - val_accuracy: 0.9887
Epoch 32/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0224 - accuracy: 0.9915 - val_loss: 0.0235 - val_accuracy: 0.9887
Epoch 33/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0197 - accuracy: 0.9932 - val_loss: 0.0210 - val_accuracy: 0.9875
Epoch 34/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0172 - accuracy: 0.9938 - val_loss: 0.0217 - val_accuracy: 0.9887
Epoch 35/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0168 - accuracy: 0.9942 - val_loss: 0.0215 - val_accuracy: 0.9912
Epoch 36/100
240/240 [==============================] - 1s 5ms/step - loss: 0.0140 - accuracy: 0.9954 - val_loss: 0.0213 - val_accuracy: 0.9900
Epoch 37/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0176 - accuracy: 0.9946 - val_loss: 0.0244 - val_accuracy: 0.9912
Epoch 38/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0164 - accuracy: 0.9940 - val_loss: 0.0280 - val_accuracy: 0.9862
Epoch 39/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0149 - accuracy: 0.9943 - val_loss: 0.0217 - val_accuracy: 0.9887
Epoch 40/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0188 - accuracy: 0.9937 - val_loss: 0.0226 - val_accuracy: 0.9912
Epoch 41/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0171 - accuracy: 0.9938 - val_loss: 0.0325 - val_accuracy: 0.9850
Epoch 42/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0157 - accuracy: 0.9950 - val_loss: 0.0244 - val_accuracy: 0.9887
Epoch 43/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0128 - accuracy: 0.9956 - val_loss: 0.0235 - val_accuracy: 0.9887
Epoch 44/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0169 - accuracy: 0.9944 - val_loss: 0.0278 - val_accuracy: 0.9887
Epoch 45/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0145 - accuracy: 0.9962 - val_loss: 0.0260 - val_accuracy: 0.9862
Epoch 46/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0169 - accuracy: 0.9958 - val_loss: 0.0255 - val_accuracy: 0.9875
Epoch 47/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0138 - accuracy: 0.9953 - val_loss: 0.0282 - val_accuracy: 0.9887
Epoch 48/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0149 - accuracy: 0.9948 - val_loss: 0.0297 - val_accuracy: 0.9862
Epoch 49/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0124 - accuracy: 0.9952 - val_loss: 0.0271 - val_accuracy: 0.9912
Epoch 50/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0118 - accuracy: 0.9958 - val_loss: 0.0289 - val_accuracy: 0.9850
Epoch 51/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0115 - accuracy: 0.9957 - val_loss: 0.0259 - val_accuracy: 0.9875
Epoch 52/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0101 - accuracy: 0.9963 - val_loss: 0.0244 - val_accuracy: 0.9887
Epoch 53/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0130 - accuracy: 0.9945 - val_loss: 0.0252 - val_accuracy: 0.9875
Epoch 54/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0137 - accuracy: 0.9954 - val_loss: 0.0251 - val_accuracy: 0.9925
Epoch 55/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0119 - accuracy: 0.9953 - val_loss: 0.0284 - val_accuracy: 0.9900
Epoch 56/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0091 - accuracy: 0.9978 - val_loss: 0.0331 - val_accuracy: 0.9887
Epoch 57/100
240/240 [==============================] - 1s 5ms/step - loss: 0.0111 - accuracy: 0.9963 - val_loss: 0.0297 - val_accuracy: 0.9862
Epoch 58/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0121 - accuracy: 0.9955 - val_loss: 0.0298 - val_accuracy: 0.9887
Epoch 59/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0108 - accuracy: 0.9975 - val_loss: 0.0272 - val_accuracy: 0.9875
Epoch 60/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0118 - accuracy: 0.9959 - val_loss: 0.0306 - val_accuracy: 0.9875
Epoch 61/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0097 - accuracy: 0.9973 - val_loss: 0.0260 - val_accuracy: 0.9887
Epoch 62/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0089 - accuracy: 0.9976 - val_loss: 0.0293 - val_accuracy: 0.9875
Epoch 63/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0118 - accuracy: 0.9958 - val_loss: 0.0280 - val_accuracy: 0.9887
Epoch 64/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0106 - accuracy: 0.9966 - val_loss: 0.0328 - val_accuracy: 0.9850
Epoch 65/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0099 - accuracy: 0.9967 - val_loss: 0.0264 - val_accuracy: 0.9850
Epoch 66/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0109 - accuracy: 0.9958 - val_loss: 0.0262 - val_accuracy: 0.9900
Epoch 67/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0095 - accuracy: 0.9968 - val_loss: 0.0271 - val_accuracy: 0.9862
Epoch 68/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0076 - accuracy: 0.9981 - val_loss: 0.0267 - val_accuracy: 0.9887
Epoch 69/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0104 - accuracy: 0.9962 - val_loss: 0.0356 - val_accuracy: 0.9850
Epoch 70/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0084 - accuracy: 0.9970 - val_loss: 0.0275 - val_accuracy: 0.9875
Epoch 71/100
240/240 [==============================] - 1s 5ms/step - loss: 0.0073 - accuracy: 0.9979 - val_loss: 0.0297 - val_accuracy: 0.9850
Epoch 72/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0076 - accuracy: 0.9965 - val_loss: 0.0283 - val_accuracy: 0.9875
Epoch 73/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0061 - accuracy: 0.9982 - val_loss: 0.0344 - val_accuracy: 0.9875
Epoch 74/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0090 - accuracy: 0.9971 - val_loss: 0.0297 - val_accuracy: 0.9850
Epoch 75/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0049 - accuracy: 0.9981 - val_loss: 0.0332 - val_accuracy: 0.9837
Epoch 76/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0086 - accuracy: 0.9964 - val_loss: 0.0298 - val_accuracy: 0.9850
Epoch 77/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0074 - accuracy: 0.9970 - val_loss: 0.0395 - val_accuracy: 0.9837
Epoch 78/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0053 - accuracy: 0.9981 - val_loss: 0.0362 - val_accuracy: 0.9837
Epoch 79/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0065 - accuracy: 0.9972 - val_loss: 0.0283 - val_accuracy: 0.9862
Epoch 80/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0060 - accuracy: 0.9984 - val_loss: 0.0565 - val_accuracy: 0.9787
Epoch 81/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0088 - accuracy: 0.9959 - val_loss: 0.0372 - val_accuracy: 0.9862
Epoch 82/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0061 - accuracy: 0.9975 - val_loss: 0.0365 - val_accuracy: 0.9812
Epoch 83/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0060 - accuracy: 0.9983 - val_loss: 0.0447 - val_accuracy: 0.9850
Epoch 84/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0086 - accuracy: 0.9980 - val_loss: 0.0617 - val_accuracy: 0.9787
Epoch 85/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0068 - accuracy: 0.9977 - val_loss: 0.0372 - val_accuracy: 0.9825
Epoch 86/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0046 - accuracy: 0.9991 - val_loss: 0.0395 - val_accuracy: 0.9850
Epoch 87/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0072 - accuracy: 0.9973 - val_loss: 0.0393 - val_accuracy: 0.9825
Epoch 88/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0065 - accuracy: 0.9976 - val_loss: 0.0424 - val_accuracy: 0.9837
Epoch 89/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0080 - accuracy: 0.9975 - val_loss: 0.0451 - val_accuracy: 0.9850
Epoch 90/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0048 - accuracy: 0.9985 - val_loss: 0.0352 - val_accuracy: 0.9825
Epoch 91/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0037 - accuracy: 0.9995 - val_loss: 0.0419 - val_accuracy: 0.9850
Epoch 92/100
240/240 [==============================] - 1s 5ms/step - loss: 0.0051 - accuracy: 0.9994 - val_loss: 0.0347 - val_accuracy: 0.9862
Epoch 93/100
240/240 [==============================] - 1s 6ms/step - loss: 0.0052 - accuracy: 0.9983 - val_loss: 0.0657 - val_accuracy: 0.9787
Epoch 94/100
240/240 [==============================] - 1s 6ms/step - loss: 0.0047 - accuracy: 0.9988 - val_loss: 0.0427 - val_accuracy: 0.9825
Epoch 95/100
240/240 [==============================] - 1s 5ms/step - loss: 0.0044 - accuracy: 0.9981 - val_loss: 0.0462 - val_accuracy: 0.9837
Epoch 96/100
240/240 [==============================] - 1s 5ms/step - loss: 0.0088 - accuracy: 0.9966 - val_loss: 0.0388 - val_accuracy: 0.9825
Epoch 97/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0055 - accuracy: 0.9986 - val_loss: 0.0448 - val_accuracy: 0.9850
Epoch 98/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0051 - accuracy: 0.9987 - val_loss: 0.0414 - val_accuracy: 0.9850
Epoch 99/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0032 - accuracy: 0.9992 - val_loss: 0.0403 - val_accuracy: 0.9837
Epoch 100/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0036 - accuracy: 0.9993 - val_loss: 0.0417 - val_accuracy: 0.9837
model_sigmoid = Model(activation="sigmoid")
model_sigmoid.fit(x_train, y_train)
Epoch 1/100
240/240 [==============================] - 2s 6ms/step - loss: 1.1765 - accuracy: 0.5936 - val_loss: 0.2505 - val_accuracy: 0.9663
Epoch 2/100
240/240 [==============================] - 1s 4ms/step - loss: 0.1812 - accuracy: 0.9707 - val_loss: 0.0930 - val_accuracy: 0.9800
Epoch 3/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0739 - accuracy: 0.9852 - val_loss: 0.0621 - val_accuracy: 0.9850
Epoch 4/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0558 - accuracy: 0.9879 - val_loss: 0.0505 - val_accuracy: 0.9837
Epoch 5/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0414 - accuracy: 0.9887 - val_loss: 0.0444 - val_accuracy: 0.9837
Epoch 6/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0409 - accuracy: 0.9885 - val_loss: 0.0405 - val_accuracy: 0.9862
Epoch 7/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0342 - accuracy: 0.9889 - val_loss: 0.0400 - val_accuracy: 0.9825
Epoch 8/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0316 - accuracy: 0.9897 - val_loss: 0.0362 - val_accuracy: 0.9850
Epoch 9/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0314 - accuracy: 0.9886 - val_loss: 0.0354 - val_accuracy: 0.9862
Epoch 10/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0275 - accuracy: 0.9905 - val_loss: 0.0351 - val_accuracy: 0.9875
Epoch 11/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0223 - accuracy: 0.9930 - val_loss: 0.0333 - val_accuracy: 0.9850
Epoch 12/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0262 - accuracy: 0.9909 - val_loss: 0.0384 - val_accuracy: 0.9862
Epoch 13/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0237 - accuracy: 0.9925 - val_loss: 0.0313 - val_accuracy: 0.9875
Epoch 14/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0253 - accuracy: 0.9901 - val_loss: 0.0341 - val_accuracy: 0.9862
Epoch 15/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0222 - accuracy: 0.9926 - val_loss: 0.0343 - val_accuracy: 0.9875
Epoch 16/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0233 - accuracy: 0.9915 - val_loss: 0.0321 - val_accuracy: 0.9862
Epoch 17/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0202 - accuracy: 0.9925 - val_loss: 0.0336 - val_accuracy: 0.9850
Epoch 18/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0220 - accuracy: 0.9920 - val_loss: 0.0324 - val_accuracy: 0.9850
Epoch 19/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0232 - accuracy: 0.9919 - val_loss: 0.0355 - val_accuracy: 0.9825
Epoch 20/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0198 - accuracy: 0.9931 - val_loss: 0.0324 - val_accuracy: 0.9887
Epoch 21/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0225 - accuracy: 0.9914 - val_loss: 0.0299 - val_accuracy: 0.9850
Epoch 22/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0227 - accuracy: 0.9926 - val_loss: 0.0318 - val_accuracy: 0.9862
Epoch 23/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0181 - accuracy: 0.9943 - val_loss: 0.0322 - val_accuracy: 0.9850
Epoch 24/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0150 - accuracy: 0.9955 - val_loss: 0.0338 - val_accuracy: 0.9812
Epoch 25/100
240/240 [==============================] - 1s 5ms/step - loss: 0.0173 - accuracy: 0.9930 - val_loss: 0.0294 - val_accuracy: 0.9887
Epoch 26/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0136 - accuracy: 0.9958 - val_loss: 0.0391 - val_accuracy: 0.9825
Epoch 27/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0152 - accuracy: 0.9952 - val_loss: 0.0294 - val_accuracy: 0.9887
Epoch 28/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0150 - accuracy: 0.9952 - val_loss: 0.0287 - val_accuracy: 0.9862
Epoch 29/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0171 - accuracy: 0.9929 - val_loss: 0.0356 - val_accuracy: 0.9837
Epoch 30/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0152 - accuracy: 0.9943 - val_loss: 0.0277 - val_accuracy: 0.9862
Epoch 31/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0120 - accuracy: 0.9966 - val_loss: 0.0294 - val_accuracy: 0.9862
Epoch 32/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0160 - accuracy: 0.9951 - val_loss: 0.0318 - val_accuracy: 0.9862
Epoch 33/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0140 - accuracy: 0.9948 - val_loss: 0.0299 - val_accuracy: 0.9837
Epoch 34/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0145 - accuracy: 0.9944 - val_loss: 0.0389 - val_accuracy: 0.9837
Epoch 35/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0183 - accuracy: 0.9945 - val_loss: 0.0294 - val_accuracy: 0.9887
Epoch 36/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0132 - accuracy: 0.9958 - val_loss: 0.0342 - val_accuracy: 0.9825
Epoch 37/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0119 - accuracy: 0.9952 - val_loss: 0.0279 - val_accuracy: 0.9862
Epoch 38/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0095 - accuracy: 0.9971 - val_loss: 0.0285 - val_accuracy: 0.9862
Epoch 39/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0121 - accuracy: 0.9954 - val_loss: 0.0313 - val_accuracy: 0.9850
Epoch 40/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0105 - accuracy: 0.9961 - val_loss: 0.0289 - val_accuracy: 0.9862
Epoch 41/100
240/240 [==============================] - 1s 4ms/step - loss: 0.0108 - accuracy: 0.9962 - val_loss: 0.0364 - val_accuracy: 0.9825
Epoch 42/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0134 - accuracy: 0.9947 - val_loss: 0.0284 - val_accuracy: 0.9862
Epoch 43/100
240/240 [==============================] - 1s 2ms/step - loss: 0.0124 - accuracy: 0.9962 - val_loss: 0.0281 - val_accuracy: 0.9837
Epoch 44/100
240/240 [==============================] - 1s 2ms/step - loss: 0.0105 - accuracy: 0.9967 - val_loss: 0.0309 - val_accuracy: 0.9875
Epoch 45/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0125 - accuracy: 0.9957 - val_loss: 0.0254 - val_accuracy: 0.9862
Epoch 46/100
240/240 [==============================] - 1s 2ms/step - loss: 0.0103 - accuracy: 0.9964 - val_loss: 0.0302 - val_accuracy: 0.9862
Epoch 47/100
240/240 [==============================] - 0s 2ms/step - loss: 0.0095 - accuracy: 0.9966 - val_loss: 0.0317 - val_accuracy: 0.9875
Epoch 48/100
240/240 [==============================] - 1s 2ms/step - loss: 0.0107 - accuracy: 0.9959 - val_loss: 0.0272 - val_accuracy: 0.9875
Epoch 49/100
240/240 [==============================] - 0s 2ms/step - loss: 0.0082 - accuracy: 0.9979 - val_loss: 0.0280 - val_accuracy: 0.9862
Epoch 50/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0091 - accuracy: 0.9973 - val_loss: 0.0259 - val_accuracy: 0.9875
Epoch 51/100
240/240 [==============================] - 0s 2ms/step - loss: 0.0098 - accuracy: 0.9960 - val_loss: 0.0302 - val_accuracy: 0.9875
Epoch 52/100
240/240 [==============================] - 1s 2ms/step - loss: 0.0071 - accuracy: 0.9980 - val_loss: 0.0288 - val_accuracy: 0.9875
Epoch 53/100
240/240 [==============================] - 0s 2ms/step - loss: 0.0093 - accuracy: 0.9978 - val_loss: 0.0289 - val_accuracy: 0.9887
Epoch 54/100
240/240 [==============================] - 1s 2ms/step - loss: 0.0073 - accuracy: 0.9978 - val_loss: 0.0285 - val_accuracy: 0.9875
Epoch 55/100
240/240 [==============================] - 0s 2ms/step - loss: 0.0074 - accuracy: 0.9978 - val_loss: 0.0284 - val_accuracy: 0.9875
Epoch 56/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0070 - accuracy: 0.9979 - val_loss: 0.0342 - val_accuracy: 0.9862
Epoch 57/100
240/240 [==============================] - 0s 2ms/step - loss: 0.0080 - accuracy: 0.9975 - val_loss: 0.0322 - val_accuracy: 0.9875
Epoch 58/100
240/240 [==============================] - 1s 2ms/step - loss: 0.0078 - accuracy: 0.9978 - val_loss: 0.0272 - val_accuracy: 0.9862
Epoch 59/100
240/240 [==============================] - 1s 2ms/step - loss: 0.0072 - accuracy: 0.9983 - val_loss: 0.0287 - val_accuracy: 0.9887
Epoch 60/100
240/240 [==============================] - 1s 2ms/step - loss: 0.0071 - accuracy: 0.9983 - val_loss: 0.0285 - val_accuracy: 0.9875
Epoch 61/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0071 - accuracy: 0.9976 - val_loss: 0.0256 - val_accuracy: 0.9875
Epoch 62/100
240/240 [==============================] - 1s 2ms/step - loss: 0.0072 - accuracy: 0.9982 - val_loss: 0.0264 - val_accuracy: 0.9875
Epoch 63/100
240/240 [==============================] - 1s 2ms/step - loss: 0.0064 - accuracy: 0.9978 - val_loss: 0.0363 - val_accuracy: 0.9850
Epoch 64/100
240/240 [==============================] - 1s 2ms/step - loss: 0.0071 - accuracy: 0.9978 - val_loss: 0.0425 - val_accuracy: 0.9850
Epoch 65/100
240/240 [==============================] - 0s 2ms/step - loss: 0.0063 - accuracy: 0.9978 - val_loss: 0.0358 - val_accuracy: 0.9862
Epoch 66/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0087 - accuracy: 0.9964 - val_loss: 0.0282 - val_accuracy: 0.9862
Epoch 67/100
240/240 [==============================] - 1s 2ms/step - loss: 0.0060 - accuracy: 0.9980 - val_loss: 0.0309 - val_accuracy: 0.9850
Epoch 68/100
240/240 [==============================] - 0s 2ms/step - loss: 0.0050 - accuracy: 0.9982 - val_loss: 0.0320 - val_accuracy: 0.9887
Epoch 69/100
240/240 [==============================] - 0s 2ms/step - loss: 0.0054 - accuracy: 0.9980 - val_loss: 0.0304 - val_accuracy: 0.9887
Epoch 70/100
240/240 [==============================] - 0s 2ms/step - loss: 0.0059 - accuracy: 0.9988 - val_loss: 0.0313 - val_accuracy: 0.9887
Epoch 71/100
240/240 [==============================] - 1s 2ms/step - loss: 0.0046 - accuracy: 0.9984 - val_loss: 0.0294 - val_accuracy: 0.9875
Epoch 72/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0054 - accuracy: 0.9985 - val_loss: 0.0349 - val_accuracy: 0.9862
Epoch 73/100
240/240 [==============================] - 0s 2ms/step - loss: 0.0059 - accuracy: 0.9978 - val_loss: 0.0402 - val_accuracy: 0.9862
Epoch 74/100
240/240 [==============================] - 1s 2ms/step - loss: 0.0070 - accuracy: 0.9982 - val_loss: 0.0261 - val_accuracy: 0.9875
Epoch 75/100
240/240 [==============================] - 1s 2ms/step - loss: 0.0055 - accuracy: 0.9987 - val_loss: 0.0266 - val_accuracy: 0.9887
Epoch 76/100
240/240 [==============================] - 1s 2ms/step - loss: 0.0046 - accuracy: 0.9992 - val_loss: 0.0308 - val_accuracy: 0.9875
Epoch 77/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0040 - accuracy: 0.9995 - val_loss: 0.0277 - val_accuracy: 0.9887
Epoch 78/100
240/240 [==============================] - 0s 2ms/step - loss: 0.0031 - accuracy: 0.9999 - val_loss: 0.0372 - val_accuracy: 0.9862
Epoch 79/100
240/240 [==============================] - 1s 2ms/step - loss: 0.0045 - accuracy: 0.9984 - val_loss: 0.0288 - val_accuracy: 0.9862
Epoch 80/100
240/240 [==============================] - 0s 2ms/step - loss: 0.0032 - accuracy: 0.9998 - val_loss: 0.0287 - val_accuracy: 0.9887
Epoch 81/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0034 - accuracy: 0.9991 - val_loss: 0.0288 - val_accuracy: 0.9900
Epoch 82/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0041 - accuracy: 0.9988 - val_loss: 0.0370 - val_accuracy: 0.9862
Epoch 83/100
240/240 [==============================] - 0s 2ms/step - loss: 0.0048 - accuracy: 0.9986 - val_loss: 0.0317 - val_accuracy: 0.9875
Epoch 84/100
240/240 [==============================] - 1s 2ms/step - loss: 0.0032 - accuracy: 0.9990 - val_loss: 0.0333 - val_accuracy: 0.9887
Epoch 85/100
240/240 [==============================] - 0s 2ms/step - loss: 0.0052 - accuracy: 0.9978 - val_loss: 0.0317 - val_accuracy: 0.9900
Epoch 86/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0044 - accuracy: 0.9987 - val_loss: 0.0332 - val_accuracy: 0.9862
Epoch 87/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0036 - accuracy: 0.9991 - val_loss: 0.0302 - val_accuracy: 0.9875
Epoch 88/100
240/240 [==============================] - 1s 2ms/step - loss: 0.0025 - accuracy: 0.9995 - val_loss: 0.0273 - val_accuracy: 0.9887
Epoch 89/100
240/240 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 1.0000 - val_loss: 0.0285 - val_accuracy: 0.9887
Epoch 90/100
240/240 [==============================] - 1s 2ms/step - loss: 0.0031 - accuracy: 0.9988 - val_loss: 0.0346 - val_accuracy: 0.9875
Epoch 91/100
240/240 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9999 - val_loss: 0.0266 - val_accuracy: 0.9900
Epoch 92/100
240/240 [==============================] - 1s 2ms/step - loss: 0.0018 - accuracy: 0.9998 - val_loss: 0.0312 - val_accuracy: 0.9875
Epoch 93/100
240/240 [==============================] - 1s 2ms/step - loss: 0.0020 - accuracy: 1.0000 - val_loss: 0.0297 - val_accuracy: 0.9875
Epoch 94/100
240/240 [==============================] - 0s 2ms/step - loss: 0.0013 - accuracy: 1.0000 - val_loss: 0.0273 - val_accuracy: 0.9900
Epoch 95/100
240/240 [==============================] - 0s 2ms/step - loss: 0.0053 - accuracy: 0.9981 - val_loss: 0.0332 - val_accuracy: 0.9887
Epoch 96/100
240/240 [==============================] - 1s 2ms/step - loss: 0.0019 - accuracy: 0.9997 - val_loss: 0.0298 - val_accuracy: 0.9887
Epoch 97/100
240/240 [==============================] - 1s 2ms/step - loss: 0.0045 - accuracy: 0.9983 - val_loss: 0.0313 - val_accuracy: 0.9900
Epoch 98/100
240/240 [==============================] - 1s 3ms/step - loss: 0.0020 - accuracy: 0.9997 - val_loss: 0.0340 - val_accuracy: 0.9862
Epoch 99/100
240/240 [==============================] - 1s 2ms/step - loss: 0.0019 - accuracy: 0.9995 - val_loss: 0.0340 - val_accuracy: 0.9850
Epoch 100/100
240/240 [==============================] - 1s 2ms/step - loss: 0.0012 - accuracy: 0.9997 - val_loss: 0.0477 - val_accuracy: 0.9850
score = model_softmax.model.evaluate(x_test, y_test, verbose=0)
print(f"score softmax : {score[1]}")
score = model_sigmoid.model.evaluate(x_test, y_test, verbose=0)
print(f"score sigmoid : {score[1]}")
score softmax : 0.987500011920929
score sigmoid : 0.9869999885559082