Library Examples - ChainoPy Vs. PyDTMC¶
[1]:
from chainopy import MarkovChain, MarkovChainNeuralNetwork, MarkovSwitchingModel
import pydtmc
from timeit import timeit
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
Initialization¶
[4]:
# Chainopy Implementation
tpm = [[0.3, 0.3, 0.4],
[0.5, 0.5, 0 ],
[ 0, 1, 0]]
x = MarkovChain(tpm, ["Rainy", "Sunny", "Cloudy"])
# PyDTMC
y = pydtmc.MarkovChain(tpm, ["Rainy", "Sunny", "Cloudy"])
[5]:
x.visualize_chain()
[11]:
# Chainopy Implementation
print(x.is_absorbing())
print(x.is_aperiodic())
print(x.is_communicating("Rainy", "Cloudy"))
print(x.is_ergodic())
print(x.is_irreducible())
print(x.is_symmetric())
print(x.fundamental_matrix())
print(x.period())
print(x.is_recurrent("Rainy"))
False
True
True
True
True
False
None
1
False
[10]:
# PyDTMC Implementation
print(y.is_absorbing)
print(y.is_aperiodic)
print(y.are_communicating(state1="Rainy", state2="Cloudy"))
print(y.is_ergodic)
print(y.is_irreducible)
print(y.is_symmetric)
print(y.fundamental_matrix)
print(y.period)
print(y.is_recurrent_state("Rainy"))
False
True
True
True
True
False
None
1
True
Runtime Comparision¶
[12]:
%%timeit
# ChainoPy Implementation
x.is_absorbing()
x.is_aperiodic()
x.is_communicating("Rainy", "Cloudy")
x.is_ergodic()
x.is_irreducible()
x.is_symmetric()
x.fundamental_matrix()
x.period()
1.21 µs ± 76.8 ns per loop (mean ± std. dev. of 7 runs, 1,000,000 loops each)
[13]:
%%timeit
# PyDTMC Implementation
y.is_absorbing
y.is_aperiodic
y.are_communicating(state1="Rainy", state2="Cloudy")
y.is_ergodic
y.is_irreducible
y.is_symmetric
y.fundamental_matrix
y.period
6.05 µs ± 273 ns per loop (mean ± std. dev. of 7 runs, 100,000 loops each)
ChainoPy is approx 5x Faster than PyDTMC¶
Simulation¶
[21]:
%%timeit
sim = x.simulate(initial_state="Rainy", n_steps=500)
11.8 ms ± 1.1 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
[22]:
%%timeit
sim_pydtmc = y.simulate(initial_state="Rainy", steps=500)
19.4 ms ± 1.49 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
[23]:
sim = x.simulate(initial_state="Rainy", n_steps=500)
plt.hist(sim)
plt.show()
[24]:
sim_pydtmc = y.simulate(initial_state="Rainy", steps=500)
plt.hist(sim_pydtmc)
plt.show()
N-Step Distribution¶
[25]:
dist_after_500_steps = x.nstep_distribution(500)
x.tpm = dist_after_500_steps
x.visualize_transition_matrix()
Model Saving¶
[26]:
x.save_model("first-save.json")
Sparisty & Model Saving¶
[27]:
t = np.zeros((3, 3))
t[0][0] = 1
t[1][2] = 1
t[2][1] = 1
[28]:
t
[28]:
array([[1., 0., 0.],
[0., 0., 1.],
[0., 1., 0.]])
[29]:
x.tpm = t
[30]:
x.save_model("second-save.json")
Load Saved Models¶
[31]:
new_object1 = MarkovChain()
new_object1.load_model("first-save.json")
[32]:
new_object1
[32]:
<Object of type MarkovChain with transition matrix [[0.35714286 0.5 0.14285714]
[0.35714286 0.5 0.14285714]
[0.35714286 0.5 0.14285714]] and states ['Rainy', 'Sunny', 'Cloudy']>
[33]:
print(new_object1.tpm)
print(new_object1.states)
print(new_object1.eigendecom)
print(new_object1.eigenvalues)
print(new_object1.eigenvectors)
[[0.35714286 0.5 0.14285714]
[0.35714286 0.5 0.14285714]
[0.35714286 0.5 0.14285714]]
['Rainy', 'Sunny', 'Cloudy']
True
[ 1. +0.j 0.33588989+0.j -0.53588989+0.j]
[[-0.57735027+0.j -0.67954784+0.j 0.27349606+0.j]
[-0.57735027+0.j 0.26228594+0.j -0.4184597 +0.j]
[-0.57735027+0.j 0.78086881+0.j 0.78086881+0.j]]
Load Sparse Models¶
[34]:
new_object2 = MarkovChain()
new_object2.load_model("second-save.json")
[35]:
new_object2
[35]:
<Object of type MarkovChain with transition matrix [[1. 0. 0.]
[0. 0. 1.]
[0. 1. 0.]] and states ['Rainy', 'Sunny', 'Cloudy']>
[36]:
print(new_object2.tpm)
print(new_object2.states)
print(new_object2.eigendecom)
print(new_object2.eigenvalues)
print(new_object2.eigenvectors)
[[1. 0. 0.]
[0. 0. 1.]
[0. 1. 0.]]
['Rainy', 'Sunny', 'Cloudy']
True
[ 1. +0.j 0.33588989+0.j -0.53588989+0.j]
[[-0.57735027+0.j -0.67954784+0.j 0.27349606+0.j]
[-0.57735027+0.j 0.26228594+0.j -0.4184597 +0.j]
[-0.57735027+0.j 0.78086881+0.j 0.78086881+0.j]]
Transform a Markov Chain to a Neural Network¶
[25]:
# Initialize a basic 2x2 Markov Chain
_markov_chain = MarkovChain(
[[0, 1],
[1, 0]],
states=["Rainy", "Sunny"],
)
model = MarkovChainNeuralNetwork(_markov_chain, num_layers=5)
model.train_model(
num_samples=30_000,
epochs=2_000,
learning_rate=0.1,
momentum=0.9,
verbose=True,
patience=500,
factor=0.5
)
Epoch: 0/2000, Loss: 0.6988
Epoch: 1/2000, Loss: 0.6986
Epoch: 2/2000, Loss: 0.6983
Epoch: 3/2000, Loss: 0.6978
Epoch: 4/2000, Loss: 0.6972
Epoch: 5/2000, Loss: 0.6966
Epoch: 6/2000, Loss: 0.6959
Epoch: 7/2000, Loss: 0.6953
Epoch: 8/2000, Loss: 0.6948
Epoch: 9/2000, Loss: 0.6943
Epoch: 10/2000, Loss: 0.6939
Epoch: 11/2000, Loss: 0.6936
Epoch: 12/2000, Loss: 0.6934
Epoch: 13/2000, Loss: 0.6932
Epoch: 14/2000, Loss: 0.6931
Epoch: 15/2000, Loss: 0.6931
Epoch: 16/2000, Loss: 0.6931
Epoch: 17/2000, Loss: 0.6931
Epoch: 18/2000, Loss: 0.6932
Epoch: 19/2000, Loss: 0.6932
Epoch: 20/2000, Loss: 0.6933
Epoch: 21/2000, Loss: 0.6933
Epoch: 22/2000, Loss: 0.6934
Epoch: 23/2000, Loss: 0.6934
Epoch: 24/2000, Loss: 0.6934
Epoch: 25/2000, Loss: 0.6934
Epoch: 26/2000, Loss: 0.6934
Epoch: 27/2000, Loss: 0.6934
Epoch: 28/2000, Loss: 0.6934
Epoch: 29/2000, Loss: 0.6934
Epoch: 30/2000, Loss: 0.6933
Epoch: 31/2000, Loss: 0.6933
Epoch: 32/2000, Loss: 0.6932
Epoch: 33/2000, Loss: 0.6932
Epoch: 34/2000, Loss: 0.6932
Epoch: 35/2000, Loss: 0.6931
Epoch: 36/2000, Loss: 0.6931
Epoch: 37/2000, Loss: 0.6931
Epoch: 38/2000, Loss: 0.6931
Epoch: 39/2000, Loss: 0.6930
Epoch: 40/2000, Loss: 0.6930
Epoch: 41/2000, Loss: 0.6930
Epoch: 42/2000, Loss: 0.6930
Epoch: 43/2000, Loss: 0.6930
Epoch: 44/2000, Loss: 0.6930
Epoch: 45/2000, Loss: 0.6930
Epoch: 46/2000, Loss: 0.6930
Epoch: 47/2000, Loss: 0.6930
Epoch: 48/2000, Loss: 0.6930
Epoch: 49/2000, Loss: 0.6930
Epoch: 50/2000, Loss: 0.6930
Epoch: 51/2000, Loss: 0.6930
Epoch: 52/2000, Loss: 0.6930
Epoch: 53/2000, Loss: 0.6930
Epoch: 54/2000, Loss: 0.6930
Epoch: 55/2000, Loss: 0.6930
Epoch: 56/2000, Loss: 0.6930
Epoch: 57/2000, Loss: 0.6930
Epoch: 58/2000, Loss: 0.6930
Epoch: 59/2000, Loss: 0.6930
Epoch: 60/2000, Loss: 0.6930
Epoch: 61/2000, Loss: 0.6930
Epoch: 62/2000, Loss: 0.6930
Epoch: 63/2000, Loss: 0.6930
Epoch: 64/2000, Loss: 0.6930
Epoch: 65/2000, Loss: 0.6929
Epoch: 66/2000, Loss: 0.6929
Epoch: 67/2000, Loss: 0.6929
Epoch: 68/2000, Loss: 0.6929
Epoch: 69/2000, Loss: 0.6929
Epoch: 70/2000, Loss: 0.6929
Epoch: 71/2000, Loss: 0.6929
Epoch: 72/2000, Loss: 0.6929
Epoch: 73/2000, Loss: 0.6929
Epoch: 74/2000, Loss: 0.6929
Epoch: 75/2000, Loss: 0.6929
Epoch: 76/2000, Loss: 0.6929
Epoch: 77/2000, Loss: 0.6929
Epoch: 78/2000, Loss: 0.6929
Epoch: 79/2000, Loss: 0.6929
Epoch: 80/2000, Loss: 0.6929
Epoch: 81/2000, Loss: 0.6928
Epoch: 82/2000, Loss: 0.6928
Epoch: 83/2000, Loss: 0.6928
Epoch: 84/2000, Loss: 0.6928
Epoch: 85/2000, Loss: 0.6928
Epoch: 86/2000, Loss: 0.6928
Epoch: 87/2000, Loss: 0.6928
Epoch: 88/2000, Loss: 0.6928
Epoch: 89/2000, Loss: 0.6928
Epoch: 90/2000, Loss: 0.6927
Epoch: 91/2000, Loss: 0.6927
Epoch: 92/2000, Loss: 0.6927
Epoch: 93/2000, Loss: 0.6927
Epoch: 94/2000, Loss: 0.6927
Epoch: 95/2000, Loss: 0.6927
Epoch: 96/2000, Loss: 0.6927
Epoch: 97/2000, Loss: 0.6926
Epoch: 98/2000, Loss: 0.6926
Epoch: 99/2000, Loss: 0.6926
Epoch: 100/2000, Loss: 0.6926
Epoch: 101/2000, Loss: 0.6926
Epoch: 102/2000, Loss: 0.6925
Epoch: 103/2000, Loss: 0.6925
Epoch: 104/2000, Loss: 0.6925
Epoch: 105/2000, Loss: 0.6925
Epoch: 106/2000, Loss: 0.6925
Epoch: 107/2000, Loss: 0.6924
Epoch: 108/2000, Loss: 0.6924
Epoch: 109/2000, Loss: 0.6924
Epoch: 110/2000, Loss: 0.6923
Epoch: 111/2000, Loss: 0.6923
Epoch: 112/2000, Loss: 0.6923
Epoch: 113/2000, Loss: 0.6922
Epoch: 114/2000, Loss: 0.6922
Epoch: 115/2000, Loss: 0.6921
Epoch: 116/2000, Loss: 0.6921
Epoch: 117/2000, Loss: 0.6920
Epoch: 118/2000, Loss: 0.6920
Epoch: 119/2000, Loss: 0.6919
Epoch: 120/2000, Loss: 0.6918
Epoch: 121/2000, Loss: 0.6918
Epoch: 122/2000, Loss: 0.6917
Epoch: 123/2000, Loss: 0.6916
Epoch: 124/2000, Loss: 0.6915
Epoch: 125/2000, Loss: 0.6914
Epoch: 126/2000, Loss: 0.6913
Epoch: 127/2000, Loss: 0.6912
Epoch: 128/2000, Loss: 0.6911
Epoch: 129/2000, Loss: 0.6910
Epoch: 130/2000, Loss: 0.6908
Epoch: 131/2000, Loss: 0.6907
Epoch: 132/2000, Loss: 0.6905
Epoch: 133/2000, Loss: 0.6903
Epoch: 134/2000, Loss: 0.6901
Epoch: 135/2000, Loss: 0.6899
Epoch: 136/2000, Loss: 0.6896
Epoch: 137/2000, Loss: 0.6894
Epoch: 138/2000, Loss: 0.6890
Epoch: 139/2000, Loss: 0.6887
Epoch: 140/2000, Loss: 0.6883
Epoch: 141/2000, Loss: 0.6879
Epoch: 142/2000, Loss: 0.6873
Epoch: 143/2000, Loss: 0.6868
Epoch: 144/2000, Loss: 0.6861
Epoch: 145/2000, Loss: 0.6854
Epoch: 146/2000, Loss: 0.6845
Epoch: 147/2000, Loss: 0.6835
Epoch: 148/2000, Loss: 0.6823
Epoch: 149/2000, Loss: 0.6809
Epoch: 150/2000, Loss: 0.6793
Epoch: 151/2000, Loss: 0.6773
Epoch: 152/2000, Loss: 0.6758
Epoch: 153/2000, Loss: 0.6742
Epoch: 154/2000, Loss: 0.6708
Epoch: 155/2000, Loss: 0.6677
Epoch: 156/2000, Loss: 0.6646
Epoch: 157/2000, Loss: 0.6605
Epoch: 158/2000, Loss: 0.6551
Epoch: 159/2000, Loss: 0.6493
Epoch: 160/2000, Loss: 0.6431
Epoch: 161/2000, Loss: 0.6344
Epoch: 162/2000, Loss: 0.6248
Epoch: 163/2000, Loss: 0.6140
Epoch: 164/2000, Loss: 0.6007
Epoch: 165/2000, Loss: 0.5867
Epoch: 166/2000, Loss: 0.5703
Epoch: 167/2000, Loss: 0.5526
Epoch: 168/2000, Loss: 0.5345
Epoch: 169/2000, Loss: 0.5161
Epoch: 170/2000, Loss: 0.4988
Epoch: 171/2000, Loss: 0.4820
Epoch: 172/2000, Loss: 0.4681
Epoch: 173/2000, Loss: 0.4550
Epoch: 174/2000, Loss: 0.4427
Epoch: 175/2000, Loss: 0.4308
Epoch: 176/2000, Loss: 0.4196
Epoch: 177/2000, Loss: 0.4091
Epoch: 178/2000, Loss: 0.3993
Epoch: 179/2000, Loss: 0.3904
Epoch: 180/2000, Loss: 0.3824
Epoch: 181/2000, Loss: 0.3752
Epoch: 182/2000, Loss: 0.3687
Epoch: 183/2000, Loss: 0.3631
Epoch: 184/2000, Loss: 0.3581
Epoch: 185/2000, Loss: 0.3537
Epoch: 186/2000, Loss: 0.3499
Epoch: 187/2000, Loss: 0.3465
Epoch: 188/2000, Loss: 0.3436
Epoch: 189/2000, Loss: 0.3410
Epoch: 190/2000, Loss: 0.3387
Epoch: 191/2000, Loss: 0.3367
Epoch: 192/2000, Loss: 0.3350
Epoch: 193/2000, Loss: 0.3334
Epoch: 194/2000, Loss: 0.3321
Epoch: 195/2000, Loss: 0.3309
Epoch: 196/2000, Loss: 0.3298
Epoch: 197/2000, Loss: 0.3288
Epoch: 198/2000, Loss: 0.3280
Epoch: 199/2000, Loss: 0.3272
Epoch: 200/2000, Loss: 0.3265
Epoch: 201/2000, Loss: 0.3259
Epoch: 202/2000, Loss: 0.3254
Epoch: 203/2000, Loss: 0.3248
Epoch: 204/2000, Loss: 0.3244
Epoch: 205/2000, Loss: 0.3240
Epoch: 206/2000, Loss: 0.3236
Epoch: 207/2000, Loss: 0.3232
Epoch: 208/2000, Loss: 0.3229
Epoch: 209/2000, Loss: 0.3226
Epoch: 210/2000, Loss: 0.3223
Epoch: 211/2000, Loss: 0.3221
Epoch: 212/2000, Loss: 0.3218
Epoch: 213/2000, Loss: 0.3216
Epoch: 214/2000, Loss: 0.3214
Epoch: 215/2000, Loss: 0.3212
Epoch: 216/2000, Loss: 0.3210
Epoch: 217/2000, Loss: 0.3209
Epoch: 218/2000, Loss: 0.3207
Epoch: 219/2000, Loss: 0.3206
Epoch: 220/2000, Loss: 0.3204
Epoch: 221/2000, Loss: 0.3203
Epoch: 222/2000, Loss: 0.3201
Epoch: 223/2000, Loss: 0.3200
Epoch: 224/2000, Loss: 0.3199
Epoch: 225/2000, Loss: 0.3198
Epoch: 226/2000, Loss: 0.3197
Epoch: 227/2000, Loss: 0.3196
Epoch: 228/2000, Loss: 0.3195
Epoch: 229/2000, Loss: 0.3194
Epoch: 230/2000, Loss: 0.3193
Epoch: 231/2000, Loss: 0.3192
Epoch: 232/2000, Loss: 0.3192
Epoch: 233/2000, Loss: 0.3191
Epoch: 234/2000, Loss: 0.3190
Epoch: 235/2000, Loss: 0.3189
Epoch: 236/2000, Loss: 0.3189
Epoch: 237/2000, Loss: 0.3188
Epoch: 238/2000, Loss: 0.3187
Epoch: 239/2000, Loss: 0.3187
Epoch: 240/2000, Loss: 0.3186
Epoch: 241/2000, Loss: 0.3185
Epoch: 242/2000, Loss: 0.3185
Epoch: 243/2000, Loss: 0.3184
Epoch: 244/2000, Loss: 0.3184
Epoch: 245/2000, Loss: 0.3183
Epoch: 246/2000, Loss: 0.3183
Epoch: 247/2000, Loss: 0.3182
Epoch: 248/2000, Loss: 0.3182
Epoch: 249/2000, Loss: 0.3181
Epoch: 250/2000, Loss: 0.3181
Epoch: 251/2000, Loss: 0.3180
Epoch: 252/2000, Loss: 0.3180
Epoch: 253/2000, Loss: 0.3179
Epoch: 254/2000, Loss: 0.3179
Epoch: 255/2000, Loss: 0.3178
Epoch: 256/2000, Loss: 0.3178
Epoch: 257/2000, Loss: 0.3178
Epoch: 258/2000, Loss: 0.3177
Epoch: 259/2000, Loss: 0.3177
Epoch: 260/2000, Loss: 0.3176
Epoch: 261/2000, Loss: 0.3176
Epoch: 262/2000, Loss: 0.3176
Epoch: 263/2000, Loss: 0.3175
Epoch: 264/2000, Loss: 0.3175
Epoch: 265/2000, Loss: 0.3175
Epoch: 266/2000, Loss: 0.3174
Epoch: 267/2000, Loss: 0.3174
Epoch: 268/2000, Loss: 0.3174
Epoch: 269/2000, Loss: 0.3173
Epoch: 270/2000, Loss: 0.3173
Epoch: 271/2000, Loss: 0.3173
Epoch: 272/2000, Loss: 0.3172
Epoch: 273/2000, Loss: 0.3172
Epoch: 274/2000, Loss: 0.3172
Epoch: 275/2000, Loss: 0.3171
Epoch: 276/2000, Loss: 0.3171
Epoch: 277/2000, Loss: 0.3171
Epoch: 278/2000, Loss: 0.3171
Epoch: 279/2000, Loss: 0.3170
Epoch: 280/2000, Loss: 0.3170
Epoch: 281/2000, Loss: 0.3170
Epoch: 282/2000, Loss: 0.3169
Epoch: 283/2000, Loss: 0.3169
Epoch: 284/2000, Loss: 0.3169
Epoch: 285/2000, Loss: 0.3169
Epoch: 286/2000, Loss: 0.3168
Epoch: 287/2000, Loss: 0.3168
Epoch: 288/2000, Loss: 0.3168
Epoch: 289/2000, Loss: 0.3168
Epoch: 290/2000, Loss: 0.3167
Epoch: 291/2000, Loss: 0.3167
Epoch: 292/2000, Loss: 0.3167
Epoch: 293/2000, Loss: 0.3167
Epoch: 294/2000, Loss: 0.3167
Epoch: 295/2000, Loss: 0.3166
Epoch: 296/2000, Loss: 0.3166
Epoch: 297/2000, Loss: 0.3166
Epoch: 298/2000, Loss: 0.3166
Epoch: 299/2000, Loss: 0.3165
Epoch: 300/2000, Loss: 0.3165
Epoch: 301/2000, Loss: 0.3165
Epoch: 302/2000, Loss: 0.3165
Epoch: 303/2000, Loss: 0.3165
Epoch: 304/2000, Loss: 0.3164
Epoch: 305/2000, Loss: 0.3164
Epoch: 306/2000, Loss: 0.3164
Epoch: 307/2000, Loss: 0.3164
Epoch: 308/2000, Loss: 0.3164
Epoch: 309/2000, Loss: 0.3164
Epoch: 310/2000, Loss: 0.3163
Epoch: 311/2000, Loss: 0.3163
Epoch: 312/2000, Loss: 0.3163
Epoch: 313/2000, Loss: 0.3163
Epoch: 314/2000, Loss: 0.3163
Epoch: 315/2000, Loss: 0.3162
Epoch: 316/2000, Loss: 0.3162
Epoch: 317/2000, Loss: 0.3162
Epoch: 318/2000, Loss: 0.3162
Epoch: 319/2000, Loss: 0.3162
Epoch: 320/2000, Loss: 0.3162
Epoch: 321/2000, Loss: 0.3161
Epoch: 322/2000, Loss: 0.3161
Epoch: 323/2000, Loss: 0.3161
Epoch: 324/2000, Loss: 0.3161
Epoch: 325/2000, Loss: 0.3161
Epoch: 326/2000, Loss: 0.3161
Epoch: 327/2000, Loss: 0.3161
Epoch: 328/2000, Loss: 0.3160
Epoch: 329/2000, Loss: 0.3160
Epoch: 330/2000, Loss: 0.3160
Epoch: 331/2000, Loss: 0.3160
Epoch: 332/2000, Loss: 0.3160
Epoch: 333/2000, Loss: 0.3160
Epoch: 334/2000, Loss: 0.3160
Epoch: 335/2000, Loss: 0.3159
Epoch: 336/2000, Loss: 0.3159
Epoch: 337/2000, Loss: 0.3159
Epoch: 338/2000, Loss: 0.3159
Epoch: 339/2000, Loss: 0.3159
Epoch: 340/2000, Loss: 0.3159
Epoch: 341/2000, Loss: 0.3159
Epoch: 342/2000, Loss: 0.3158
Epoch: 343/2000, Loss: 0.3158
Epoch: 344/2000, Loss: 0.3158
Epoch: 345/2000, Loss: 0.3158
Epoch: 346/2000, Loss: 0.3158
Epoch: 347/2000, Loss: 0.3158
Epoch: 348/2000, Loss: 0.3158
Epoch: 349/2000, Loss: 0.3158
Epoch: 350/2000, Loss: 0.3157
Epoch: 351/2000, Loss: 0.3157
Epoch: 352/2000, Loss: 0.3157
Epoch: 353/2000, Loss: 0.3157
Epoch: 354/2000, Loss: 0.3157
Epoch: 355/2000, Loss: 0.3157
Epoch: 356/2000, Loss: 0.3157
Epoch: 357/2000, Loss: 0.3157
Epoch: 358/2000, Loss: 0.3157
Epoch: 359/2000, Loss: 0.3156
Epoch: 360/2000, Loss: 0.3156
Epoch: 361/2000, Loss: 0.3156
Epoch: 362/2000, Loss: 0.3156
Epoch: 363/2000, Loss: 0.3156
Epoch: 364/2000, Loss: 0.3156
Epoch: 365/2000, Loss: 0.3156
Epoch: 366/2000, Loss: 0.3156
Epoch: 367/2000, Loss: 0.3156
Epoch: 368/2000, Loss: 0.3156
Epoch: 369/2000, Loss: 0.3155
Epoch: 370/2000, Loss: 0.3155
Epoch: 371/2000, Loss: 0.3155
Epoch: 372/2000, Loss: 0.3155
Epoch: 373/2000, Loss: 0.3155
Epoch: 374/2000, Loss: 0.3155
Epoch: 375/2000, Loss: 0.3155
Epoch: 376/2000, Loss: 0.3155
Epoch: 377/2000, Loss: 0.3155
Epoch: 378/2000, Loss: 0.3155
Epoch: 379/2000, Loss: 0.3154
Epoch: 380/2000, Loss: 0.3154
Epoch: 381/2000, Loss: 0.3154
Epoch: 382/2000, Loss: 0.3154
Epoch: 383/2000, Loss: 0.3154
Epoch: 384/2000, Loss: 0.3154
Epoch: 385/2000, Loss: 0.3154
Epoch: 386/2000, Loss: 0.3154
Epoch: 387/2000, Loss: 0.3154
Epoch: 388/2000, Loss: 0.3154
Epoch: 389/2000, Loss: 0.3154
Epoch: 390/2000, Loss: 0.3154
Epoch: 391/2000, Loss: 0.3153
Epoch: 392/2000, Loss: 0.3153
Epoch: 393/2000, Loss: 0.3153
Epoch: 394/2000, Loss: 0.3153
Epoch: 395/2000, Loss: 0.3153
Epoch: 396/2000, Loss: 0.3153
Epoch: 397/2000, Loss: 0.3153
Epoch: 398/2000, Loss: 0.3153
Epoch: 399/2000, Loss: 0.3153
Epoch: 400/2000, Loss: 0.3153
Epoch: 401/2000, Loss: 0.3153
Epoch: 402/2000, Loss: 0.3153
Epoch: 403/2000, Loss: 0.3152
Epoch: 404/2000, Loss: 0.3152
Epoch: 405/2000, Loss: 0.3152
Epoch: 406/2000, Loss: 0.3152
Epoch: 407/2000, Loss: 0.3152
Epoch: 408/2000, Loss: 0.3152
Epoch: 409/2000, Loss: 0.3152
Epoch: 410/2000, Loss: 0.3152
Epoch: 411/2000, Loss: 0.3152
Epoch: 412/2000, Loss: 0.3152
Epoch: 413/2000, Loss: 0.3152
Epoch: 414/2000, Loss: 0.3152
Epoch: 415/2000, Loss: 0.3152
Epoch: 416/2000, Loss: 0.3152
Epoch: 417/2000, Loss: 0.3151
Epoch: 418/2000, Loss: 0.3151
Epoch: 419/2000, Loss: 0.3151
Epoch: 420/2000, Loss: 0.3151
Epoch: 421/2000, Loss: 0.3151
Epoch: 422/2000, Loss: 0.3151
Epoch: 423/2000, Loss: 0.3151
Epoch: 424/2000, Loss: 0.3151
Epoch: 425/2000, Loss: 0.3151
Epoch: 426/2000, Loss: 0.3151
Epoch: 427/2000, Loss: 0.3151
Epoch: 428/2000, Loss: 0.3151
Epoch: 429/2000, Loss: 0.3151
Epoch: 430/2000, Loss: 0.3151
Epoch: 431/2000, Loss: 0.3151
Epoch: 432/2000, Loss: 0.3151
Epoch: 433/2000, Loss: 0.3150
Epoch: 434/2000, Loss: 0.3150
Epoch: 435/2000, Loss: 0.3150
Epoch: 436/2000, Loss: 0.3150
Epoch: 437/2000, Loss: 0.3150
Epoch: 438/2000, Loss: 0.3150
Epoch: 439/2000, Loss: 0.3150
Epoch: 440/2000, Loss: 0.3150
Epoch: 441/2000, Loss: 0.3150
Epoch: 442/2000, Loss: 0.3150
Epoch: 443/2000, Loss: 0.3150
Epoch: 444/2000, Loss: 0.3150
Epoch: 445/2000, Loss: 0.3150
Epoch: 446/2000, Loss: 0.3150
Epoch: 447/2000, Loss: 0.3150
Epoch: 448/2000, Loss: 0.3150
Epoch: 449/2000, Loss: 0.3150
Epoch: 450/2000, Loss: 0.3149
Epoch: 451/2000, Loss: 0.3149
Epoch: 452/2000, Loss: 0.3149
Epoch: 453/2000, Loss: 0.3149
Epoch: 454/2000, Loss: 0.3149
Epoch: 455/2000, Loss: 0.3149
Epoch: 456/2000, Loss: 0.3149
Epoch: 457/2000, Loss: 0.3149
Epoch: 458/2000, Loss: 0.3149
Epoch: 459/2000, Loss: 0.3149
Epoch: 460/2000, Loss: 0.3149
Epoch: 461/2000, Loss: 0.3149
Epoch: 462/2000, Loss: 0.3149
Epoch: 463/2000, Loss: 0.3149
Epoch: 464/2000, Loss: 0.3149
Epoch: 465/2000, Loss: 0.3149
Epoch: 466/2000, Loss: 0.3149
Epoch: 467/2000, Loss: 0.3149
Epoch: 468/2000, Loss: 0.3149
Epoch: 469/2000, Loss: 0.3149
Epoch: 470/2000, Loss: 0.3148
Epoch: 471/2000, Loss: 0.3148
Epoch: 472/2000, Loss: 0.3148
Epoch: 473/2000, Loss: 0.3148
Epoch: 474/2000, Loss: 0.3148
Epoch: 475/2000, Loss: 0.3148
Epoch: 476/2000, Loss: 0.3148
Epoch: 477/2000, Loss: 0.3148
Epoch: 478/2000, Loss: 0.3148
Epoch: 479/2000, Loss: 0.3148
Epoch: 480/2000, Loss: 0.3148
Epoch: 481/2000, Loss: 0.3148
Epoch: 482/2000, Loss: 0.3148
Epoch: 483/2000, Loss: 0.3148
Epoch: 484/2000, Loss: 0.3148
Epoch: 485/2000, Loss: 0.3148
Epoch: 486/2000, Loss: 0.3148
Epoch: 487/2000, Loss: 0.3148
Epoch: 488/2000, Loss: 0.3148
Epoch: 489/2000, Loss: 0.3148
Epoch: 490/2000, Loss: 0.3148
Epoch: 491/2000, Loss: 0.3148
Epoch: 492/2000, Loss: 0.3147
Epoch: 493/2000, Loss: 0.3147
Epoch: 494/2000, Loss: 0.3147
Epoch: 495/2000, Loss: 0.3147
Epoch: 496/2000, Loss: 0.3147
Epoch: 497/2000, Loss: 0.3147
Epoch: 498/2000, Loss: 0.3147
Epoch: 499/2000, Loss: 0.3147
Epoch: 500/2000, Loss: 0.3147
Epoch: 501/2000, Loss: 0.3147
Epoch: 502/2000, Loss: 0.3147
Epoch: 503/2000, Loss: 0.3147
Epoch: 504/2000, Loss: 0.3147
Epoch: 505/2000, Loss: 0.3147
Epoch: 506/2000, Loss: 0.3147
Epoch: 507/2000, Loss: 0.3147
Epoch: 508/2000, Loss: 0.3147
Epoch: 509/2000, Loss: 0.3147
Epoch: 510/2000, Loss: 0.3147
Epoch: 511/2000, Loss: 0.3147
Epoch: 512/2000, Loss: 0.3147
Epoch: 513/2000, Loss: 0.3147
Epoch: 514/2000, Loss: 0.3147
Epoch: 515/2000, Loss: 0.3147
Epoch: 516/2000, Loss: 0.3147
Epoch: 517/2000, Loss: 0.3147
Epoch: 518/2000, Loss: 0.3147
Epoch: 519/2000, Loss: 0.3147
Epoch: 520/2000, Loss: 0.3147
Epoch: 521/2000, Loss: 0.3147
Epoch: 522/2000, Loss: 0.3147
Epoch: 523/2000, Loss: 0.3147
Epoch: 524/2000, Loss: 0.3147
Epoch: 525/2000, Loss: 0.3147
Epoch: 526/2000, Loss: 0.3147
Epoch: 527/2000, Loss: 0.3147
Epoch: 528/2000, Loss: 0.3147
Epoch: 529/2000, Loss: 0.3147
Epoch: 530/2000, Loss: 0.3147
Epoch: 531/2000, Loss: 0.3147
Epoch: 532/2000, Loss: 0.3147
Epoch: 533/2000, Loss: 0.3147
Epoch: 534/2000, Loss: 0.3147
Epoch: 535/2000, Loss: 0.3146
Epoch: 536/2000, Loss: 0.3146
Epoch: 537/2000, Loss: 0.3146
Epoch: 538/2000, Loss: 0.3146
Epoch: 539/2000, Loss: 0.3146
Epoch: 540/2000, Loss: 0.3146
Epoch: 541/2000, Loss: 0.3146
Epoch: 542/2000, Loss: 0.3146
Epoch: 543/2000, Loss: 0.3146
Epoch: 544/2000, Loss: 0.3146
Epoch: 545/2000, Loss: 0.3146
Epoch: 546/2000, Loss: 0.3146
Epoch: 547/2000, Loss: 0.3146
Epoch: 548/2000, Loss: 0.3146
Epoch: 549/2000, Loss: 0.3146
Epoch: 550/2000, Loss: 0.3146
Epoch: 551/2000, Loss: 0.3146
Epoch: 552/2000, Loss: 0.3146
Epoch: 553/2000, Loss: 0.3146
Epoch: 554/2000, Loss: 0.3146
Epoch: 555/2000, Loss: 0.3146
Epoch: 556/2000, Loss: 0.3146
Epoch: 557/2000, Loss: 0.3146
Epoch: 558/2000, Loss: 0.3146
Epoch: 559/2000, Loss: 0.3146
Epoch: 560/2000, Loss: 0.3146
Epoch: 561/2000, Loss: 0.3146
Epoch: 562/2000, Loss: 0.3146
Epoch: 563/2000, Loss: 0.3146
Epoch: 564/2000, Loss: 0.3146
Epoch: 565/2000, Loss: 0.3146
Epoch: 566/2000, Loss: 0.3146
Epoch: 567/2000, Loss: 0.3146
Epoch: 568/2000, Loss: 0.3146
Epoch: 569/2000, Loss: 0.3146
Epoch: 570/2000, Loss: 0.3146
Epoch: 571/2000, Loss: 0.3146
Epoch: 572/2000, Loss: 0.3146
Epoch: 573/2000, Loss: 0.3146
Epoch: 574/2000, Loss: 0.3146
Epoch: 575/2000, Loss: 0.3146
Epoch: 576/2000, Loss: 0.3146
Epoch: 577/2000, Loss: 0.3146
Epoch: 578/2000, Loss: 0.3146
Epoch: 579/2000, Loss: 0.3146
Epoch: 580/2000, Loss: 0.3146
Epoch: 581/2000, Loss: 0.3146
Epoch: 582/2000, Loss: 0.3146
Epoch: 583/2000, Loss: 0.3146
Epoch: 584/2000, Loss: 0.3146
Epoch: 585/2000, Loss: 0.3146
Epoch: 586/2000, Loss: 0.3146
Epoch: 587/2000, Loss: 0.3146
Epoch: 588/2000, Loss: 0.3146
Epoch: 589/2000, Loss: 0.3146
Epoch: 590/2000, Loss: 0.3146
Epoch: 591/2000, Loss: 0.3146
Epoch: 592/2000, Loss: 0.3146
Epoch: 593/2000, Loss: 0.3146
Epoch: 594/2000, Loss: 0.3146
Epoch: 595/2000, Loss: 0.3145
Epoch: 596/2000, Loss: 0.3145
Epoch: 597/2000, Loss: 0.3145
Epoch: 598/2000, Loss: 0.3145
Epoch: 599/2000, Loss: 0.3145
Epoch: 600/2000, Loss: 0.3145
Epoch: 601/2000, Loss: 0.3145
Epoch: 602/2000, Loss: 0.3145
Epoch: 603/2000, Loss: 0.3145
Epoch: 604/2000, Loss: 0.3145
Epoch: 605/2000, Loss: 0.3145
Epoch: 606/2000, Loss: 0.3145
Epoch: 607/2000, Loss: 0.3145
Epoch: 608/2000, Loss: 0.3145
Epoch: 609/2000, Loss: 0.3145
Epoch: 610/2000, Loss: 0.3145
Epoch: 611/2000, Loss: 0.3145
Epoch: 612/2000, Loss: 0.3145
Epoch: 613/2000, Loss: 0.3145
Epoch: 614/2000, Loss: 0.3145
Epoch: 615/2000, Loss: 0.3145
Epoch: 616/2000, Loss: 0.3145
Epoch: 617/2000, Loss: 0.3145
Epoch: 618/2000, Loss: 0.3145
Epoch: 619/2000, Loss: 0.3145
Epoch: 620/2000, Loss: 0.3145
Epoch: 621/2000, Loss: 0.3145
Epoch: 622/2000, Loss: 0.3145
Epoch: 623/2000, Loss: 0.3145
Epoch: 624/2000, Loss: 0.3145
Epoch: 625/2000, Loss: 0.3145
Epoch: 626/2000, Loss: 0.3145
Epoch: 627/2000, Loss: 0.3145
Epoch: 628/2000, Loss: 0.3145
Epoch: 629/2000, Loss: 0.3145
Epoch: 630/2000, Loss: 0.3145
Epoch: 631/2000, Loss: 0.3145
Epoch: 632/2000, Loss: 0.3145
Epoch: 633/2000, Loss: 0.3145
Epoch: 634/2000, Loss: 0.3145
Epoch: 635/2000, Loss: 0.3145
Epoch: 636/2000, Loss: 0.3145
Epoch: 637/2000, Loss: 0.3145
Epoch: 638/2000, Loss: 0.3145
Epoch: 639/2000, Loss: 0.3145
Epoch: 640/2000, Loss: 0.3145
Epoch: 641/2000, Loss: 0.3145
Epoch: 642/2000, Loss: 0.3145
Epoch: 643/2000, Loss: 0.3145
Epoch: 644/2000, Loss: 0.3145
Epoch: 645/2000, Loss: 0.3145
Epoch: 646/2000, Loss: 0.3145
Epoch: 647/2000, Loss: 0.3145
Epoch: 648/2000, Loss: 0.3145
Epoch: 649/2000, Loss: 0.3145
Epoch: 650/2000, Loss: 0.3145
Epoch: 651/2000, Loss: 0.3145
Epoch: 652/2000, Loss: 0.3145
Epoch: 653/2000, Loss: 0.3145
Epoch: 654/2000, Loss: 0.3145
Epoch: 655/2000, Loss: 0.3145
Epoch: 656/2000, Loss: 0.3145
Epoch: 657/2000, Loss: 0.3145
Epoch: 658/2000, Loss: 0.3145
Epoch: 659/2000, Loss: 0.3145
Epoch: 660/2000, Loss: 0.3145
Epoch: 661/2000, Loss: 0.3145
Epoch: 662/2000, Loss: 0.3145
Epoch: 663/2000, Loss: 0.3145
Epoch: 664/2000, Loss: 0.3145
Epoch: 665/2000, Loss: 0.3144
Epoch: 666/2000, Loss: 0.3144
Epoch: 667/2000, Loss: 0.3144
Epoch: 668/2000, Loss: 0.3144
Epoch: 669/2000, Loss: 0.3144
Epoch: 670/2000, Loss: 0.3144
Epoch: 671/2000, Loss: 0.3144
Epoch: 672/2000, Loss: 0.3144
Epoch: 673/2000, Loss: 0.3144
Epoch: 674/2000, Loss: 0.3144
Epoch: 675/2000, Loss: 0.3144
Epoch: 676/2000, Loss: 0.3144
Epoch: 677/2000, Loss: 0.3144
Epoch: 678/2000, Loss: 0.3144
Epoch: 679/2000, Loss: 0.3144
Epoch: 680/2000, Loss: 0.3144
Epoch: 681/2000, Loss: 0.3144
Epoch: 682/2000, Loss: 0.3144
Epoch: 683/2000, Loss: 0.3144
Epoch: 684/2000, Loss: 0.3144
Epoch: 685/2000, Loss: 0.3144
Epoch: 686/2000, Loss: 0.3144
Epoch: 687/2000, Loss: 0.3144
Epoch: 688/2000, Loss: 0.3144
Epoch: 689/2000, Loss: 0.3144
Epoch: 690/2000, Loss: 0.3144
Epoch: 691/2000, Loss: 0.3144
Epoch: 692/2000, Loss: 0.3144
Epoch: 693/2000, Loss: 0.3144
Epoch: 694/2000, Loss: 0.3144
Epoch: 695/2000, Loss: 0.3144
Epoch: 696/2000, Loss: 0.3144
Epoch: 697/2000, Loss: 0.3144
Epoch: 698/2000, Loss: 0.3144
Epoch: 699/2000, Loss: 0.3144
Epoch: 700/2000, Loss: 0.3144
Epoch: 701/2000, Loss: 0.3144
Epoch: 702/2000, Loss: 0.3144
Epoch: 703/2000, Loss: 0.3144
Epoch: 704/2000, Loss: 0.3144
Epoch: 705/2000, Loss: 0.3144
Epoch: 706/2000, Loss: 0.3144
Epoch: 707/2000, Loss: 0.3144
Epoch: 708/2000, Loss: 0.3144
Epoch: 709/2000, Loss: 0.3144
Epoch: 710/2000, Loss: 0.3144
Epoch: 711/2000, Loss: 0.3144
Epoch: 712/2000, Loss: 0.3144
Epoch: 713/2000, Loss: 0.3144
Epoch: 714/2000, Loss: 0.3144
Epoch: 715/2000, Loss: 0.3144
Epoch: 716/2000, Loss: 0.3144
Epoch: 717/2000, Loss: 0.3144
Epoch: 718/2000, Loss: 0.3144
Epoch: 719/2000, Loss: 0.3144
Epoch: 720/2000, Loss: 0.3144
Epoch: 721/2000, Loss: 0.3144
Epoch: 722/2000, Loss: 0.3144
Epoch: 723/2000, Loss: 0.3144
Epoch: 724/2000, Loss: 0.3144
Epoch: 725/2000, Loss: 0.3144
Epoch: 726/2000, Loss: 0.3144
Epoch: 727/2000, Loss: 0.3144
Epoch: 728/2000, Loss: 0.3144
Epoch: 729/2000, Loss: 0.3144
Epoch: 730/2000, Loss: 0.3144
Epoch: 731/2000, Loss: 0.3144
Epoch: 732/2000, Loss: 0.3144
Epoch: 733/2000, Loss: 0.3144
Epoch: 734/2000, Loss: 0.3144
Epoch: 735/2000, Loss: 0.3144
Epoch: 736/2000, Loss: 0.3144
Epoch: 737/2000, Loss: 0.3144
Epoch: 738/2000, Loss: 0.3144
Epoch: 739/2000, Loss: 0.3144
Epoch: 740/2000, Loss: 0.3144
Epoch: 741/2000, Loss: 0.3144
Epoch: 742/2000, Loss: 0.3144
Epoch: 743/2000, Loss: 0.3144
Epoch: 744/2000, Loss: 0.3144
Epoch: 745/2000, Loss: 0.3144
Epoch: 746/2000, Loss: 0.3144
Epoch: 747/2000, Loss: 0.3143
Epoch: 748/2000, Loss: 0.3143
Epoch: 749/2000, Loss: 0.3143
Epoch: 750/2000, Loss: 0.3143
Epoch: 751/2000, Loss: 0.3143
Epoch: 752/2000, Loss: 0.3143
Epoch: 753/2000, Loss: 0.3143
Epoch: 754/2000, Loss: 0.3143
Epoch: 755/2000, Loss: 0.3143
Epoch: 756/2000, Loss: 0.3143
Epoch: 757/2000, Loss: 0.3143
Epoch: 758/2000, Loss: 0.3143
Epoch: 759/2000, Loss: 0.3143
Epoch: 760/2000, Loss: 0.3143
Epoch: 761/2000, Loss: 0.3143
Epoch: 762/2000, Loss: 0.3143
Epoch: 763/2000, Loss: 0.3143
Epoch: 764/2000, Loss: 0.3143
Epoch: 765/2000, Loss: 0.3143
Epoch: 766/2000, Loss: 0.3143
Epoch: 767/2000, Loss: 0.3143
Epoch: 768/2000, Loss: 0.3143
Epoch: 769/2000, Loss: 0.3143
Epoch: 770/2000, Loss: 0.3143
Epoch: 771/2000, Loss: 0.3143
Epoch: 772/2000, Loss: 0.3143
Epoch: 773/2000, Loss: 0.3143
Epoch: 774/2000, Loss: 0.3143
Epoch: 775/2000, Loss: 0.3143
Epoch: 776/2000, Loss: 0.3143
Epoch: 777/2000, Loss: 0.3143
Epoch: 778/2000, Loss: 0.3143
Epoch: 779/2000, Loss: 0.3143
Epoch: 780/2000, Loss: 0.3143
Epoch: 781/2000, Loss: 0.3143
Epoch: 782/2000, Loss: 0.3143
Epoch: 783/2000, Loss: 0.3143
Epoch: 784/2000, Loss: 0.3143
Epoch: 785/2000, Loss: 0.3143
Epoch: 786/2000, Loss: 0.3143
Epoch: 787/2000, Loss: 0.3143
Epoch: 788/2000, Loss: 0.3143
Epoch: 789/2000, Loss: 0.3143
Epoch: 790/2000, Loss: 0.3143
Epoch: 791/2000, Loss: 0.3143
Epoch: 792/2000, Loss: 0.3143
Epoch: 793/2000, Loss: 0.3143
Epoch: 794/2000, Loss: 0.3143
Epoch: 795/2000, Loss: 0.3143
Epoch: 796/2000, Loss: 0.3143
Epoch: 797/2000, Loss: 0.3143
Epoch: 798/2000, Loss: 0.3143
Epoch: 799/2000, Loss: 0.3143
Epoch: 800/2000, Loss: 0.3143
Epoch: 801/2000, Loss: 0.3143
Epoch: 802/2000, Loss: 0.3143
Epoch: 803/2000, Loss: 0.3143
Epoch: 804/2000, Loss: 0.3143
Epoch: 805/2000, Loss: 0.3143
Epoch: 806/2000, Loss: 0.3143
Epoch: 807/2000, Loss: 0.3143
Epoch: 808/2000, Loss: 0.3143
Epoch: 809/2000, Loss: 0.3143
Epoch: 810/2000, Loss: 0.3143
Epoch: 811/2000, Loss: 0.3143
Epoch: 812/2000, Loss: 0.3143
Epoch: 813/2000, Loss: 0.3143
Epoch: 814/2000, Loss: 0.3143
Epoch: 815/2000, Loss: 0.3143
Epoch: 816/2000, Loss: 0.3143
Epoch: 817/2000, Loss: 0.3143
Epoch: 818/2000, Loss: 0.3143
Epoch: 819/2000, Loss: 0.3143
Epoch: 820/2000, Loss: 0.3143
Epoch: 821/2000, Loss: 0.3143
Epoch: 822/2000, Loss: 0.3143
Epoch: 823/2000, Loss: 0.3143
Epoch: 824/2000, Loss: 0.3143
Epoch: 825/2000, Loss: 0.3143
Epoch: 826/2000, Loss: 0.3143
Epoch: 827/2000, Loss: 0.3143
Epoch: 828/2000, Loss: 0.3143
Epoch: 829/2000, Loss: 0.3143
Epoch: 830/2000, Loss: 0.3143
Epoch: 831/2000, Loss: 0.3143
Epoch: 832/2000, Loss: 0.3143
Epoch: 833/2000, Loss: 0.3143
Epoch: 834/2000, Loss: 0.3143
Epoch: 835/2000, Loss: 0.3143
Epoch: 836/2000, Loss: 0.3143
Epoch: 837/2000, Loss: 0.3143
Epoch: 838/2000, Loss: 0.3143
Epoch: 839/2000, Loss: 0.3143
Epoch: 840/2000, Loss: 0.3143
Epoch: 841/2000, Loss: 0.3143
Epoch: 842/2000, Loss: 0.3143
Epoch: 843/2000, Loss: 0.3143
Epoch: 844/2000, Loss: 0.3143
Epoch: 845/2000, Loss: 0.3143
Epoch: 846/2000, Loss: 0.3143
Epoch: 847/2000, Loss: 0.3142
Epoch: 848/2000, Loss: 0.3142
Epoch: 849/2000, Loss: 0.3142
Epoch: 850/2000, Loss: 0.3142
Epoch: 851/2000, Loss: 0.3142
Epoch: 852/2000, Loss: 0.3142
Epoch: 853/2000, Loss: 0.3142
Epoch: 854/2000, Loss: 0.3142
Epoch: 855/2000, Loss: 0.3142
Epoch: 856/2000, Loss: 0.3142
Epoch: 857/2000, Loss: 0.3142
Epoch: 858/2000, Loss: 0.3142
Epoch: 859/2000, Loss: 0.3142
Epoch: 860/2000, Loss: 0.3142
Epoch: 861/2000, Loss: 0.3142
Epoch: 862/2000, Loss: 0.3142
Epoch: 863/2000, Loss: 0.3142
Epoch: 864/2000, Loss: 0.3142
Epoch: 865/2000, Loss: 0.3142
Epoch: 866/2000, Loss: 0.3142
Epoch: 867/2000, Loss: 0.3142
Epoch: 868/2000, Loss: 0.3142
Epoch: 869/2000, Loss: 0.3142
Epoch: 870/2000, Loss: 0.3142
Epoch: 871/2000, Loss: 0.3142
Epoch: 872/2000, Loss: 0.3142
Epoch: 873/2000, Loss: 0.3142
Epoch: 874/2000, Loss: 0.3142
Epoch: 875/2000, Loss: 0.3142
Epoch: 876/2000, Loss: 0.3142
Epoch: 877/2000, Loss: 0.3142
Epoch: 878/2000, Loss: 0.3142
Epoch: 879/2000, Loss: 0.3142
Epoch: 880/2000, Loss: 0.3142
Epoch: 881/2000, Loss: 0.3142
Epoch: 882/2000, Loss: 0.3142
Epoch: 883/2000, Loss: 0.3142
Epoch: 884/2000, Loss: 0.3142
Epoch: 885/2000, Loss: 0.3142
Epoch: 886/2000, Loss: 0.3142
Epoch: 887/2000, Loss: 0.3142
Epoch: 888/2000, Loss: 0.3142
Epoch: 889/2000, Loss: 0.3142
Epoch: 890/2000, Loss: 0.3142
Epoch: 891/2000, Loss: 0.3142
Epoch: 892/2000, Loss: 0.3142
Epoch: 893/2000, Loss: 0.3142
Epoch: 894/2000, Loss: 0.3142
Epoch: 895/2000, Loss: 0.3142
Epoch: 896/2000, Loss: 0.3142
Epoch: 897/2000, Loss: 0.3142
Epoch: 898/2000, Loss: 0.3142
Epoch: 899/2000, Loss: 0.3142
Epoch: 900/2000, Loss: 0.3142
Epoch: 901/2000, Loss: 0.3142
Epoch: 902/2000, Loss: 0.3142
Epoch: 903/2000, Loss: 0.3142
Epoch: 904/2000, Loss: 0.3142
Epoch: 905/2000, Loss: 0.3142
Epoch: 906/2000, Loss: 0.3142
Epoch: 907/2000, Loss: 0.3142
Epoch: 908/2000, Loss: 0.3142
Epoch: 909/2000, Loss: 0.3142
Epoch: 910/2000, Loss: 0.3142
Epoch: 911/2000, Loss: 0.3142
Epoch: 912/2000, Loss: 0.3142
Epoch: 913/2000, Loss: 0.3142
Epoch: 914/2000, Loss: 0.3142
Epoch: 915/2000, Loss: 0.3142
Epoch: 916/2000, Loss: 0.3142
Epoch: 917/2000, Loss: 0.3142
Epoch: 918/2000, Loss: 0.3142
Epoch: 919/2000, Loss: 0.3142
Epoch: 920/2000, Loss: 0.3142
Epoch: 921/2000, Loss: 0.3142
Epoch: 922/2000, Loss: 0.3142
Epoch: 923/2000, Loss: 0.3142
Epoch: 924/2000, Loss: 0.3142
Epoch: 925/2000, Loss: 0.3142
Epoch: 926/2000, Loss: 0.3142
Epoch: 927/2000, Loss: 0.3142
Epoch: 928/2000, Loss: 0.3142
Epoch: 929/2000, Loss: 0.3142
Epoch: 930/2000, Loss: 0.3142
Epoch: 931/2000, Loss: 0.3142
Epoch: 932/2000, Loss: 0.3142
Epoch: 933/2000, Loss: 0.3142
Epoch: 934/2000, Loss: 0.3142
Epoch: 935/2000, Loss: 0.3142
Epoch: 936/2000, Loss: 0.3142
Epoch: 937/2000, Loss: 0.3142
Epoch: 938/2000, Loss: 0.3142
Epoch: 939/2000, Loss: 0.3142
Epoch: 940/2000, Loss: 0.3142
Epoch: 941/2000, Loss: 0.3142
Epoch: 942/2000, Loss: 0.3142
Epoch: 943/2000, Loss: 0.3142
Epoch: 944/2000, Loss: 0.3142
Epoch: 945/2000, Loss: 0.3142
Epoch: 946/2000, Loss: 0.3142
Epoch: 947/2000, Loss: 0.3142
Epoch: 948/2000, Loss: 0.3142
Epoch: 949/2000, Loss: 0.3142
Epoch: 950/2000, Loss: 0.3142
Epoch: 951/2000, Loss: 0.3142
Epoch: 952/2000, Loss: 0.3142
Epoch: 953/2000, Loss: 0.3142
Epoch: 954/2000, Loss: 0.3142
Epoch: 955/2000, Loss: 0.3142
Epoch: 956/2000, Loss: 0.3142
Epoch: 957/2000, Loss: 0.3142
Epoch: 958/2000, Loss: 0.3142
Epoch: 959/2000, Loss: 0.3142
Epoch: 960/2000, Loss: 0.3142
Epoch: 961/2000, Loss: 0.3142
Epoch: 962/2000, Loss: 0.3142
Epoch: 963/2000, Loss: 0.3142
Epoch: 964/2000, Loss: 0.3142
Epoch: 965/2000, Loss: 0.3142
Epoch: 966/2000, Loss: 0.3142
Epoch: 967/2000, Loss: 0.3142
Epoch: 968/2000, Loss: 0.3142
Epoch: 969/2000, Loss: 0.3141
Epoch: 970/2000, Loss: 0.3141
Epoch: 971/2000, Loss: 0.3141
Epoch: 972/2000, Loss: 0.3141
Epoch: 973/2000, Loss: 0.3141
Epoch: 974/2000, Loss: 0.3141
Epoch: 975/2000, Loss: 0.3141
Epoch: 976/2000, Loss: 0.3141
Epoch: 977/2000, Loss: 0.3141
Epoch: 978/2000, Loss: 0.3141
Epoch: 979/2000, Loss: 0.3141
Epoch: 980/2000, Loss: 0.3141
Epoch: 981/2000, Loss: 0.3141
Epoch: 982/2000, Loss: 0.3141
Epoch: 983/2000, Loss: 0.3141
Epoch: 984/2000, Loss: 0.3141
Epoch: 985/2000, Loss: 0.3141
Epoch: 986/2000, Loss: 0.3141
Epoch: 987/2000, Loss: 0.3141
Epoch: 988/2000, Loss: 0.3141
Epoch: 989/2000, Loss: 0.3141
Epoch: 990/2000, Loss: 0.3141
Epoch: 991/2000, Loss: 0.3141
Epoch: 992/2000, Loss: 0.3141
Epoch: 993/2000, Loss: 0.3141
Epoch: 994/2000, Loss: 0.3141
Epoch: 995/2000, Loss: 0.3141
Epoch: 996/2000, Loss: 0.3141
Epoch: 997/2000, Loss: 0.3141
Epoch: 998/2000, Loss: 0.3141
Epoch: 999/2000, Loss: 0.3141
Epoch: 1000/2000, Loss: 0.3141
Epoch: 1001/2000, Loss: 0.3141
Epoch: 1002/2000, Loss: 0.3141
Epoch: 1003/2000, Loss: 0.3141
Epoch: 1004/2000, Loss: 0.3141
Epoch: 1005/2000, Loss: 0.3141
Epoch: 1006/2000, Loss: 0.3141
Epoch: 1007/2000, Loss: 0.3141
Epoch: 1008/2000, Loss: 0.3141
Epoch: 1009/2000, Loss: 0.3141
Epoch: 1010/2000, Loss: 0.3141
Epoch: 1011/2000, Loss: 0.3141
Epoch: 1012/2000, Loss: 0.3141
Epoch: 1013/2000, Loss: 0.3141
Epoch: 1014/2000, Loss: 0.3141
Epoch: 1015/2000, Loss: 0.3141
Epoch: 1016/2000, Loss: 0.3141
Epoch: 1017/2000, Loss: 0.3141
Epoch: 1018/2000, Loss: 0.3141
Epoch: 1019/2000, Loss: 0.3141
Epoch: 1020/2000, Loss: 0.3141
Epoch: 1021/2000, Loss: 0.3141
Epoch: 1022/2000, Loss: 0.3141
Epoch: 1023/2000, Loss: 0.3141
Epoch: 1024/2000, Loss: 0.3141
Epoch: 1025/2000, Loss: 0.3141
Epoch: 1026/2000, Loss: 0.3141
Epoch: 1027/2000, Loss: 0.3141
Epoch: 1028/2000, Loss: 0.3141
Epoch: 1029/2000, Loss: 0.3141
Epoch: 1030/2000, Loss: 0.3141
Epoch: 1031/2000, Loss: 0.3141
Epoch: 1032/2000, Loss: 0.3141
Epoch: 1033/2000, Loss: 0.3141
Epoch: 1034/2000, Loss: 0.3141
Epoch: 1035/2000, Loss: 0.3141
Epoch: 1036/2000, Loss: 0.3141
Epoch: 1037/2000, Loss: 0.3141
Epoch: 1038/2000, Loss: 0.3141
Epoch: 1039/2000, Loss: 0.3141
Epoch: 1040/2000, Loss: 0.3141
Epoch: 1041/2000, Loss: 0.3141
Epoch: 1042/2000, Loss: 0.3141
Epoch: 1043/2000, Loss: 0.3141
Epoch: 1044/2000, Loss: 0.3141
Epoch: 1045/2000, Loss: 0.3141
Epoch: 1046/2000, Loss: 0.3141
Epoch: 1047/2000, Loss: 0.3141
Epoch: 1048/2000, Loss: 0.3141
Epoch: 1049/2000, Loss: 0.3141
Epoch: 1050/2000, Loss: 0.3141
Epoch: 1051/2000, Loss: 0.3141
Epoch: 1052/2000, Loss: 0.3141
Epoch: 1053/2000, Loss: 0.3141
Epoch: 1054/2000, Loss: 0.3141
Epoch: 1055/2000, Loss: 0.3141
Epoch: 1056/2000, Loss: 0.3141
Epoch: 1057/2000, Loss: 0.3141
Epoch: 1058/2000, Loss: 0.3141
Epoch: 1059/2000, Loss: 0.3141
Epoch: 1060/2000, Loss: 0.3141
Epoch: 1061/2000, Loss: 0.3141
Epoch: 1062/2000, Loss: 0.3141
Epoch: 1063/2000, Loss: 0.3141
Epoch: 1064/2000, Loss: 0.3141
Epoch: 1065/2000, Loss: 0.3141
Epoch: 1066/2000, Loss: 0.3141
Epoch: 1067/2000, Loss: 0.3141
Epoch: 1068/2000, Loss: 0.3141
Epoch: 1069/2000, Loss: 0.3141
Epoch: 1070/2000, Loss: 0.3141
Epoch: 1071/2000, Loss: 0.3141
Epoch: 1072/2000, Loss: 0.3141
Epoch: 1073/2000, Loss: 0.3141
Epoch: 1074/2000, Loss: 0.3141
Epoch: 1075/2000, Loss: 0.3141
Epoch: 1076/2000, Loss: 0.3141
Epoch: 1077/2000, Loss: 0.3141
Epoch: 1078/2000, Loss: 0.3141
Epoch: 1079/2000, Loss: 0.3141
Epoch: 1080/2000, Loss: 0.3141
Epoch: 1081/2000, Loss: 0.3141
Epoch: 1082/2000, Loss: 0.3141
Epoch: 1083/2000, Loss: 0.3141
Epoch: 1084/2000, Loss: 0.3141
Epoch: 1085/2000, Loss: 0.3141
Epoch: 1086/2000, Loss: 0.3141
Epoch: 1087/2000, Loss: 0.3141
Epoch: 1088/2000, Loss: 0.3141
Epoch: 1089/2000, Loss: 0.3141
Epoch: 1090/2000, Loss: 0.3141
Epoch: 1091/2000, Loss: 0.3141
Epoch: 1092/2000, Loss: 0.3141
Epoch: 1093/2000, Loss: 0.3141
Epoch: 1094/2000, Loss: 0.3141
Epoch: 1095/2000, Loss: 0.3141
Epoch: 1096/2000, Loss: 0.3141
Epoch: 1097/2000, Loss: 0.3141
Epoch: 1098/2000, Loss: 0.3141
Epoch: 1099/2000, Loss: 0.3141
Epoch: 1100/2000, Loss: 0.3141
Epoch: 1101/2000, Loss: 0.3141
Epoch: 1102/2000, Loss: 0.3141
Epoch: 1103/2000, Loss: 0.3141
Epoch: 1104/2000, Loss: 0.3141
Epoch: 1105/2000, Loss: 0.3141
Epoch: 1106/2000, Loss: 0.3141
Epoch: 1107/2000, Loss: 0.3141
Epoch: 1108/2000, Loss: 0.3141
Epoch: 1109/2000, Loss: 0.3141
Epoch: 1110/2000, Loss: 0.3141
Epoch: 1111/2000, Loss: 0.3141
Epoch: 1112/2000, Loss: 0.3141
Epoch: 1113/2000, Loss: 0.3141
Epoch: 1114/2000, Loss: 0.3141
Epoch: 1115/2000, Loss: 0.3141
Epoch: 1116/2000, Loss: 0.3141
Epoch: 1117/2000, Loss: 0.3141
Epoch: 1118/2000, Loss: 0.3141
Epoch: 1119/2000, Loss: 0.3141
Epoch: 1120/2000, Loss: 0.3141
Epoch: 1121/2000, Loss: 0.3141
Epoch: 1122/2000, Loss: 0.3141
Epoch: 1123/2000, Loss: 0.3141
Epoch: 1124/2000, Loss: 0.3141
Epoch: 1125/2000, Loss: 0.3141
Epoch: 1126/2000, Loss: 0.3141
Epoch: 1127/2000, Loss: 0.3141
Epoch: 1128/2000, Loss: 0.3141
Epoch: 1129/2000, Loss: 0.3141
Epoch: 1130/2000, Loss: 0.3141
Epoch: 1131/2000, Loss: 0.3141
Epoch: 1132/2000, Loss: 0.3141
Epoch: 1133/2000, Loss: 0.3141
Epoch: 1134/2000, Loss: 0.3141
Epoch: 1135/2000, Loss: 0.3141
Epoch: 1136/2000, Loss: 0.3141
Epoch: 1137/2000, Loss: 0.3141
Epoch: 1138/2000, Loss: 0.3141
Epoch: 1139/2000, Loss: 0.3141
Epoch: 1140/2000, Loss: 0.3141
Epoch: 1141/2000, Loss: 0.3141
Epoch: 1142/2000, Loss: 0.3141
Epoch: 1143/2000, Loss: 0.3141
Epoch: 1144/2000, Loss: 0.3141
Epoch: 1145/2000, Loss: 0.3141
Epoch: 1146/2000, Loss: 0.3141
Epoch: 1147/2000, Loss: 0.3141
Epoch: 1148/2000, Loss: 0.3141
Epoch: 1149/2000, Loss: 0.3141
Epoch: 1150/2000, Loss: 0.3141
Epoch: 1151/2000, Loss: 0.3141
Epoch: 1152/2000, Loss: 0.3141
Epoch: 1153/2000, Loss: 0.3141
Epoch: 1154/2000, Loss: 0.3141
Epoch: 1155/2000, Loss: 0.3141
Epoch: 1156/2000, Loss: 0.3141
Epoch: 1157/2000, Loss: 0.3141
Epoch: 1158/2000, Loss: 0.3141
Epoch: 1159/2000, Loss: 0.3141
Epoch: 1160/2000, Loss: 0.3141
Epoch: 1161/2000, Loss: 0.3141
Epoch: 1162/2000, Loss: 0.3141
Epoch: 1163/2000, Loss: 0.3141
Epoch: 1164/2000, Loss: 0.3141
Epoch: 1165/2000, Loss: 0.3141
Epoch: 1166/2000, Loss: 0.3141
Epoch: 1167/2000, Loss: 0.3141
Epoch: 1168/2000, Loss: 0.3141
Epoch: 1169/2000, Loss: 0.3141
Epoch: 1170/2000, Loss: 0.3141
Epoch: 1171/2000, Loss: 0.3141
Epoch: 1172/2000, Loss: 0.3141
Epoch: 1173/2000, Loss: 0.3141
Epoch: 1174/2000, Loss: 0.3141
Epoch: 1175/2000, Loss: 0.3141
Epoch: 1176/2000, Loss: 0.3141
Epoch: 1177/2000, Loss: 0.3141
Epoch: 1178/2000, Loss: 0.3141
Epoch: 1179/2000, Loss: 0.3141
Epoch: 1180/2000, Loss: 0.3141
Epoch: 1181/2000, Loss: 0.3141
Epoch: 1182/2000, Loss: 0.3141
Epoch: 1183/2000, Loss: 0.3141
Epoch: 1184/2000, Loss: 0.3141
Epoch: 1185/2000, Loss: 0.3141
Epoch: 1186/2000, Loss: 0.3141
Epoch: 1187/2000, Loss: 0.3141
Epoch: 1188/2000, Loss: 0.3141
Epoch: 1189/2000, Loss: 0.3141
Epoch: 1190/2000, Loss: 0.3141
Epoch: 1191/2000, Loss: 0.3141
Epoch: 1192/2000, Loss: 0.3141
Epoch: 1193/2000, Loss: 0.3141
Epoch: 1194/2000, Loss: 0.3141
Epoch: 1195/2000, Loss: 0.3141
Epoch: 1196/2000, Loss: 0.3141
Epoch: 1197/2000, Loss: 0.3141
Epoch: 1198/2000, Loss: 0.3141
Epoch: 1199/2000, Loss: 0.3141
Epoch: 1200/2000, Loss: 0.3141
Epoch: 1201/2000, Loss: 0.3141
Epoch: 1202/2000, Loss: 0.3141
Epoch: 1203/2000, Loss: 0.3141
Epoch: 1204/2000, Loss: 0.3141
Epoch: 1205/2000, Loss: 0.3141
Epoch: 1206/2000, Loss: 0.3141
Epoch: 1207/2000, Loss: 0.3141
Epoch: 1208/2000, Loss: 0.3141
Epoch: 1209/2000, Loss: 0.3141
Epoch: 1210/2000, Loss: 0.3141
Epoch: 1211/2000, Loss: 0.3141
Epoch: 1212/2000, Loss: 0.3141
Epoch: 1213/2000, Loss: 0.3141
Epoch: 1214/2000, Loss: 0.3141
Epoch: 1215/2000, Loss: 0.3141
Epoch: 1216/2000, Loss: 0.3141
Epoch: 1217/2000, Loss: 0.3141
Epoch: 1218/2000, Loss: 0.3141
Epoch: 1219/2000, Loss: 0.3141
Epoch: 1220/2000, Loss: 0.3141
Epoch: 1221/2000, Loss: 0.3141
Epoch: 1222/2000, Loss: 0.3141
Epoch: 1223/2000, Loss: 0.3141
Epoch: 1224/2000, Loss: 0.3141
Epoch: 1225/2000, Loss: 0.3141
Epoch: 1226/2000, Loss: 0.3141
Epoch: 1227/2000, Loss: 0.3141
Epoch: 1228/2000, Loss: 0.3141
Epoch: 1229/2000, Loss: 0.3141
Epoch: 1230/2000, Loss: 0.3141
Epoch: 1231/2000, Loss: 0.3141
Epoch: 1232/2000, Loss: 0.3141
Epoch: 1233/2000, Loss: 0.3141
Epoch: 1234/2000, Loss: 0.3141
Epoch: 1235/2000, Loss: 0.3141
Epoch: 1236/2000, Loss: 0.3141
Epoch: 1237/2000, Loss: 0.3141
Epoch: 1238/2000, Loss: 0.3141
Epoch: 1239/2000, Loss: 0.3141
Epoch: 1240/2000, Loss: 0.3140
Epoch: 1241/2000, Loss: 0.3140
Epoch: 1242/2000, Loss: 0.3140
Epoch: 1243/2000, Loss: 0.3140
Epoch: 1244/2000, Loss: 0.3140
Epoch: 1245/2000, Loss: 0.3140
Epoch: 1246/2000, Loss: 0.3140
Epoch: 1247/2000, Loss: 0.3140
Epoch: 1248/2000, Loss: 0.3140
Epoch: 1249/2000, Loss: 0.3140
Epoch: 1250/2000, Loss: 0.3140
Epoch: 1251/2000, Loss: 0.3140
Epoch: 1252/2000, Loss: 0.3140
Epoch: 1253/2000, Loss: 0.3140
Epoch: 1254/2000, Loss: 0.3140
Epoch: 1255/2000, Loss: 0.3140
Epoch: 1256/2000, Loss: 0.3140
Epoch: 1257/2000, Loss: 0.3140
Epoch: 1258/2000, Loss: 0.3140
Epoch: 1259/2000, Loss: 0.3140
Epoch: 1260/2000, Loss: 0.3140
Epoch: 1261/2000, Loss: 0.3140
Epoch: 1262/2000, Loss: 0.3140
Epoch: 1263/2000, Loss: 0.3140
Epoch: 1264/2000, Loss: 0.3140
Epoch: 1265/2000, Loss: 0.3140
Epoch: 1266/2000, Loss: 0.3140
Epoch: 1267/2000, Loss: 0.3140
Epoch: 1268/2000, Loss: 0.3140
Epoch: 1269/2000, Loss: 0.3140
Epoch: 1270/2000, Loss: 0.3140
Epoch: 1271/2000, Loss: 0.3140
Epoch: 1272/2000, Loss: 0.3140
Epoch: 1273/2000, Loss: 0.3140
Epoch: 1274/2000, Loss: 0.3140
Epoch: 1275/2000, Loss: 0.3140
Epoch: 1276/2000, Loss: 0.3140
Epoch: 1277/2000, Loss: 0.3140
Epoch: 1278/2000, Loss: 0.3140
Epoch: 1279/2000, Loss: 0.3140
Epoch: 1280/2000, Loss: 0.3140
Epoch: 1281/2000, Loss: 0.3140
Epoch: 1282/2000, Loss: 0.3140
Epoch: 1283/2000, Loss: 0.3140
Epoch: 1284/2000, Loss: 0.3140
Epoch: 1285/2000, Loss: 0.3140
Epoch: 1286/2000, Loss: 0.3140
Epoch: 1287/2000, Loss: 0.3140
Epoch: 1288/2000, Loss: 0.3140
Epoch: 1289/2000, Loss: 0.3140
Epoch: 1290/2000, Loss: 0.3140
Epoch: 1291/2000, Loss: 0.3140
Epoch: 1292/2000, Loss: 0.3140
Epoch: 1293/2000, Loss: 0.3140
Epoch: 1294/2000, Loss: 0.3140
Epoch: 1295/2000, Loss: 0.3140
Epoch: 1296/2000, Loss: 0.3140
Epoch: 1297/2000, Loss: 0.3140
Epoch: 1298/2000, Loss: 0.3140
Epoch: 1299/2000, Loss: 0.3140
Epoch: 1300/2000, Loss: 0.3140
Epoch: 1301/2000, Loss: 0.3140
Epoch: 1302/2000, Loss: 0.3140
Epoch: 1303/2000, Loss: 0.3140
Epoch: 1304/2000, Loss: 0.3140
Epoch: 1305/2000, Loss: 0.3140
Epoch: 1306/2000, Loss: 0.3140
Epoch: 1307/2000, Loss: 0.3140
Epoch: 1308/2000, Loss: 0.3140
Epoch: 1309/2000, Loss: 0.3140
Epoch: 1310/2000, Loss: 0.3140
Epoch: 1311/2000, Loss: 0.3140
Epoch: 1312/2000, Loss: 0.3140
Epoch: 1313/2000, Loss: 0.3140
Epoch: 1314/2000, Loss: 0.3140
Epoch: 1315/2000, Loss: 0.3140
Epoch: 1316/2000, Loss: 0.3140
Epoch: 1317/2000, Loss: 0.3140
Epoch: 1318/2000, Loss: 0.3140
Epoch: 1319/2000, Loss: 0.3140
Epoch: 1320/2000, Loss: 0.3140
Epoch: 1321/2000, Loss: 0.3140
Epoch: 1322/2000, Loss: 0.3140
Epoch: 1323/2000, Loss: 0.3140
Epoch: 1324/2000, Loss: 0.3140
Epoch: 1325/2000, Loss: 0.3140
Epoch: 1326/2000, Loss: 0.3140
Epoch: 1327/2000, Loss: 0.3140
Epoch: 1328/2000, Loss: 0.3140
Epoch: 1329/2000, Loss: 0.3140
Epoch: 1330/2000, Loss: 0.3140
Epoch: 1331/2000, Loss: 0.3140
Epoch: 1332/2000, Loss: 0.3140
Epoch: 1333/2000, Loss: 0.3140
Epoch: 1334/2000, Loss: 0.3140
Epoch: 1335/2000, Loss: 0.3140
Epoch: 1336/2000, Loss: 0.3140
Epoch: 1337/2000, Loss: 0.3140
Epoch: 1338/2000, Loss: 0.3140
Epoch: 1339/2000, Loss: 0.3140
Epoch: 1340/2000, Loss: 0.3140
Epoch: 1341/2000, Loss: 0.3140
Epoch: 1342/2000, Loss: 0.3140
Epoch: 1343/2000, Loss: 0.3140
Epoch: 1344/2000, Loss: 0.3140
Epoch: 1345/2000, Loss: 0.3140
Epoch: 1346/2000, Loss: 0.3140
Epoch: 1347/2000, Loss: 0.3140
Epoch: 1348/2000, Loss: 0.3140
Epoch: 1349/2000, Loss: 0.3140
Epoch: 1350/2000, Loss: 0.3140
Epoch: 1351/2000, Loss: 0.3140
Epoch: 1352/2000, Loss: 0.3140
Epoch: 1353/2000, Loss: 0.3140
Epoch: 1354/2000, Loss: 0.3140
Epoch: 1355/2000, Loss: 0.3140
Epoch: 1356/2000, Loss: 0.3140
Epoch: 1357/2000, Loss: 0.3140
Epoch: 1358/2000, Loss: 0.3140
Epoch: 1359/2000, Loss: 0.3140
Epoch: 1360/2000, Loss: 0.3140
Epoch: 1361/2000, Loss: 0.3140
Epoch: 1362/2000, Loss: 0.3140
Epoch: 1363/2000, Loss: 0.3140
Epoch: 1364/2000, Loss: 0.3140
Epoch: 1365/2000, Loss: 0.3140
Epoch: 1366/2000, Loss: 0.3140
Epoch: 1367/2000, Loss: 0.3140
Epoch: 1368/2000, Loss: 0.3140
Epoch: 1369/2000, Loss: 0.3140
Epoch: 1370/2000, Loss: 0.3140
Epoch: 1371/2000, Loss: 0.3140
Epoch: 1372/2000, Loss: 0.3140
Epoch: 1373/2000, Loss: 0.3140
Epoch: 1374/2000, Loss: 0.3140
Epoch: 1375/2000, Loss: 0.3140
Epoch: 1376/2000, Loss: 0.3140
Epoch: 1377/2000, Loss: 0.3140
Epoch: 1378/2000, Loss: 0.3140
Epoch: 1379/2000, Loss: 0.3140
Epoch: 1380/2000, Loss: 0.3140
Epoch: 1381/2000, Loss: 0.3140
Epoch: 1382/2000, Loss: 0.3140
Epoch: 1383/2000, Loss: 0.3140
Epoch: 1384/2000, Loss: 0.3140
Epoch: 1385/2000, Loss: 0.3140
Epoch: 1386/2000, Loss: 0.3140
Epoch: 1387/2000, Loss: 0.3140
Epoch: 1388/2000, Loss: 0.3140
Epoch: 1389/2000, Loss: 0.3140
Epoch: 1390/2000, Loss: 0.3140
Epoch: 1391/2000, Loss: 0.3140
Epoch: 1392/2000, Loss: 0.3140
Epoch: 1393/2000, Loss: 0.3140
Epoch: 1394/2000, Loss: 0.3140
Epoch: 1395/2000, Loss: 0.3140
Epoch: 1396/2000, Loss: 0.3140
Epoch: 1397/2000, Loss: 0.3140
Epoch: 1398/2000, Loss: 0.3140
Epoch: 1399/2000, Loss: 0.3140
Epoch: 1400/2000, Loss: 0.3140
Epoch: 1401/2000, Loss: 0.3140
Epoch: 1402/2000, Loss: 0.3140
Epoch: 1403/2000, Loss: 0.3140
Epoch: 1404/2000, Loss: 0.3140
Epoch: 1405/2000, Loss: 0.3140
Epoch: 1406/2000, Loss: 0.3140
Epoch: 1407/2000, Loss: 0.3140
Epoch: 1408/2000, Loss: 0.3140
Epoch: 1409/2000, Loss: 0.3140
Epoch: 1410/2000, Loss: 0.3140
Epoch: 1411/2000, Loss: 0.3140
Epoch: 1412/2000, Loss: 0.3140
Epoch: 1413/2000, Loss: 0.3140
Epoch: 1414/2000, Loss: 0.3140
Epoch: 1415/2000, Loss: 0.3140
Epoch: 1416/2000, Loss: 0.3140
Epoch: 1417/2000, Loss: 0.3140
Epoch: 1418/2000, Loss: 0.3140
Epoch: 1419/2000, Loss: 0.3140
Epoch: 1420/2000, Loss: 0.3140
Epoch: 1421/2000, Loss: 0.3140
Epoch: 1422/2000, Loss: 0.3140
Epoch: 1423/2000, Loss: 0.3140
Epoch: 1424/2000, Loss: 0.3140
Epoch: 1425/2000, Loss: 0.3140
Epoch: 1426/2000, Loss: 0.3140
Epoch: 1427/2000, Loss: 0.3140
Epoch: 1428/2000, Loss: 0.3140
Epoch: 1429/2000, Loss: 0.3140
Epoch: 1430/2000, Loss: 0.3140
Epoch: 1431/2000, Loss: 0.3140
Epoch: 1432/2000, Loss: 0.3140
Epoch: 1433/2000, Loss: 0.3140
Epoch: 1434/2000, Loss: 0.3140
Epoch: 1435/2000, Loss: 0.3140
Epoch: 1436/2000, Loss: 0.3140
Epoch: 1437/2000, Loss: 0.3140
Epoch: 1438/2000, Loss: 0.3140
Epoch: 1439/2000, Loss: 0.3140
Epoch: 1440/2000, Loss: 0.3140
Epoch: 1441/2000, Loss: 0.3140
Epoch: 1442/2000, Loss: 0.3140
Epoch: 1443/2000, Loss: 0.3140
Epoch: 1444/2000, Loss: 0.3140
Epoch: 1445/2000, Loss: 0.3140
Epoch: 1446/2000, Loss: 0.3140
Epoch: 1447/2000, Loss: 0.3140
Epoch: 1448/2000, Loss: 0.3140
Epoch: 1449/2000, Loss: 0.3140
Epoch: 1450/2000, Loss: 0.3140
Epoch: 1451/2000, Loss: 0.3140
Epoch: 1452/2000, Loss: 0.3140
Epoch: 1453/2000, Loss: 0.3140
Epoch: 1454/2000, Loss: 0.3140
Epoch: 1455/2000, Loss: 0.3140
Epoch: 1456/2000, Loss: 0.3140
Epoch: 1457/2000, Loss: 0.3140
Epoch: 1458/2000, Loss: 0.3140
Epoch: 1459/2000, Loss: 0.3140
Epoch: 1460/2000, Loss: 0.3140
Epoch: 1461/2000, Loss: 0.3140
Epoch: 1462/2000, Loss: 0.3140
Epoch: 1463/2000, Loss: 0.3140
Epoch: 1464/2000, Loss: 0.3140
Epoch: 1465/2000, Loss: 0.3140
Epoch: 1466/2000, Loss: 0.3140
Epoch: 1467/2000, Loss: 0.3140
Epoch: 1468/2000, Loss: 0.3140
Epoch: 1469/2000, Loss: 0.3140
Epoch: 1470/2000, Loss: 0.3140
Epoch: 1471/2000, Loss: 0.3140
Epoch: 1472/2000, Loss: 0.3140
Epoch: 1473/2000, Loss: 0.3140
Epoch: 1474/2000, Loss: 0.3140
Epoch: 1475/2000, Loss: 0.3140
Epoch: 1476/2000, Loss: 0.3140
Epoch: 1477/2000, Loss: 0.3140
Epoch: 1478/2000, Loss: 0.3140
Epoch: 1479/2000, Loss: 0.3140
Epoch: 1480/2000, Loss: 0.3140
Epoch: 1481/2000, Loss: 0.3140
Epoch: 1482/2000, Loss: 0.3140
Epoch: 1483/2000, Loss: 0.3140
Epoch: 1484/2000, Loss: 0.3140
Epoch: 1485/2000, Loss: 0.3140
Epoch: 1486/2000, Loss: 0.3140
Epoch: 1487/2000, Loss: 0.3140
Epoch: 1488/2000, Loss: 0.3140
Epoch: 1489/2000, Loss: 0.3140
Epoch: 1490/2000, Loss: 0.3140
Epoch: 1491/2000, Loss: 0.3140
Epoch: 1492/2000, Loss: 0.3140
Epoch: 1493/2000, Loss: 0.3140
Epoch: 1494/2000, Loss: 0.3140
Epoch: 1495/2000, Loss: 0.3140
Epoch: 1496/2000, Loss: 0.3140
Epoch: 1497/2000, Loss: 0.3140
Epoch: 1498/2000, Loss: 0.3140
Epoch: 1499/2000, Loss: 0.3140
Epoch: 1500/2000, Loss: 0.3140
Epoch: 1501/2000, Loss: 0.3140
Epoch: 1502/2000, Loss: 0.3140
Epoch: 1503/2000, Loss: 0.3140
Epoch: 1504/2000, Loss: 0.3140
Epoch: 1505/2000, Loss: 0.3140
Epoch: 1506/2000, Loss: 0.3140
Epoch: 1507/2000, Loss: 0.3140
Epoch: 1508/2000, Loss: 0.3140
Epoch: 1509/2000, Loss: 0.3140
Epoch: 1510/2000, Loss: 0.3140
Epoch: 1511/2000, Loss: 0.3140
Epoch: 1512/2000, Loss: 0.3140
Epoch: 1513/2000, Loss: 0.3140
Epoch: 1514/2000, Loss: 0.3140
Epoch: 1515/2000, Loss: 0.3140
Epoch: 1516/2000, Loss: 0.3140
Epoch: 1517/2000, Loss: 0.3140
Epoch: 1518/2000, Loss: 0.3140
Epoch: 1519/2000, Loss: 0.3140
Epoch: 1520/2000, Loss: 0.3140
Epoch: 1521/2000, Loss: 0.3140
Epoch: 1522/2000, Loss: 0.3140
Epoch: 1523/2000, Loss: 0.3140
Epoch: 1524/2000, Loss: 0.3140
Epoch: 1525/2000, Loss: 0.3140
Epoch: 1526/2000, Loss: 0.3140
Epoch: 1527/2000, Loss: 0.3140
Epoch: 1528/2000, Loss: 0.3140
Epoch: 1529/2000, Loss: 0.3140
Epoch: 1530/2000, Loss: 0.3140
Epoch: 1531/2000, Loss: 0.3140
Epoch: 1532/2000, Loss: 0.3140
Epoch: 1533/2000, Loss: 0.3140
Epoch: 1534/2000, Loss: 0.3140
Epoch: 1535/2000, Loss: 0.3140
Epoch: 1536/2000, Loss: 0.3140
Epoch: 1537/2000, Loss: 0.3140
Epoch: 1538/2000, Loss: 0.3140
Epoch: 1539/2000, Loss: 0.3140
Epoch: 1540/2000, Loss: 0.3140
Epoch: 1541/2000, Loss: 0.3140
Epoch: 1542/2000, Loss: 0.3140
Epoch: 1543/2000, Loss: 0.3140
Epoch: 1544/2000, Loss: 0.3140
Epoch: 1545/2000, Loss: 0.3140
Epoch: 1546/2000, Loss: 0.3140
Epoch: 1547/2000, Loss: 0.3140
Epoch: 1548/2000, Loss: 0.3140
Epoch: 1549/2000, Loss: 0.3140
Epoch: 1550/2000, Loss: 0.3140
Epoch: 1551/2000, Loss: 0.3140
Epoch: 1552/2000, Loss: 0.3140
Epoch: 1553/2000, Loss: 0.3140
Epoch: 1554/2000, Loss: 0.3140
Epoch: 1555/2000, Loss: 0.3140
Epoch: 1556/2000, Loss: 0.3140
Epoch: 1557/2000, Loss: 0.3140
Epoch: 1558/2000, Loss: 0.3140
Epoch: 1559/2000, Loss: 0.3140
Epoch: 1560/2000, Loss: 0.3140
Epoch: 1561/2000, Loss: 0.3140
Epoch: 1562/2000, Loss: 0.3140
Epoch: 1563/2000, Loss: 0.3140
Epoch: 1564/2000, Loss: 0.3140
Epoch: 1565/2000, Loss: 0.3140
Epoch: 1566/2000, Loss: 0.3140
Epoch: 1567/2000, Loss: 0.3140
Epoch: 1568/2000, Loss: 0.3140
Epoch: 1569/2000, Loss: 0.3140
Epoch: 1570/2000, Loss: 0.3140
Epoch: 1571/2000, Loss: 0.3140
Epoch: 1572/2000, Loss: 0.3140
Epoch: 1573/2000, Loss: 0.3140
Epoch: 1574/2000, Loss: 0.3140
Epoch: 1575/2000, Loss: 0.3140
Epoch: 1576/2000, Loss: 0.3140
Epoch: 1577/2000, Loss: 0.3140
Epoch: 1578/2000, Loss: 0.3140
Epoch: 1579/2000, Loss: 0.3140
Epoch: 1580/2000, Loss: 0.3140
Epoch: 1581/2000, Loss: 0.3140
Epoch: 1582/2000, Loss: 0.3140
Epoch: 1583/2000, Loss: 0.3140
Epoch: 1584/2000, Loss: 0.3140
Epoch: 1585/2000, Loss: 0.3140
Epoch: 1586/2000, Loss: 0.3140
Epoch: 1587/2000, Loss: 0.3140
Epoch: 1588/2000, Loss: 0.3140
Epoch: 1589/2000, Loss: 0.3140
Epoch: 1590/2000, Loss: 0.3140
Epoch: 1591/2000, Loss: 0.3140
Epoch: 1592/2000, Loss: 0.3140
Epoch: 1593/2000, Loss: 0.3140
Epoch: 1594/2000, Loss: 0.3140
Epoch: 1595/2000, Loss: 0.3140
Epoch: 1596/2000, Loss: 0.3140
Epoch: 1597/2000, Loss: 0.3140
Epoch: 1598/2000, Loss: 0.3140
Epoch: 1599/2000, Loss: 0.3140
Epoch: 1600/2000, Loss: 0.3140
Epoch: 1601/2000, Loss: 0.3140
Epoch: 1602/2000, Loss: 0.3140
Epoch: 1603/2000, Loss: 0.3140
Epoch: 1604/2000, Loss: 0.3140
Epoch: 1605/2000, Loss: 0.3140
Epoch: 1606/2000, Loss: 0.3140
Epoch: 1607/2000, Loss: 0.3140
Epoch: 1608/2000, Loss: 0.3140
Epoch: 1609/2000, Loss: 0.3140
Epoch: 1610/2000, Loss: 0.3140
Epoch: 1611/2000, Loss: 0.3140
Epoch: 1612/2000, Loss: 0.3140
Epoch: 1613/2000, Loss: 0.3140
Epoch: 1614/2000, Loss: 0.3140
Epoch: 1615/2000, Loss: 0.3140
Epoch: 1616/2000, Loss: 0.3140
Epoch: 1617/2000, Loss: 0.3140
Epoch: 1618/2000, Loss: 0.3140
Epoch: 1619/2000, Loss: 0.3140
Epoch: 1620/2000, Loss: 0.3140
Epoch: 1621/2000, Loss: 0.3140
Epoch: 1622/2000, Loss: 0.3140
Epoch: 1623/2000, Loss: 0.3140
Epoch: 1624/2000, Loss: 0.3140
Epoch: 1625/2000, Loss: 0.3140
Epoch: 1626/2000, Loss: 0.3140
Epoch: 1627/2000, Loss: 0.3140
Epoch: 1628/2000, Loss: 0.3140
Epoch: 1629/2000, Loss: 0.3140
Epoch: 1630/2000, Loss: 0.3140
Epoch: 1631/2000, Loss: 0.3140
Epoch: 1632/2000, Loss: 0.3140
Epoch: 1633/2000, Loss: 0.3140
Epoch: 1634/2000, Loss: 0.3140
Epoch: 1635/2000, Loss: 0.3140
Epoch: 1636/2000, Loss: 0.3140
Epoch: 1637/2000, Loss: 0.3140
Epoch: 1638/2000, Loss: 0.3140
Epoch: 1639/2000, Loss: 0.3140
Epoch: 1640/2000, Loss: 0.3140
Epoch: 1641/2000, Loss: 0.3140
Epoch: 1642/2000, Loss: 0.3140
Epoch: 1643/2000, Loss: 0.3140
Epoch: 1644/2000, Loss: 0.3140
Epoch: 1645/2000, Loss: 0.3140
Epoch: 1646/2000, Loss: 0.3140
Epoch: 1647/2000, Loss: 0.3140
Epoch: 1648/2000, Loss: 0.3140
Epoch: 1649/2000, Loss: 0.3140
Epoch: 1650/2000, Loss: 0.3140
Epoch: 1651/2000, Loss: 0.3140
Epoch: 1652/2000, Loss: 0.3140
Epoch: 1653/2000, Loss: 0.3140
Epoch: 1654/2000, Loss: 0.3140
Epoch: 1655/2000, Loss: 0.3140
Epoch: 1656/2000, Loss: 0.3140
Epoch: 1657/2000, Loss: 0.3140
Epoch: 1658/2000, Loss: 0.3140
Epoch: 1659/2000, Loss: 0.3140
Epoch: 1660/2000, Loss: 0.3140
Epoch: 1661/2000, Loss: 0.3140
Epoch: 1662/2000, Loss: 0.3140
Epoch: 1663/2000, Loss: 0.3140
Epoch: 1664/2000, Loss: 0.3140
Epoch: 1665/2000, Loss: 0.3140
Epoch: 1666/2000, Loss: 0.3140
Epoch: 1667/2000, Loss: 0.3140
Epoch: 1668/2000, Loss: 0.3140
Epoch: 1669/2000, Loss: 0.3140
Epoch: 1670/2000, Loss: 0.3140
Epoch: 1671/2000, Loss: 0.3140
Epoch: 1672/2000, Loss: 0.3140
Epoch: 1673/2000, Loss: 0.3140
Epoch: 1674/2000, Loss: 0.3140
Epoch: 1675/2000, Loss: 0.3140
Epoch: 1676/2000, Loss: 0.3140
Epoch: 1677/2000, Loss: 0.3140
Epoch: 1678/2000, Loss: 0.3140
Epoch: 1679/2000, Loss: 0.3140
Epoch: 1680/2000, Loss: 0.3140
Epoch: 1681/2000, Loss: 0.3140
Epoch: 1682/2000, Loss: 0.3140
Epoch: 1683/2000, Loss: 0.3140
Epoch: 1684/2000, Loss: 0.3140
Epoch: 1685/2000, Loss: 0.3140
Epoch: 1686/2000, Loss: 0.3140
Epoch: 1687/2000, Loss: 0.3140
Epoch: 1688/2000, Loss: 0.3140
Epoch: 1689/2000, Loss: 0.3140
Epoch: 1690/2000, Loss: 0.3140
Epoch: 1691/2000, Loss: 0.3140
Epoch: 1692/2000, Loss: 0.3140
Epoch: 1693/2000, Loss: 0.3140
Epoch: 1694/2000, Loss: 0.3140
Epoch: 1695/2000, Loss: 0.3140
Epoch: 1696/2000, Loss: 0.3140
Epoch: 1697/2000, Loss: 0.3140
Epoch: 1698/2000, Loss: 0.3140
Epoch: 1699/2000, Loss: 0.3140
Epoch: 1700/2000, Loss: 0.3140
Epoch: 1701/2000, Loss: 0.3140
Epoch: 1702/2000, Loss: 0.3140
Epoch: 1703/2000, Loss: 0.3140
Epoch: 1704/2000, Loss: 0.3140
Epoch: 1705/2000, Loss: 0.3140
Epoch: 1706/2000, Loss: 0.3140
Epoch: 1707/2000, Loss: 0.3140
Epoch: 1708/2000, Loss: 0.3140
Epoch: 1709/2000, Loss: 0.3140
Epoch: 1710/2000, Loss: 0.3140
Epoch: 1711/2000, Loss: 0.3140
Epoch: 1712/2000, Loss: 0.3140
Epoch: 1713/2000, Loss: 0.3140
Epoch: 1714/2000, Loss: 0.3140
Epoch: 1715/2000, Loss: 0.3140
Epoch: 1716/2000, Loss: 0.3140
Epoch: 1717/2000, Loss: 0.3140
Epoch: 1718/2000, Loss: 0.3140
Epoch: 1719/2000, Loss: 0.3140
Epoch: 1720/2000, Loss: 0.3140
Epoch: 1721/2000, Loss: 0.3140
Epoch: 1722/2000, Loss: 0.3140
Epoch: 1723/2000, Loss: 0.3140
Epoch: 1724/2000, Loss: 0.3140
Epoch: 1725/2000, Loss: 0.3140
Epoch: 1726/2000, Loss: 0.3140
Epoch: 1727/2000, Loss: 0.3140
Epoch: 1728/2000, Loss: 0.3140
Epoch: 1729/2000, Loss: 0.3140
Epoch: 1730/2000, Loss: 0.3140
Epoch: 1731/2000, Loss: 0.3140
Epoch: 1732/2000, Loss: 0.3140
Epoch: 1733/2000, Loss: 0.3140
Epoch: 1734/2000, Loss: 0.3140
Epoch: 1735/2000, Loss: 0.3140
Epoch: 1736/2000, Loss: 0.3140
Epoch: 1737/2000, Loss: 0.3140
Epoch: 1738/2000, Loss: 0.3140
Epoch: 1739/2000, Loss: 0.3140
Epoch: 1740/2000, Loss: 0.3140
Epoch: 1741/2000, Loss: 0.3140
Epoch: 1742/2000, Loss: 0.3140
Epoch: 1743/2000, Loss: 0.3140
Epoch: 1744/2000, Loss: 0.3140
Epoch: 1745/2000, Loss: 0.3140
Epoch: 1746/2000, Loss: 0.3140
Epoch: 1747/2000, Loss: 0.3140
Epoch: 1748/2000, Loss: 0.3140
Epoch: 1749/2000, Loss: 0.3140
Epoch: 1750/2000, Loss: 0.3140
Epoch: 1751/2000, Loss: 0.3140
Epoch: 1752/2000, Loss: 0.3140
Epoch: 1753/2000, Loss: 0.3140
Epoch: 1754/2000, Loss: 0.3140
Epoch: 1755/2000, Loss: 0.3140
Epoch: 1756/2000, Loss: 0.3140
Epoch: 1757/2000, Loss: 0.3140
Epoch: 1758/2000, Loss: 0.3140
Epoch: 1759/2000, Loss: 0.3140
Epoch: 1760/2000, Loss: 0.3140
Epoch: 1761/2000, Loss: 0.3140
Epoch: 1762/2000, Loss: 0.3140
Epoch: 1763/2000, Loss: 0.3140
Epoch: 1764/2000, Loss: 0.3140
Epoch: 1765/2000, Loss: 0.3139
Epoch: 1766/2000, Loss: 0.3139
Epoch: 1767/2000, Loss: 0.3139
Epoch: 1768/2000, Loss: 0.3139
Epoch: 1769/2000, Loss: 0.3139
Epoch: 1770/2000, Loss: 0.3139
Epoch: 1771/2000, Loss: 0.3139
Epoch: 1772/2000, Loss: 0.3139
Epoch: 1773/2000, Loss: 0.3139
Epoch: 1774/2000, Loss: 0.3139
Epoch: 1775/2000, Loss: 0.3139
Epoch: 1776/2000, Loss: 0.3139
Epoch: 1777/2000, Loss: 0.3139
Epoch: 1778/2000, Loss: 0.3139
Epoch: 1779/2000, Loss: 0.3139
Epoch: 1780/2000, Loss: 0.3139
Epoch: 1781/2000, Loss: 0.3139
Epoch: 1782/2000, Loss: 0.3139
Epoch: 1783/2000, Loss: 0.3139
Epoch: 1784/2000, Loss: 0.3139
Epoch: 1785/2000, Loss: 0.3139
Epoch: 1786/2000, Loss: 0.3139
Epoch: 1787/2000, Loss: 0.3139
Epoch: 1788/2000, Loss: 0.3139
Epoch: 1789/2000, Loss: 0.3139
Epoch: 1790/2000, Loss: 0.3139
Epoch: 1791/2000, Loss: 0.3139
Epoch: 1792/2000, Loss: 0.3139
Epoch: 1793/2000, Loss: 0.3139
Epoch: 1794/2000, Loss: 0.3139
Epoch: 1795/2000, Loss: 0.3139
Epoch: 1796/2000, Loss: 0.3139
Epoch: 1797/2000, Loss: 0.3139
Epoch: 1798/2000, Loss: 0.3139
Epoch: 1799/2000, Loss: 0.3139
Epoch: 1800/2000, Loss: 0.3139
Epoch: 1801/2000, Loss: 0.3139
Epoch: 1802/2000, Loss: 0.3139
Epoch: 1803/2000, Loss: 0.3139
Epoch: 1804/2000, Loss: 0.3139
Epoch: 1805/2000, Loss: 0.3139
Epoch: 1806/2000, Loss: 0.3139
Epoch: 1807/2000, Loss: 0.3139
Epoch: 1808/2000, Loss: 0.3139
Epoch: 1809/2000, Loss: 0.3139
Epoch: 1810/2000, Loss: 0.3139
Epoch: 1811/2000, Loss: 0.3139
Epoch: 1812/2000, Loss: 0.3139
Epoch: 1813/2000, Loss: 0.3139
Epoch: 1814/2000, Loss: 0.3139
Epoch: 1815/2000, Loss: 0.3139
Epoch: 1816/2000, Loss: 0.3139
Epoch: 1817/2000, Loss: 0.3139
Epoch: 1818/2000, Loss: 0.3139
Epoch: 1819/2000, Loss: 0.3139
Epoch: 1820/2000, Loss: 0.3139
Epoch: 1821/2000, Loss: 0.3139
Epoch: 1822/2000, Loss: 0.3139
Epoch: 1823/2000, Loss: 0.3139
Epoch: 1824/2000, Loss: 0.3139
Epoch: 1825/2000, Loss: 0.3139
Epoch: 1826/2000, Loss: 0.3139
Epoch: 1827/2000, Loss: 0.3139
Epoch: 1828/2000, Loss: 0.3139
Epoch: 1829/2000, Loss: 0.3139
Epoch: 1830/2000, Loss: 0.3139
Epoch: 1831/2000, Loss: 0.3139
Epoch: 1832/2000, Loss: 0.3139
Epoch: 1833/2000, Loss: 0.3139
Epoch: 1834/2000, Loss: 0.3139
Epoch: 1835/2000, Loss: 0.3139
Epoch: 1836/2000, Loss: 0.3139
Epoch: 1837/2000, Loss: 0.3139
Epoch: 1838/2000, Loss: 0.3139
Epoch: 1839/2000, Loss: 0.3139
Epoch: 1840/2000, Loss: 0.3139
Epoch: 1841/2000, Loss: 0.3139
Epoch: 1842/2000, Loss: 0.3139
Epoch: 1843/2000, Loss: 0.3139
Epoch: 1844/2000, Loss: 0.3139
Epoch: 1845/2000, Loss: 0.3139
Epoch: 1846/2000, Loss: 0.3139
Epoch: 1847/2000, Loss: 0.3139
Epoch: 1848/2000, Loss: 0.3139
Epoch: 1849/2000, Loss: 0.3139
Epoch: 1850/2000, Loss: 0.3139
Epoch: 1851/2000, Loss: 0.3139
Epoch: 1852/2000, Loss: 0.3139
Epoch: 1853/2000, Loss: 0.3139
Epoch: 1854/2000, Loss: 0.3139
Epoch: 1855/2000, Loss: 0.3139
Epoch: 1856/2000, Loss: 0.3139
Epoch: 1857/2000, Loss: 0.3139
Epoch: 1858/2000, Loss: 0.3139
Epoch: 1859/2000, Loss: 0.3139
Epoch: 1860/2000, Loss: 0.3139
Epoch: 1861/2000, Loss: 0.3139
Epoch: 1862/2000, Loss: 0.3139
Epoch: 1863/2000, Loss: 0.3139
Epoch: 1864/2000, Loss: 0.3139
Epoch: 1865/2000, Loss: 0.3139
Epoch: 1866/2000, Loss: 0.3139
Epoch: 1867/2000, Loss: 0.3139
Epoch: 1868/2000, Loss: 0.3139
Epoch: 1869/2000, Loss: 0.3139
Epoch: 1870/2000, Loss: 0.3139
Epoch: 1871/2000, Loss: 0.3139
Epoch: 1872/2000, Loss: 0.3139
Epoch: 1873/2000, Loss: 0.3139
Epoch: 1874/2000, Loss: 0.3139
Epoch: 1875/2000, Loss: 0.3139
Epoch: 1876/2000, Loss: 0.3139
Epoch: 1877/2000, Loss: 0.3139
Epoch: 1878/2000, Loss: 0.3139
Epoch: 1879/2000, Loss: 0.3139
Epoch: 1880/2000, Loss: 0.3139
Epoch: 1881/2000, Loss: 0.3139
Epoch: 1882/2000, Loss: 0.3139
Epoch: 1883/2000, Loss: 0.3139
Epoch: 1884/2000, Loss: 0.3139
Epoch: 1885/2000, Loss: 0.3139
Epoch: 1886/2000, Loss: 0.3139
Epoch: 1887/2000, Loss: 0.3139
Epoch: 1888/2000, Loss: 0.3139
Epoch: 1889/2000, Loss: 0.3139
Epoch: 1890/2000, Loss: 0.3139
Epoch: 1891/2000, Loss: 0.3139
Epoch: 1892/2000, Loss: 0.3139
Epoch: 1893/2000, Loss: 0.3139
Epoch: 1894/2000, Loss: 0.3139
Epoch: 1895/2000, Loss: 0.3139
Epoch: 1896/2000, Loss: 0.3139
Epoch: 1897/2000, Loss: 0.3139
Epoch: 1898/2000, Loss: 0.3139
Epoch: 1899/2000, Loss: 0.3139
Epoch: 1900/2000, Loss: 0.3139
Epoch: 1901/2000, Loss: 0.3139
Epoch: 1902/2000, Loss: 0.3139
Epoch: 1903/2000, Loss: 0.3139
Epoch: 1904/2000, Loss: 0.3139
Epoch: 1905/2000, Loss: 0.3139
Epoch: 1906/2000, Loss: 0.3139
Epoch: 1907/2000, Loss: 0.3139
Epoch: 1908/2000, Loss: 0.3139
Epoch: 1909/2000, Loss: 0.3139
Epoch: 1910/2000, Loss: 0.3139
Epoch: 1911/2000, Loss: 0.3139
Epoch: 1912/2000, Loss: 0.3139
Epoch: 1913/2000, Loss: 0.3139
Epoch: 1914/2000, Loss: 0.3139
Epoch: 1915/2000, Loss: 0.3139
Epoch: 1916/2000, Loss: 0.3139
Epoch: 1917/2000, Loss: 0.3139
Epoch: 1918/2000, Loss: 0.3139
Epoch: 1919/2000, Loss: 0.3139
Epoch: 1920/2000, Loss: 0.3139
Epoch: 1921/2000, Loss: 0.3139
Epoch: 1922/2000, Loss: 0.3139
Epoch: 1923/2000, Loss: 0.3139
Epoch: 1924/2000, Loss: 0.3139
Epoch: 1925/2000, Loss: 0.3139
Epoch: 1926/2000, Loss: 0.3139
Epoch: 1927/2000, Loss: 0.3139
Epoch: 1928/2000, Loss: 0.3139
Epoch: 1929/2000, Loss: 0.3139
Epoch: 1930/2000, Loss: 0.3139
Epoch: 1931/2000, Loss: 0.3139
Epoch: 1932/2000, Loss: 0.3139
Epoch: 1933/2000, Loss: 0.3139
Epoch: 1934/2000, Loss: 0.3139
Epoch: 1935/2000, Loss: 0.3139
Epoch: 1936/2000, Loss: 0.3139
Epoch: 1937/2000, Loss: 0.3139
Epoch: 1938/2000, Loss: 0.3139
Epoch: 1939/2000, Loss: 0.3139
Epoch: 1940/2000, Loss: 0.3139
Epoch: 1941/2000, Loss: 0.3139
Epoch: 1942/2000, Loss: 0.3139
Epoch: 1943/2000, Loss: 0.3139
Epoch: 1944/2000, Loss: 0.3139
Epoch: 1945/2000, Loss: 0.3139
Epoch: 1946/2000, Loss: 0.3139
Epoch: 1947/2000, Loss: 0.3139
Epoch: 1948/2000, Loss: 0.3139
Epoch: 1949/2000, Loss: 0.3139
Epoch: 1950/2000, Loss: 0.3139
Epoch: 1951/2000, Loss: 0.3139
Epoch: 1952/2000, Loss: 0.3139
Epoch: 1953/2000, Loss: 0.3139
Epoch: 1954/2000, Loss: 0.3139
Epoch: 1955/2000, Loss: 0.3139
Epoch: 1956/2000, Loss: 0.3139
Epoch: 1957/2000, Loss: 0.3139
Epoch: 1958/2000, Loss: 0.3139
Epoch: 1959/2000, Loss: 0.3139
Epoch: 1960/2000, Loss: 0.3139
Epoch: 1961/2000, Loss: 0.3139
Epoch: 1962/2000, Loss: 0.3139
Epoch: 1963/2000, Loss: 0.3139
Epoch: 1964/2000, Loss: 0.3139
Epoch: 1965/2000, Loss: 0.3139
Epoch: 1966/2000, Loss: 0.3139
Epoch: 1967/2000, Loss: 0.3139
Epoch: 1968/2000, Loss: 0.3139
Epoch: 1969/2000, Loss: 0.3139
Epoch: 1970/2000, Loss: 0.3139
Epoch: 1971/2000, Loss: 0.3139
Epoch: 1972/2000, Loss: 0.3139
Epoch: 1973/2000, Loss: 0.3139
Epoch: 1974/2000, Loss: 0.3139
Epoch: 1975/2000, Loss: 0.3139
Epoch: 1976/2000, Loss: 0.3139
Epoch: 1977/2000, Loss: 0.3139
Epoch: 1978/2000, Loss: 0.3139
Epoch: 1979/2000, Loss: 0.3139
Epoch: 1980/2000, Loss: 0.3139
Epoch: 1981/2000, Loss: 0.3139
Epoch: 1982/2000, Loss: 0.3139
Epoch: 1983/2000, Loss: 0.3139
Epoch: 1984/2000, Loss: 0.3139
Epoch: 1985/2000, Loss: 0.3139
Epoch: 1986/2000, Loss: 0.3139
Epoch: 1987/2000, Loss: 0.3139
Epoch: 1988/2000, Loss: 0.3139
Epoch: 1989/2000, Loss: 0.3139
Epoch: 1990/2000, Loss: 0.3139
Epoch: 1991/2000, Loss: 0.3139
Epoch: 1992/2000, Loss: 0.3139
Epoch: 1993/2000, Loss: 0.3139
Epoch: 1994/2000, Loss: 0.3139
Epoch: 1995/2000, Loss: 0.3139
Epoch: 1996/2000, Loss: 0.3139
Epoch: 1997/2000, Loss: 0.3139
Epoch: 1998/2000, Loss: 0.3139
Epoch: 1999/2000, Loss: 0.3139
[27]:
# Let's Simulate and Compare Random Walks generate by the Neural Networks and the Original `MarkovChain.simulate` method
nn_walk = model.simulate_random_walk("Rainy", 5000)
mc_walk = _markov_chain.simulate("Rainy", 5000)
fig, ax = plt.subplots(nrows=1, ncols=2)
ax1 = ax[0]
ax2 = ax[1]
# Right - Neural Network
ax1.hist(nn_walk)
# Left - `MarkovChain.simulate`
ax2.hist(mc_walk)
plt.tight_layout()
plt.show()
[71]:
# Now let's work with a more complex Markov-Chain
# Initialize a basic 3x3 Markov Chain
_markov_chain = MarkovChain(
[[0.3, 0.5, 0.2],
[0.1, 0.8, 0.1],
[0.3, 0.3, 0.4]],
states=["Rainy", "Sunny", "Cloudy"],
)
model = MarkovChainNeuralNetwork(_markov_chain, num_layers=5)
model.train_model(
num_samples=30_000,
epochs=2_000,
learning_rate=0.1,
momentum=0.9,
verbose=True,
patience=500,
factor=0.5
)
Epoch: 0/2000, Loss: 1.0987
Epoch: 1/2000, Loss: 1.0975
Epoch: 2/2000, Loss: 1.0951
Epoch: 3/2000, Loss: 1.0917
Epoch: 4/2000, Loss: 1.0874
Epoch: 5/2000, Loss: 1.0824
Epoch: 6/2000, Loss: 1.0766
Epoch: 7/2000, Loss: 1.0704
Epoch: 8/2000, Loss: 1.0638
Epoch: 9/2000, Loss: 1.0571
Epoch: 10/2000, Loss: 1.0504
Epoch: 11/2000, Loss: 1.0439
Epoch: 12/2000, Loss: 1.0378
Epoch: 13/2000, Loss: 1.0323
Epoch: 14/2000, Loss: 1.0276
Epoch: 15/2000, Loss: 1.0237
Epoch: 16/2000, Loss: 1.0205
Epoch: 17/2000, Loss: 1.0181
Epoch: 18/2000, Loss: 1.0163
Epoch: 19/2000, Loss: 1.0151
Epoch: 20/2000, Loss: 1.0143
Epoch: 21/2000, Loss: 1.0137
Epoch: 22/2000, Loss: 1.0134
Epoch: 23/2000, Loss: 1.0132
Epoch: 24/2000, Loss: 1.0132
Epoch: 25/2000, Loss: 1.0132
Epoch: 26/2000, Loss: 1.0132
Epoch: 27/2000, Loss: 1.0133
Epoch: 28/2000, Loss: 1.0134
Epoch: 29/2000, Loss: 1.0135
Epoch: 30/2000, Loss: 1.0135
Epoch: 31/2000, Loss: 1.0136
Epoch: 32/2000, Loss: 1.0137
Epoch: 33/2000, Loss: 1.0137
Epoch: 34/2000, Loss: 1.0138
Epoch: 35/2000, Loss: 1.0138
Epoch: 36/2000, Loss: 1.0138
Epoch: 37/2000, Loss: 1.0138
Epoch: 38/2000, Loss: 1.0139
Epoch: 39/2000, Loss: 1.0139
Epoch: 40/2000, Loss: 1.0139
Epoch: 41/2000, Loss: 1.0138
Epoch: 42/2000, Loss: 1.0138
Epoch: 43/2000, Loss: 1.0138
Epoch: 44/2000, Loss: 1.0138
Epoch: 45/2000, Loss: 1.0138
Epoch: 46/2000, Loss: 1.0137
Epoch: 47/2000, Loss: 1.0137
Epoch: 48/2000, Loss: 1.0136
Epoch: 49/2000, Loss: 1.0136
Epoch: 50/2000, Loss: 1.0136
Epoch: 51/2000, Loss: 1.0135
Epoch: 52/2000, Loss: 1.0135
Epoch: 53/2000, Loss: 1.0134
Epoch: 54/2000, Loss: 1.0133
Epoch: 55/2000, Loss: 1.0133
Epoch: 56/2000, Loss: 1.0132
Epoch: 57/2000, Loss: 1.0132
Epoch: 58/2000, Loss: 1.0131
Epoch: 59/2000, Loss: 1.0130
Epoch: 60/2000, Loss: 1.0130
Epoch: 61/2000, Loss: 1.0129
Epoch: 62/2000, Loss: 1.0128
Epoch: 63/2000, Loss: 1.0128
Epoch: 64/2000, Loss: 1.0127
Epoch: 65/2000, Loss: 1.0126
Epoch: 66/2000, Loss: 1.0126
Epoch: 67/2000, Loss: 1.0125
Epoch: 68/2000, Loss: 1.0124
Epoch: 69/2000, Loss: 1.0123
Epoch: 70/2000, Loss: 1.0123
Epoch: 71/2000, Loss: 1.0122
Epoch: 72/2000, Loss: 1.0121
Epoch: 73/2000, Loss: 1.0120
Epoch: 74/2000, Loss: 1.0119
Epoch: 75/2000, Loss: 1.0119
Epoch: 76/2000, Loss: 1.0118
Epoch: 77/2000, Loss: 1.0117
Epoch: 78/2000, Loss: 1.0116
Epoch: 79/2000, Loss: 1.0115
Epoch: 80/2000, Loss: 1.0115
Epoch: 81/2000, Loss: 1.0114
Epoch: 82/2000, Loss: 1.0113
Epoch: 83/2000, Loss: 1.0112
Epoch: 84/2000, Loss: 1.0111
Epoch: 85/2000, Loss: 1.0110
Epoch: 86/2000, Loss: 1.0109
Epoch: 87/2000, Loss: 1.0108
Epoch: 88/2000, Loss: 1.0107
Epoch: 89/2000, Loss: 1.0106
Epoch: 90/2000, Loss: 1.0105
Epoch: 91/2000, Loss: 1.0103
Epoch: 92/2000, Loss: 1.0102
Epoch: 93/2000, Loss: 1.0101
Epoch: 94/2000, Loss: 1.0099
Epoch: 95/2000, Loss: 1.0098
Epoch: 96/2000, Loss: 1.0097
Epoch: 97/2000, Loss: 1.0095
Epoch: 98/2000, Loss: 1.0094
Epoch: 99/2000, Loss: 1.0092
Epoch: 100/2000, Loss: 1.0090
Epoch: 101/2000, Loss: 1.0088
Epoch: 102/2000, Loss: 1.0087
Epoch: 103/2000, Loss: 1.0085
Epoch: 104/2000, Loss: 1.0083
Epoch: 105/2000, Loss: 1.0080
Epoch: 106/2000, Loss: 1.0078
Epoch: 107/2000, Loss: 1.0076
Epoch: 108/2000, Loss: 1.0073
Epoch: 109/2000, Loss: 1.0071
Epoch: 110/2000, Loss: 1.0068
Epoch: 111/2000, Loss: 1.0065
Epoch: 112/2000, Loss: 1.0062
Epoch: 113/2000, Loss: 1.0059
Epoch: 114/2000, Loss: 1.0056
Epoch: 115/2000, Loss: 1.0052
Epoch: 116/2000, Loss: 1.0048
Epoch: 117/2000, Loss: 1.0045
Epoch: 118/2000, Loss: 1.0041
Epoch: 119/2000, Loss: 1.0037
Epoch: 120/2000, Loss: 1.0032
Epoch: 121/2000, Loss: 1.0028
Epoch: 122/2000, Loss: 1.0023
Epoch: 123/2000, Loss: 1.0018
Epoch: 124/2000, Loss: 1.0013
Epoch: 125/2000, Loss: 1.0008
Epoch: 126/2000, Loss: 1.0003
Epoch: 127/2000, Loss: 0.9997
Epoch: 128/2000, Loss: 0.9991
Epoch: 129/2000, Loss: 0.9985
Epoch: 130/2000, Loss: 0.9978
Epoch: 131/2000, Loss: 0.9972
Epoch: 132/2000, Loss: 0.9965
Epoch: 133/2000, Loss: 0.9958
Epoch: 134/2000, Loss: 0.9951
Epoch: 135/2000, Loss: 0.9943
Epoch: 136/2000, Loss: 0.9936
Epoch: 137/2000, Loss: 0.9928
Epoch: 138/2000, Loss: 0.9921
Epoch: 139/2000, Loss: 0.9913
Epoch: 140/2000, Loss: 0.9905
Epoch: 141/2000, Loss: 0.9895
Epoch: 142/2000, Loss: 0.9886
Epoch: 143/2000, Loss: 0.9879
Epoch: 144/2000, Loss: 0.9872
Epoch: 145/2000, Loss: 0.9865
Epoch: 146/2000, Loss: 0.9858
Epoch: 147/2000, Loss: 0.9851
Epoch: 148/2000, Loss: 0.9844
Epoch: 149/2000, Loss: 0.9837
Epoch: 150/2000, Loss: 0.9831
Epoch: 151/2000, Loss: 0.9824
Epoch: 152/2000, Loss: 0.9819
Epoch: 153/2000, Loss: 0.9813
Epoch: 154/2000, Loss: 0.9808
Epoch: 155/2000, Loss: 0.9803
Epoch: 156/2000, Loss: 0.9798
Epoch: 157/2000, Loss: 0.9795
Epoch: 158/2000, Loss: 0.9791
Epoch: 159/2000, Loss: 0.9788
Epoch: 160/2000, Loss: 0.9784
Epoch: 161/2000, Loss: 0.9780
Epoch: 162/2000, Loss: 0.9777
Epoch: 163/2000, Loss: 0.9774
Epoch: 164/2000, Loss: 0.9771
Epoch: 165/2000, Loss: 0.9768
Epoch: 166/2000, Loss: 0.9764
Epoch: 167/2000, Loss: 0.9761
Epoch: 168/2000, Loss: 0.9758
Epoch: 169/2000, Loss: 0.9755
Epoch: 170/2000, Loss: 0.9755
Epoch: 171/2000, Loss: 0.9754
Epoch: 172/2000, Loss: 0.9753
Epoch: 173/2000, Loss: 0.9752
Epoch: 174/2000, Loss: 0.9751
Epoch: 175/2000, Loss: 0.9750
Epoch: 176/2000, Loss: 0.9750
Epoch: 177/2000, Loss: 0.9749
Epoch: 178/2000, Loss: 0.9748
Epoch: 179/2000, Loss: 0.9747
Epoch: 180/2000, Loss: 0.9747
Epoch: 181/2000, Loss: 0.9746
Epoch: 182/2000, Loss: 0.9745
Epoch: 183/2000, Loss: 0.9745
Epoch: 184/2000, Loss: 0.9744
Epoch: 185/2000, Loss: 0.9743
Epoch: 186/2000, Loss: 0.9743
Epoch: 187/2000, Loss: 0.9742
Epoch: 188/2000, Loss: 0.9742
Epoch: 189/2000, Loss: 0.9741
Epoch: 190/2000, Loss: 0.9740
Epoch: 191/2000, Loss: 0.9740
Epoch: 192/2000, Loss: 0.9739
Epoch: 193/2000, Loss: 0.9739
Epoch: 194/2000, Loss: 0.9738
Epoch: 195/2000, Loss: 0.9737
Epoch: 196/2000, Loss: 0.9737
Epoch: 197/2000, Loss: 0.9736
Epoch: 198/2000, Loss: 0.9735
Epoch: 199/2000, Loss: 0.9735
Epoch: 200/2000, Loss: 0.9734
Epoch: 201/2000, Loss: 0.9733
Epoch: 202/2000, Loss: 0.9732
Epoch: 203/2000, Loss: 0.9732
Epoch: 204/2000, Loss: 0.9731
Epoch: 205/2000, Loss: 0.9730
Epoch: 206/2000, Loss: 0.9729
Epoch: 207/2000, Loss: 0.9728
Epoch: 208/2000, Loss: 0.9728
Epoch: 209/2000, Loss: 0.9727
Epoch: 210/2000, Loss: 0.9726
Epoch: 211/2000, Loss: 0.9725
Epoch: 212/2000, Loss: 0.9724
Epoch: 213/2000, Loss: 0.9723
Epoch: 214/2000, Loss: 0.9722
Epoch: 215/2000, Loss: 0.9721
Epoch: 216/2000, Loss: 0.9720
Epoch: 217/2000, Loss: 0.9718
Epoch: 218/2000, Loss: 0.9717
Epoch: 219/2000, Loss: 0.9716
Epoch: 220/2000, Loss: 0.9715
Epoch: 221/2000, Loss: 0.9714
Epoch: 222/2000, Loss: 0.9712
Epoch: 223/2000, Loss: 0.9711
Epoch: 224/2000, Loss: 0.9710
Epoch: 225/2000, Loss: 0.9708
Epoch: 226/2000, Loss: 0.9707
Epoch: 227/2000, Loss: 0.9705
Epoch: 228/2000, Loss: 0.9703
Epoch: 229/2000, Loss: 0.9702
Epoch: 230/2000, Loss: 0.9700
Epoch: 231/2000, Loss: 0.9698
Epoch: 232/2000, Loss: 0.9696
Epoch: 233/2000, Loss: 0.9694
Epoch: 234/2000, Loss: 0.9692
Epoch: 235/2000, Loss: 0.9690
Epoch: 236/2000, Loss: 0.9688
Epoch: 237/2000, Loss: 0.9686
Epoch: 238/2000, Loss: 0.9684
Epoch: 239/2000, Loss: 0.9681
Epoch: 240/2000, Loss: 0.9679
Epoch: 241/2000, Loss: 0.9676
Epoch: 242/2000, Loss: 0.9673
Epoch: 243/2000, Loss: 0.9670
Epoch: 244/2000, Loss: 0.9667
Epoch: 245/2000, Loss: 0.9664
Epoch: 246/2000, Loss: 0.9661
Epoch: 247/2000, Loss: 0.9658
Epoch: 248/2000, Loss: 0.9654
Epoch: 249/2000, Loss: 0.9651
Epoch: 250/2000, Loss: 0.9648
Epoch: 251/2000, Loss: 0.9644
Epoch: 252/2000, Loss: 0.9641
Epoch: 253/2000, Loss: 0.9638
Epoch: 254/2000, Loss: 0.9634
Epoch: 255/2000, Loss: 0.9631
Epoch: 256/2000, Loss: 0.9628
Epoch: 257/2000, Loss: 0.9624
Epoch: 258/2000, Loss: 0.9621
Epoch: 259/2000, Loss: 0.9620
Epoch: 260/2000, Loss: 0.9618
Epoch: 261/2000, Loss: 0.9615
Epoch: 262/2000, Loss: 0.9613
Epoch: 263/2000, Loss: 0.9611
Epoch: 264/2000, Loss: 0.9610
Epoch: 265/2000, Loss: 0.9608
Epoch: 266/2000, Loss: 0.9607
Epoch: 267/2000, Loss: 0.9605
Epoch: 268/2000, Loss: 0.9604
Epoch: 269/2000, Loss: 0.9602
Epoch: 270/2000, Loss: 0.9601
Epoch: 271/2000, Loss: 0.9600
Epoch: 272/2000, Loss: 0.9599
Epoch: 273/2000, Loss: 0.9598
Epoch: 274/2000, Loss: 0.9597
Epoch: 275/2000, Loss: 0.9595
Epoch: 276/2000, Loss: 0.9594
Epoch: 277/2000, Loss: 0.9593
Epoch: 278/2000, Loss: 0.9592
Epoch: 279/2000, Loss: 0.9590
Epoch: 280/2000, Loss: 0.9589
Epoch: 281/2000, Loss: 0.9588
Epoch: 282/2000, Loss: 0.9586
Epoch: 283/2000, Loss: 0.9585
Epoch: 284/2000, Loss: 0.9583
Epoch: 285/2000, Loss: 0.9582
Epoch: 286/2000, Loss: 0.9580
Epoch: 287/2000, Loss: 0.9579
Epoch: 288/2000, Loss: 0.9577
Epoch: 289/2000, Loss: 0.9576
Epoch: 290/2000, Loss: 0.9574
Epoch: 291/2000, Loss: 0.9573
Epoch: 292/2000, Loss: 0.9571
Epoch: 293/2000, Loss: 0.9569
Epoch: 294/2000, Loss: 0.9568
Epoch: 295/2000, Loss: 0.9566
Epoch: 296/2000, Loss: 0.9564
Epoch: 297/2000, Loss: 0.9563
Epoch: 298/2000, Loss: 0.9561
Epoch: 299/2000, Loss: 0.9559
Epoch: 300/2000, Loss: 0.9557
Epoch: 301/2000, Loss: 0.9555
Epoch: 302/2000, Loss: 0.9554
Epoch: 303/2000, Loss: 0.9552
Epoch: 304/2000, Loss: 0.9550
Epoch: 305/2000, Loss: 0.9548
Epoch: 306/2000, Loss: 0.9546
Epoch: 307/2000, Loss: 0.9544
Epoch: 308/2000, Loss: 0.9541
Epoch: 309/2000, Loss: 0.9539
Epoch: 310/2000, Loss: 0.9537
Epoch: 311/2000, Loss: 0.9534
Epoch: 312/2000, Loss: 0.9532
Epoch: 313/2000, Loss: 0.9530
Epoch: 314/2000, Loss: 0.9527
Epoch: 315/2000, Loss: 0.9524
Epoch: 316/2000, Loss: 0.9522
Epoch: 317/2000, Loss: 0.9519
Epoch: 318/2000, Loss: 0.9516
Epoch: 319/2000, Loss: 0.9513
Epoch: 320/2000, Loss: 0.9510
Epoch: 321/2000, Loss: 0.9507
Epoch: 322/2000, Loss: 0.9504
Epoch: 323/2000, Loss: 0.9501
Epoch: 324/2000, Loss: 0.9497
Epoch: 325/2000, Loss: 0.9494
Epoch: 326/2000, Loss: 0.9490
Epoch: 327/2000, Loss: 0.9486
Epoch: 328/2000, Loss: 0.9483
Epoch: 329/2000, Loss: 0.9479
Epoch: 330/2000, Loss: 0.9475
Epoch: 331/2000, Loss: 0.9470
Epoch: 332/2000, Loss: 0.9466
Epoch: 333/2000, Loss: 0.9462
Epoch: 334/2000, Loss: 0.9457
Epoch: 335/2000, Loss: 0.9453
Epoch: 336/2000, Loss: 0.9448
Epoch: 337/2000, Loss: 0.9443
Epoch: 338/2000, Loss: 0.9438
Epoch: 339/2000, Loss: 0.9432
Epoch: 340/2000, Loss: 0.9427
Epoch: 341/2000, Loss: 0.9421
Epoch: 342/2000, Loss: 0.9416
Epoch: 343/2000, Loss: 0.9410
Epoch: 344/2000, Loss: 0.9404
Epoch: 345/2000, Loss: 0.9398
Epoch: 346/2000, Loss: 0.9391
Epoch: 347/2000, Loss: 0.9385
Epoch: 348/2000, Loss: 0.9378
Epoch: 349/2000, Loss: 0.9370
Epoch: 350/2000, Loss: 0.9363
Epoch: 351/2000, Loss: 0.9355
Epoch: 352/2000, Loss: 0.9347
Epoch: 353/2000, Loss: 0.9338
Epoch: 354/2000, Loss: 0.9328
Epoch: 355/2000, Loss: 0.9318
Epoch: 356/2000, Loss: 0.9308
Epoch: 357/2000, Loss: 0.9297
Epoch: 358/2000, Loss: 0.9285
Epoch: 359/2000, Loss: 0.9273
Epoch: 360/2000, Loss: 0.9259
Epoch: 361/2000, Loss: 0.9245
Epoch: 362/2000, Loss: 0.9230
Epoch: 363/2000, Loss: 0.9214
Epoch: 364/2000, Loss: 0.9196
Epoch: 365/2000, Loss: 0.9178
Epoch: 366/2000, Loss: 0.9159
Epoch: 367/2000, Loss: 0.9138
Epoch: 368/2000, Loss: 0.9116
Epoch: 369/2000, Loss: 0.9093
Epoch: 370/2000, Loss: 0.9068
Epoch: 371/2000, Loss: 0.9042
Epoch: 372/2000, Loss: 0.9015
Epoch: 373/2000, Loss: 0.8987
Epoch: 374/2000, Loss: 0.8958
Epoch: 375/2000, Loss: 0.8928
Epoch: 376/2000, Loss: 0.8898
Epoch: 377/2000, Loss: 0.8869
Epoch: 378/2000, Loss: 0.8842
Epoch: 379/2000, Loss: 0.8815
Epoch: 380/2000, Loss: 0.8787
Epoch: 381/2000, Loss: 0.8761
Epoch: 382/2000, Loss: 0.8734
Epoch: 383/2000, Loss: 0.8709
Epoch: 384/2000, Loss: 0.8684
Epoch: 385/2000, Loss: 0.8661
Epoch: 386/2000, Loss: 0.8638
Epoch: 387/2000, Loss: 0.8617
Epoch: 388/2000, Loss: 0.8595
Epoch: 389/2000, Loss: 0.8574
Epoch: 390/2000, Loss: 0.8554
Epoch: 391/2000, Loss: 0.8534
Epoch: 392/2000, Loss: 0.8515
Epoch: 393/2000, Loss: 0.8497
Epoch: 394/2000, Loss: 0.8480
Epoch: 395/2000, Loss: 0.8463
Epoch: 396/2000, Loss: 0.8447
Epoch: 397/2000, Loss: 0.8431
Epoch: 398/2000, Loss: 0.8415
Epoch: 399/2000, Loss: 0.8400
Epoch: 400/2000, Loss: 0.8386
Epoch: 401/2000, Loss: 0.8373
Epoch: 402/2000, Loss: 0.8359
Epoch: 403/2000, Loss: 0.8347
Epoch: 404/2000, Loss: 0.8334
Epoch: 405/2000, Loss: 0.8322
Epoch: 406/2000, Loss: 0.8311
Epoch: 407/2000, Loss: 0.8300
Epoch: 408/2000, Loss: 0.8289
Epoch: 409/2000, Loss: 0.8279
Epoch: 410/2000, Loss: 0.8270
Epoch: 411/2000, Loss: 0.8260
Epoch: 412/2000, Loss: 0.8251
Epoch: 413/2000, Loss: 0.8242
Epoch: 414/2000, Loss: 0.8234
Epoch: 415/2000, Loss: 0.8226
Epoch: 416/2000, Loss: 0.8218
Epoch: 417/2000, Loss: 0.8210
Epoch: 418/2000, Loss: 0.8203
Epoch: 419/2000, Loss: 0.8195
Epoch: 420/2000, Loss: 0.8188
Epoch: 421/2000, Loss: 0.8181
Epoch: 422/2000, Loss: 0.8174
Epoch: 423/2000, Loss: 0.8167
Epoch: 424/2000, Loss: 0.8161
Epoch: 425/2000, Loss: 0.8154
Epoch: 426/2000, Loss: 0.8147
Epoch: 427/2000, Loss: 0.8141
Epoch: 428/2000, Loss: 0.8134
Epoch: 429/2000, Loss: 0.8128
Epoch: 430/2000, Loss: 0.8121
Epoch: 431/2000, Loss: 0.8115
Epoch: 432/2000, Loss: 0.8108
Epoch: 433/2000, Loss: 0.8101
Epoch: 434/2000, Loss: 0.8095
Epoch: 435/2000, Loss: 0.8088
Epoch: 436/2000, Loss: 0.8081
Epoch: 437/2000, Loss: 0.8074
Epoch: 438/2000, Loss: 0.8067
Epoch: 439/2000, Loss: 0.8059
Epoch: 440/2000, Loss: 0.8052
Epoch: 441/2000, Loss: 0.8044
Epoch: 442/2000, Loss: 0.8037
Epoch: 443/2000, Loss: 0.8029
Epoch: 444/2000, Loss: 0.8021
Epoch: 445/2000, Loss: 0.8013
Epoch: 446/2000, Loss: 0.8005
Epoch: 447/2000, Loss: 0.7997
Epoch: 448/2000, Loss: 0.7989
Epoch: 449/2000, Loss: 0.7981
Epoch: 450/2000, Loss: 0.7972
Epoch: 451/2000, Loss: 0.7963
Epoch: 452/2000, Loss: 0.7954
Epoch: 453/2000, Loss: 0.7945
Epoch: 454/2000, Loss: 0.7936
Epoch: 455/2000, Loss: 0.7927
Epoch: 456/2000, Loss: 0.7918
Epoch: 457/2000, Loss: 0.7908
Epoch: 458/2000, Loss: 0.7898
Epoch: 459/2000, Loss: 0.7888
Epoch: 460/2000, Loss: 0.7878
Epoch: 461/2000, Loss: 0.7868
Epoch: 462/2000, Loss: 0.7858
Epoch: 463/2000, Loss: 0.7847
Epoch: 464/2000, Loss: 0.7836
Epoch: 465/2000, Loss: 0.7825
Epoch: 466/2000, Loss: 0.7814
Epoch: 467/2000, Loss: 0.7803
Epoch: 468/2000, Loss: 0.7791
Epoch: 469/2000, Loss: 0.7779
Epoch: 470/2000, Loss: 0.7768
Epoch: 471/2000, Loss: 0.7756
Epoch: 472/2000, Loss: 0.7744
Epoch: 473/2000, Loss: 0.7732
Epoch: 474/2000, Loss: 0.7720
Epoch: 475/2000, Loss: 0.7708
Epoch: 476/2000, Loss: 0.7696
Epoch: 477/2000, Loss: 0.7684
Epoch: 478/2000, Loss: 0.7672
Epoch: 479/2000, Loss: 0.7660
Epoch: 480/2000, Loss: 0.7648
Epoch: 481/2000, Loss: 0.7636
Epoch: 482/2000, Loss: 0.7625
Epoch: 483/2000, Loss: 0.7613
Epoch: 484/2000, Loss: 0.7601
Epoch: 485/2000, Loss: 0.7590
Epoch: 486/2000, Loss: 0.7579
Epoch: 487/2000, Loss: 0.7567
Epoch: 488/2000, Loss: 0.7557
Epoch: 489/2000, Loss: 0.7546
Epoch: 490/2000, Loss: 0.7535
Epoch: 491/2000, Loss: 0.7524
Epoch: 492/2000, Loss: 0.7514
Epoch: 493/2000, Loss: 0.7504
Epoch: 494/2000, Loss: 0.7494
Epoch: 495/2000, Loss: 0.7485
Epoch: 496/2000, Loss: 0.7474
Epoch: 497/2000, Loss: 0.7465
Epoch: 498/2000, Loss: 0.7456
Epoch: 499/2000, Loss: 0.7447
Epoch: 500/2000, Loss: 0.7439
Epoch: 501/2000, Loss: 0.7430
Epoch: 502/2000, Loss: 0.7426
Epoch: 503/2000, Loss: 0.7422
Epoch: 504/2000, Loss: 0.7418
Epoch: 505/2000, Loss: 0.7413
Epoch: 506/2000, Loss: 0.7410
Epoch: 507/2000, Loss: 0.7406
Epoch: 508/2000, Loss: 0.7402
Epoch: 509/2000, Loss: 0.7398
Epoch: 510/2000, Loss: 0.7395
Epoch: 511/2000, Loss: 0.7391
Epoch: 512/2000, Loss: 0.7387
Epoch: 513/2000, Loss: 0.7384
Epoch: 514/2000, Loss: 0.7380
Epoch: 515/2000, Loss: 0.7377
Epoch: 516/2000, Loss: 0.7374
Epoch: 517/2000, Loss: 0.7370
Epoch: 518/2000, Loss: 0.7367
Epoch: 519/2000, Loss: 0.7364
Epoch: 520/2000, Loss: 0.7361
Epoch: 521/2000, Loss: 0.7357
Epoch: 522/2000, Loss: 0.7354
Epoch: 523/2000, Loss: 0.7351
Epoch: 524/2000, Loss: 0.7348
Epoch: 525/2000, Loss: 0.7345
Epoch: 526/2000, Loss: 0.7342
Epoch: 527/2000, Loss: 0.7339
Epoch: 528/2000, Loss: 0.7336
Epoch: 529/2000, Loss: 0.7334
Epoch: 530/2000, Loss: 0.7331
Epoch: 531/2000, Loss: 0.7328
Epoch: 532/2000, Loss: 0.7326
Epoch: 533/2000, Loss: 0.7323
Epoch: 534/2000, Loss: 0.7320
Epoch: 535/2000, Loss: 0.7317
Epoch: 536/2000, Loss: 0.7315
Epoch: 537/2000, Loss: 0.7313
Epoch: 538/2000, Loss: 0.7310
Epoch: 539/2000, Loss: 0.7308
Epoch: 540/2000, Loss: 0.7305
Epoch: 541/2000, Loss: 0.7303
Epoch: 542/2000, Loss: 0.7300
Epoch: 543/2000, Loss: 0.7298
Epoch: 544/2000, Loss: 0.7296
Epoch: 545/2000, Loss: 0.7293
Epoch: 546/2000, Loss: 0.7291
Epoch: 547/2000, Loss: 0.7289
Epoch: 548/2000, Loss: 0.7286
Epoch: 549/2000, Loss: 0.7284
Epoch: 550/2000, Loss: 0.7282
Epoch: 551/2000, Loss: 0.7280
Epoch: 552/2000, Loss: 0.7278
Epoch: 553/2000, Loss: 0.7276
Epoch: 554/2000, Loss: 0.7274
Epoch: 555/2000, Loss: 0.7272
Epoch: 556/2000, Loss: 0.7270
Epoch: 557/2000, Loss: 0.7268
Epoch: 558/2000, Loss: 0.7266
Epoch: 559/2000, Loss: 0.7264
Epoch: 560/2000, Loss: 0.7262
Epoch: 561/2000, Loss: 0.7260
Epoch: 562/2000, Loss: 0.7258
Epoch: 563/2000, Loss: 0.7256
Epoch: 564/2000, Loss: 0.7254
Epoch: 565/2000, Loss: 0.7252
Epoch: 566/2000, Loss: 0.7251
Epoch: 567/2000, Loss: 0.7249
Epoch: 568/2000, Loss: 0.7247
Epoch: 569/2000, Loss: 0.7245
Epoch: 570/2000, Loss: 0.7244
Epoch: 571/2000, Loss: 0.7242
Epoch: 572/2000, Loss: 0.7240
Epoch: 573/2000, Loss: 0.7239
Epoch: 574/2000, Loss: 0.7237
Epoch: 575/2000, Loss: 0.7235
Epoch: 576/2000, Loss: 0.7234
Epoch: 577/2000, Loss: 0.7232
Epoch: 578/2000, Loss: 0.7230
Epoch: 579/2000, Loss: 0.7229
Epoch: 580/2000, Loss: 0.7227
Epoch: 581/2000, Loss: 0.7226
Epoch: 582/2000, Loss: 0.7224
Epoch: 583/2000, Loss: 0.7223
Epoch: 584/2000, Loss: 0.7221
Epoch: 585/2000, Loss: 0.7220
Epoch: 586/2000, Loss: 0.7218
Epoch: 587/2000, Loss: 0.7217
Epoch: 588/2000, Loss: 0.7215
Epoch: 589/2000, Loss: 0.7214
Epoch: 590/2000, Loss: 0.7212
Epoch: 591/2000, Loss: 0.7211
Epoch: 592/2000, Loss: 0.7210
Epoch: 593/2000, Loss: 0.7208
Epoch: 594/2000, Loss: 0.7207
Epoch: 595/2000, Loss: 0.7206
Epoch: 596/2000, Loss: 0.7204
Epoch: 597/2000, Loss: 0.7203
Epoch: 598/2000, Loss: 0.7202
Epoch: 599/2000, Loss: 0.7200
Epoch: 600/2000, Loss: 0.7199
Epoch: 601/2000, Loss: 0.7198
Epoch: 602/2000, Loss: 0.7197
Epoch: 603/2000, Loss: 0.7195
Epoch: 604/2000, Loss: 0.7194
Epoch: 605/2000, Loss: 0.7193
Epoch: 606/2000, Loss: 0.7191
Epoch: 607/2000, Loss: 0.7190
Epoch: 608/2000, Loss: 0.7189
Epoch: 609/2000, Loss: 0.7188
Epoch: 610/2000, Loss: 0.7187
Epoch: 611/2000, Loss: 0.7186
Epoch: 612/2000, Loss: 0.7184
Epoch: 613/2000, Loss: 0.7183
Epoch: 614/2000, Loss: 0.7182
Epoch: 615/2000, Loss: 0.7181
Epoch: 616/2000, Loss: 0.7180
Epoch: 617/2000, Loss: 0.7179
Epoch: 618/2000, Loss: 0.7178
Epoch: 619/2000, Loss: 0.7177
Epoch: 620/2000, Loss: 0.7175
Epoch: 621/2000, Loss: 0.7174
Epoch: 622/2000, Loss: 0.7173
Epoch: 623/2000, Loss: 0.7172
Epoch: 624/2000, Loss: 0.7171
Epoch: 625/2000, Loss: 0.7170
Epoch: 626/2000, Loss: 0.7169
Epoch: 627/2000, Loss: 0.7168
Epoch: 628/2000, Loss: 0.7167
Epoch: 629/2000, Loss: 0.7166
Epoch: 630/2000, Loss: 0.7165
Epoch: 631/2000, Loss: 0.7164
Epoch: 632/2000, Loss: 0.7163
Epoch: 633/2000, Loss: 0.7162
Epoch: 634/2000, Loss: 0.7161
Epoch: 635/2000, Loss: 0.7160
Epoch: 636/2000, Loss: 0.7159
Epoch: 637/2000, Loss: 0.7158
Epoch: 638/2000, Loss: 0.7157
Epoch: 639/2000, Loss: 0.7156
Epoch: 640/2000, Loss: 0.7155
Epoch: 641/2000, Loss: 0.7154
Epoch: 642/2000, Loss: 0.7153
Epoch: 643/2000, Loss: 0.7153
Epoch: 644/2000, Loss: 0.7152
Epoch: 645/2000, Loss: 0.7151
Epoch: 646/2000, Loss: 0.7150
Epoch: 647/2000, Loss: 0.7149
Epoch: 648/2000, Loss: 0.7148
Epoch: 649/2000, Loss: 0.7147
Epoch: 650/2000, Loss: 0.7146
Epoch: 651/2000, Loss: 0.7145
Epoch: 652/2000, Loss: 0.7145
Epoch: 653/2000, Loss: 0.7144
Epoch: 654/2000, Loss: 0.7143
Epoch: 655/2000, Loss: 0.7142
Epoch: 656/2000, Loss: 0.7141
Epoch: 657/2000, Loss: 0.7140
Epoch: 658/2000, Loss: 0.7140
Epoch: 659/2000, Loss: 0.7139
Epoch: 660/2000, Loss: 0.7138
Epoch: 661/2000, Loss: 0.7137
Epoch: 662/2000, Loss: 0.7136
Epoch: 663/2000, Loss: 0.7136
Epoch: 664/2000, Loss: 0.7135
Epoch: 665/2000, Loss: 0.7134
Epoch: 666/2000, Loss: 0.7133
Epoch: 667/2000, Loss: 0.7133
Epoch: 668/2000, Loss: 0.7132
Epoch: 669/2000, Loss: 0.7131
Epoch: 670/2000, Loss: 0.7130
Epoch: 671/2000, Loss: 0.7129
Epoch: 672/2000, Loss: 0.7129
Epoch: 673/2000, Loss: 0.7128
Epoch: 674/2000, Loss: 0.7127
Epoch: 675/2000, Loss: 0.7126
Epoch: 676/2000, Loss: 0.7126
Epoch: 677/2000, Loss: 0.7125
Epoch: 678/2000, Loss: 0.7124
Epoch: 679/2000, Loss: 0.7123
Epoch: 680/2000, Loss: 0.7123
Epoch: 681/2000, Loss: 0.7122
Epoch: 682/2000, Loss: 0.7121
Epoch: 683/2000, Loss: 0.7121
Epoch: 684/2000, Loss: 0.7120
Epoch: 685/2000, Loss: 0.7119
Epoch: 686/2000, Loss: 0.7119
Epoch: 687/2000, Loss: 0.7118
Epoch: 688/2000, Loss: 0.7117
Epoch: 689/2000, Loss: 0.7117
Epoch: 690/2000, Loss: 0.7116
Epoch: 691/2000, Loss: 0.7115
Epoch: 692/2000, Loss: 0.7115
Epoch: 693/2000, Loss: 0.7114
Epoch: 694/2000, Loss: 0.7113
Epoch: 695/2000, Loss: 0.7113
Epoch: 696/2000, Loss: 0.7112
Epoch: 697/2000, Loss: 0.7111
Epoch: 698/2000, Loss: 0.7111
Epoch: 699/2000, Loss: 0.7110
Epoch: 700/2000, Loss: 0.7109
Epoch: 701/2000, Loss: 0.7109
Epoch: 702/2000, Loss: 0.7108
Epoch: 703/2000, Loss: 0.7108
Epoch: 704/2000, Loss: 0.7107
Epoch: 705/2000, Loss: 0.7106
Epoch: 706/2000, Loss: 0.7106
Epoch: 707/2000, Loss: 0.7105
Epoch: 708/2000, Loss: 0.7104
Epoch: 709/2000, Loss: 0.7104
Epoch: 710/2000, Loss: 0.7103
Epoch: 711/2000, Loss: 0.7103
Epoch: 712/2000, Loss: 0.7102
Epoch: 713/2000, Loss: 0.7101
Epoch: 714/2000, Loss: 0.7101
Epoch: 715/2000, Loss: 0.7100
Epoch: 716/2000, Loss: 0.7100
Epoch: 717/2000, Loss: 0.7099
Epoch: 718/2000, Loss: 0.7099
Epoch: 719/2000, Loss: 0.7098
Epoch: 720/2000, Loss: 0.7097
Epoch: 721/2000, Loss: 0.7097
Epoch: 722/2000, Loss: 0.7096
Epoch: 723/2000, Loss: 0.7096
Epoch: 724/2000, Loss: 0.7095
Epoch: 725/2000, Loss: 0.7095
Epoch: 726/2000, Loss: 0.7094
Epoch: 727/2000, Loss: 0.7094
Epoch: 728/2000, Loss: 0.7093
Epoch: 729/2000, Loss: 0.7093
Epoch: 730/2000, Loss: 0.7092
Epoch: 731/2000, Loss: 0.7091
Epoch: 732/2000, Loss: 0.7091
Epoch: 733/2000, Loss: 0.7090
Epoch: 734/2000, Loss: 0.7090
Epoch: 735/2000, Loss: 0.7089
Epoch: 736/2000, Loss: 0.7089
Epoch: 737/2000, Loss: 0.7088
Epoch: 738/2000, Loss: 0.7088
Epoch: 739/2000, Loss: 0.7087
Epoch: 740/2000, Loss: 0.7087
Epoch: 741/2000, Loss: 0.7086
Epoch: 742/2000, Loss: 0.7086
Epoch: 743/2000, Loss: 0.7085
Epoch: 744/2000, Loss: 0.7085
Epoch: 745/2000, Loss: 0.7084
Epoch: 746/2000, Loss: 0.7084
Epoch: 747/2000, Loss: 0.7083
Epoch: 748/2000, Loss: 0.7083
Epoch: 749/2000, Loss: 0.7082
Epoch: 750/2000, Loss: 0.7082
Epoch: 751/2000, Loss: 0.7081
Epoch: 752/2000, Loss: 0.7081
Epoch: 753/2000, Loss: 0.7080
Epoch: 754/2000, Loss: 0.7080
Epoch: 755/2000, Loss: 0.7079
Epoch: 756/2000, Loss: 0.7079
Epoch: 757/2000, Loss: 0.7079
Epoch: 758/2000, Loss: 0.7078
Epoch: 759/2000, Loss: 0.7078
Epoch: 760/2000, Loss: 0.7077
Epoch: 761/2000, Loss: 0.7077
Epoch: 762/2000, Loss: 0.7076
Epoch: 763/2000, Loss: 0.7076
Epoch: 764/2000, Loss: 0.7075
Epoch: 765/2000, Loss: 0.7075
Epoch: 766/2000, Loss: 0.7074
Epoch: 767/2000, Loss: 0.7074
Epoch: 768/2000, Loss: 0.7074
Epoch: 769/2000, Loss: 0.7073
Epoch: 770/2000, Loss: 0.7073
Epoch: 771/2000, Loss: 0.7072
Epoch: 772/2000, Loss: 0.7072
Epoch: 773/2000, Loss: 0.7071
Epoch: 774/2000, Loss: 0.7071
Epoch: 775/2000, Loss: 0.7071
Epoch: 776/2000, Loss: 0.7070
Epoch: 777/2000, Loss: 0.7070
Epoch: 778/2000, Loss: 0.7069
Epoch: 779/2000, Loss: 0.7069
Epoch: 780/2000, Loss: 0.7068
Epoch: 781/2000, Loss: 0.7068
Epoch: 782/2000, Loss: 0.7068
Epoch: 783/2000, Loss: 0.7067
Epoch: 784/2000, Loss: 0.7067
Epoch: 785/2000, Loss: 0.7066
Epoch: 786/2000, Loss: 0.7066
Epoch: 787/2000, Loss: 0.7066
Epoch: 788/2000, Loss: 0.7065
Epoch: 789/2000, Loss: 0.7065
Epoch: 790/2000, Loss: 0.7064
Epoch: 791/2000, Loss: 0.7064
Epoch: 792/2000, Loss: 0.7064
Epoch: 793/2000, Loss: 0.7063
Epoch: 794/2000, Loss: 0.7063
Epoch: 795/2000, Loss: 0.7062
Epoch: 796/2000, Loss: 0.7062
Epoch: 797/2000, Loss: 0.7062
Epoch: 798/2000, Loss: 0.7061
Epoch: 799/2000, Loss: 0.7061
Epoch: 800/2000, Loss: 0.7060
Epoch: 801/2000, Loss: 0.7060
Epoch: 802/2000, Loss: 0.7060
Epoch: 803/2000, Loss: 0.7059
Epoch: 804/2000, Loss: 0.7059
Epoch: 805/2000, Loss: 0.7059
Epoch: 806/2000, Loss: 0.7058
Epoch: 807/2000, Loss: 0.7058
Epoch: 808/2000, Loss: 0.7057
Epoch: 809/2000, Loss: 0.7057
Epoch: 810/2000, Loss: 0.7057
Epoch: 811/2000, Loss: 0.7056
Epoch: 812/2000, Loss: 0.7056
Epoch: 813/2000, Loss: 0.7056
Epoch: 814/2000, Loss: 0.7055
Epoch: 815/2000, Loss: 0.7055
Epoch: 816/2000, Loss: 0.7055
Epoch: 817/2000, Loss: 0.7054
Epoch: 818/2000, Loss: 0.7054
Epoch: 819/2000, Loss: 0.7054
Epoch: 820/2000, Loss: 0.7053
Epoch: 821/2000, Loss: 0.7053
Epoch: 822/2000, Loss: 0.7052
Epoch: 823/2000, Loss: 0.7052
Epoch: 824/2000, Loss: 0.7052
Epoch: 825/2000, Loss: 0.7051
Epoch: 826/2000, Loss: 0.7051
Epoch: 827/2000, Loss: 0.7051
Epoch: 828/2000, Loss: 0.7050
Epoch: 829/2000, Loss: 0.7050
Epoch: 830/2000, Loss: 0.7050
Epoch: 831/2000, Loss: 0.7049
Epoch: 832/2000, Loss: 0.7049
Epoch: 833/2000, Loss: 0.7049
Epoch: 834/2000, Loss: 0.7048
Epoch: 835/2000, Loss: 0.7048
Epoch: 836/2000, Loss: 0.7048
Epoch: 837/2000, Loss: 0.7047
Epoch: 838/2000, Loss: 0.7047
Epoch: 839/2000, Loss: 0.7047
Epoch: 840/2000, Loss: 0.7046
Epoch: 841/2000, Loss: 0.7046
Epoch: 842/2000, Loss: 0.7046
Epoch: 843/2000, Loss: 0.7045
Epoch: 844/2000, Loss: 0.7045
Epoch: 845/2000, Loss: 0.7045
Epoch: 846/2000, Loss: 0.7044
Epoch: 847/2000, Loss: 0.7044
Epoch: 848/2000, Loss: 0.7044
Epoch: 849/2000, Loss: 0.7044
Epoch: 850/2000, Loss: 0.7043
Epoch: 851/2000, Loss: 0.7043
Epoch: 852/2000, Loss: 0.7043
Epoch: 853/2000, Loss: 0.7042
Epoch: 854/2000, Loss: 0.7042
Epoch: 855/2000, Loss: 0.7042
Epoch: 856/2000, Loss: 0.7041
Epoch: 857/2000, Loss: 0.7041
Epoch: 858/2000, Loss: 0.7041
Epoch: 859/2000, Loss: 0.7040
Epoch: 860/2000, Loss: 0.7040
Epoch: 861/2000, Loss: 0.7040
Epoch: 862/2000, Loss: 0.7040
Epoch: 863/2000, Loss: 0.7039
Epoch: 864/2000, Loss: 0.7039
Epoch: 865/2000, Loss: 0.7039
Epoch: 866/2000, Loss: 0.7038
Epoch: 867/2000, Loss: 0.7038
Epoch: 868/2000, Loss: 0.7038
Epoch: 869/2000, Loss: 0.7037
Epoch: 870/2000, Loss: 0.7037
Epoch: 871/2000, Loss: 0.7037
Epoch: 872/2000, Loss: 0.7037
Epoch: 873/2000, Loss: 0.7036
Epoch: 874/2000, Loss: 0.7036
Epoch: 875/2000, Loss: 0.7036
Epoch: 876/2000, Loss: 0.7035
Epoch: 877/2000, Loss: 0.7035
Epoch: 878/2000, Loss: 0.7035
Epoch: 879/2000, Loss: 0.7035
Epoch: 880/2000, Loss: 0.7034
Epoch: 881/2000, Loss: 0.7034
Epoch: 882/2000, Loss: 0.7034
Epoch: 883/2000, Loss: 0.7033
Epoch: 884/2000, Loss: 0.7033
Epoch: 885/2000, Loss: 0.7033
Epoch: 886/2000, Loss: 0.7033
Epoch: 887/2000, Loss: 0.7032
Epoch: 888/2000, Loss: 0.7032
Epoch: 889/2000, Loss: 0.7032
Epoch: 890/2000, Loss: 0.7032
Epoch: 891/2000, Loss: 0.7031
Epoch: 892/2000, Loss: 0.7031
Epoch: 893/2000, Loss: 0.7031
Epoch: 894/2000, Loss: 0.7030
Epoch: 895/2000, Loss: 0.7030
Epoch: 896/2000, Loss: 0.7030
Epoch: 897/2000, Loss: 0.7030
Epoch: 898/2000, Loss: 0.7029
Epoch: 899/2000, Loss: 0.7029
Epoch: 900/2000, Loss: 0.7029
Epoch: 901/2000, Loss: 0.7029
Epoch: 902/2000, Loss: 0.7028
Epoch: 903/2000, Loss: 0.7028
Epoch: 904/2000, Loss: 0.7028
Epoch: 905/2000, Loss: 0.7028
Epoch: 906/2000, Loss: 0.7027
Epoch: 907/2000, Loss: 0.7027
Epoch: 908/2000, Loss: 0.7027
Epoch: 909/2000, Loss: 0.7027
Epoch: 910/2000, Loss: 0.7026
Epoch: 911/2000, Loss: 0.7026
Epoch: 912/2000, Loss: 0.7026
Epoch: 913/2000, Loss: 0.7026
Epoch: 914/2000, Loss: 0.7025
Epoch: 915/2000, Loss: 0.7025
Epoch: 916/2000, Loss: 0.7025
Epoch: 917/2000, Loss: 0.7025
Epoch: 918/2000, Loss: 0.7024
Epoch: 919/2000, Loss: 0.7024
Epoch: 920/2000, Loss: 0.7024
Epoch: 921/2000, Loss: 0.7024
Epoch: 922/2000, Loss: 0.7023
Epoch: 923/2000, Loss: 0.7023
Epoch: 924/2000, Loss: 0.7023
Epoch: 925/2000, Loss: 0.7023
Epoch: 926/2000, Loss: 0.7022
Epoch: 927/2000, Loss: 0.7022
Epoch: 928/2000, Loss: 0.7022
Epoch: 929/2000, Loss: 0.7022
Epoch: 930/2000, Loss: 0.7021
Epoch: 931/2000, Loss: 0.7021
Epoch: 932/2000, Loss: 0.7021
Epoch: 933/2000, Loss: 0.7021
Epoch: 934/2000, Loss: 0.7020
Epoch: 935/2000, Loss: 0.7020
Epoch: 936/2000, Loss: 0.7020
Epoch: 937/2000, Loss: 0.7020
Epoch: 938/2000, Loss: 0.7019
Epoch: 939/2000, Loss: 0.7019
Epoch: 940/2000, Loss: 0.7019
Epoch: 941/2000, Loss: 0.7019
Epoch: 942/2000, Loss: 0.7019
Epoch: 943/2000, Loss: 0.7018
Epoch: 944/2000, Loss: 0.7018
Epoch: 945/2000, Loss: 0.7018
Epoch: 946/2000, Loss: 0.7018
Epoch: 947/2000, Loss: 0.7017
Epoch: 948/2000, Loss: 0.7017
Epoch: 949/2000, Loss: 0.7017
Epoch: 950/2000, Loss: 0.7017
Epoch: 951/2000, Loss: 0.7017
Epoch: 952/2000, Loss: 0.7016
Epoch: 953/2000, Loss: 0.7016
Epoch: 954/2000, Loss: 0.7016
Epoch: 955/2000, Loss: 0.7016
Epoch: 956/2000, Loss: 0.7015
Epoch: 957/2000, Loss: 0.7015
Epoch: 958/2000, Loss: 0.7015
Epoch: 959/2000, Loss: 0.7015
Epoch: 960/2000, Loss: 0.7015
Epoch: 961/2000, Loss: 0.7014
Epoch: 962/2000, Loss: 0.7014
Epoch: 963/2000, Loss: 0.7014
Epoch: 964/2000, Loss: 0.7014
Epoch: 965/2000, Loss: 0.7013
Epoch: 966/2000, Loss: 0.7013
Epoch: 967/2000, Loss: 0.7013
Epoch: 968/2000, Loss: 0.7013
Epoch: 969/2000, Loss: 0.7013
Epoch: 970/2000, Loss: 0.7012
Epoch: 971/2000, Loss: 0.7012
Epoch: 972/2000, Loss: 0.7012
Epoch: 973/2000, Loss: 0.7012
Epoch: 974/2000, Loss: 0.7012
Epoch: 975/2000, Loss: 0.7011
Epoch: 976/2000, Loss: 0.7011
Epoch: 977/2000, Loss: 0.7011
Epoch: 978/2000, Loss: 0.7011
Epoch: 979/2000, Loss: 0.7011
Epoch: 980/2000, Loss: 0.7010
Epoch: 981/2000, Loss: 0.7010
Epoch: 982/2000, Loss: 0.7010
Epoch: 983/2000, Loss: 0.7010
Epoch: 984/2000, Loss: 0.7009
Epoch: 985/2000, Loss: 0.7009
Epoch: 986/2000, Loss: 0.7009
Epoch: 987/2000, Loss: 0.7009
Epoch: 988/2000, Loss: 0.7009
Epoch: 989/2000, Loss: 0.7008
Epoch: 990/2000, Loss: 0.7008
Epoch: 991/2000, Loss: 0.7008
Epoch: 992/2000, Loss: 0.7008
Epoch: 993/2000, Loss: 0.7008
Epoch: 994/2000, Loss: 0.7007
Epoch: 995/2000, Loss: 0.7007
Epoch: 996/2000, Loss: 0.7007
Epoch: 997/2000, Loss: 0.7007
Epoch: 998/2000, Loss: 0.7007
Epoch: 999/2000, Loss: 0.7006
Epoch: 1000/2000, Loss: 0.7006
Epoch: 1001/2000, Loss: 0.7006
Epoch: 1002/2000, Loss: 0.7006
Epoch: 1003/2000, Loss: 0.7006
Epoch: 1004/2000, Loss: 0.7006
Epoch: 1005/2000, Loss: 0.7006
Epoch: 1006/2000, Loss: 0.7005
Epoch: 1007/2000, Loss: 0.7005
Epoch: 1008/2000, Loss: 0.7005
Epoch: 1009/2000, Loss: 0.7005
Epoch: 1010/2000, Loss: 0.7005
Epoch: 1011/2000, Loss: 0.7005
Epoch: 1012/2000, Loss: 0.7005
Epoch: 1013/2000, Loss: 0.7005
Epoch: 1014/2000, Loss: 0.7005
Epoch: 1015/2000, Loss: 0.7005
Epoch: 1016/2000, Loss: 0.7005
Epoch: 1017/2000, Loss: 0.7004
Epoch: 1018/2000, Loss: 0.7004
Epoch: 1019/2000, Loss: 0.7004
Epoch: 1020/2000, Loss: 0.7004
Epoch: 1021/2000, Loss: 0.7004
Epoch: 1022/2000, Loss: 0.7004
Epoch: 1023/2000, Loss: 0.7004
Epoch: 1024/2000, Loss: 0.7004
Epoch: 1025/2000, Loss: 0.7004
Epoch: 1026/2000, Loss: 0.7004
Epoch: 1027/2000, Loss: 0.7003
Epoch: 1028/2000, Loss: 0.7003
Epoch: 1029/2000, Loss: 0.7003
Epoch: 1030/2000, Loss: 0.7003
Epoch: 1031/2000, Loss: 0.7003
Epoch: 1032/2000, Loss: 0.7003
Epoch: 1033/2000, Loss: 0.7003
Epoch: 1034/2000, Loss: 0.7003
Epoch: 1035/2000, Loss: 0.7003
Epoch: 1036/2000, Loss: 0.7003
Epoch: 1037/2000, Loss: 0.7003
Epoch: 1038/2000, Loss: 0.7002
Epoch: 1039/2000, Loss: 0.7002
Epoch: 1040/2000, Loss: 0.7002
Epoch: 1041/2000, Loss: 0.7002
Epoch: 1042/2000, Loss: 0.7002
Epoch: 1043/2000, Loss: 0.7002
Epoch: 1044/2000, Loss: 0.7002
Epoch: 1045/2000, Loss: 0.7002
Epoch: 1046/2000, Loss: 0.7002
Epoch: 1047/2000, Loss: 0.7002
Epoch: 1048/2000, Loss: 0.7002
Epoch: 1049/2000, Loss: 0.7001
Epoch: 1050/2000, Loss: 0.7001
Epoch: 1051/2000, Loss: 0.7001
Epoch: 1052/2000, Loss: 0.7001
Epoch: 1053/2000, Loss: 0.7001
Epoch: 1054/2000, Loss: 0.7001
Epoch: 1055/2000, Loss: 0.7001
Epoch: 1056/2000, Loss: 0.7001
Epoch: 1057/2000, Loss: 0.7001
Epoch: 1058/2000, Loss: 0.7001
Epoch: 1059/2000, Loss: 0.7001
Epoch: 1060/2000, Loss: 0.7000
Epoch: 1061/2000, Loss: 0.7000
Epoch: 1062/2000, Loss: 0.7000
Epoch: 1063/2000, Loss: 0.7000
Epoch: 1064/2000, Loss: 0.7000
Epoch: 1065/2000, Loss: 0.7000
Epoch: 1066/2000, Loss: 0.7000
Epoch: 1067/2000, Loss: 0.7000
Epoch: 1068/2000, Loss: 0.7000
Epoch: 1069/2000, Loss: 0.7000
Epoch: 1070/2000, Loss: 0.7000
Epoch: 1071/2000, Loss: 0.6999
Epoch: 1072/2000, Loss: 0.6999
Epoch: 1073/2000, Loss: 0.6999
Epoch: 1074/2000, Loss: 0.6999
Epoch: 1075/2000, Loss: 0.6999
Epoch: 1076/2000, Loss: 0.6999
Epoch: 1077/2000, Loss: 0.6999
Epoch: 1078/2000, Loss: 0.6999
Epoch: 1079/2000, Loss: 0.6999
Epoch: 1080/2000, Loss: 0.6999
Epoch: 1081/2000, Loss: 0.6999
Epoch: 1082/2000, Loss: 0.6998
Epoch: 1083/2000, Loss: 0.6998
Epoch: 1084/2000, Loss: 0.6998
Epoch: 1085/2000, Loss: 0.6998
Epoch: 1086/2000, Loss: 0.6998
Epoch: 1087/2000, Loss: 0.6998
Epoch: 1088/2000, Loss: 0.6998
Epoch: 1089/2000, Loss: 0.6998
Epoch: 1090/2000, Loss: 0.6998
Epoch: 1091/2000, Loss: 0.6998
Epoch: 1092/2000, Loss: 0.6998
Epoch: 1093/2000, Loss: 0.6998
Epoch: 1094/2000, Loss: 0.6997
Epoch: 1095/2000, Loss: 0.6997
Epoch: 1096/2000, Loss: 0.6997
Epoch: 1097/2000, Loss: 0.6997
Epoch: 1098/2000, Loss: 0.6997
Epoch: 1099/2000, Loss: 0.6997
Epoch: 1100/2000, Loss: 0.6997
Epoch: 1101/2000, Loss: 0.6997
Epoch: 1102/2000, Loss: 0.6997
Epoch: 1103/2000, Loss: 0.6997
Epoch: 1104/2000, Loss: 0.6997
Epoch: 1105/2000, Loss: 0.6996
Epoch: 1106/2000, Loss: 0.6996
Epoch: 1107/2000, Loss: 0.6996
Epoch: 1108/2000, Loss: 0.6996
Epoch: 1109/2000, Loss: 0.6996
Epoch: 1110/2000, Loss: 0.6996
Epoch: 1111/2000, Loss: 0.6996
Epoch: 1112/2000, Loss: 0.6996
Epoch: 1113/2000, Loss: 0.6996
Epoch: 1114/2000, Loss: 0.6996
Epoch: 1115/2000, Loss: 0.6996
Epoch: 1116/2000, Loss: 0.6996
Epoch: 1117/2000, Loss: 0.6995
Epoch: 1118/2000, Loss: 0.6995
Epoch: 1119/2000, Loss: 0.6995
Epoch: 1120/2000, Loss: 0.6995
Epoch: 1121/2000, Loss: 0.6995
Epoch: 1122/2000, Loss: 0.6995
Epoch: 1123/2000, Loss: 0.6995
Epoch: 1124/2000, Loss: 0.6995
Epoch: 1125/2000, Loss: 0.6995
Epoch: 1126/2000, Loss: 0.6995
Epoch: 1127/2000, Loss: 0.6995
Epoch: 1128/2000, Loss: 0.6995
Epoch: 1129/2000, Loss: 0.6994
Epoch: 1130/2000, Loss: 0.6994
Epoch: 1131/2000, Loss: 0.6994
Epoch: 1132/2000, Loss: 0.6994
Epoch: 1133/2000, Loss: 0.6994
Epoch: 1134/2000, Loss: 0.6994
Epoch: 1135/2000, Loss: 0.6994
Epoch: 1136/2000, Loss: 0.6994
Epoch: 1137/2000, Loss: 0.6994
Epoch: 1138/2000, Loss: 0.6994
Epoch: 1139/2000, Loss: 0.6994
Epoch: 1140/2000, Loss: 0.6994
Epoch: 1141/2000, Loss: 0.6993
Epoch: 1142/2000, Loss: 0.6993
Epoch: 1143/2000, Loss: 0.6993
Epoch: 1144/2000, Loss: 0.6993
Epoch: 1145/2000, Loss: 0.6993
Epoch: 1146/2000, Loss: 0.6993
Epoch: 1147/2000, Loss: 0.6993
Epoch: 1148/2000, Loss: 0.6993
Epoch: 1149/2000, Loss: 0.6993
Epoch: 1150/2000, Loss: 0.6993
Epoch: 1151/2000, Loss: 0.6993
Epoch: 1152/2000, Loss: 0.6993
Epoch: 1153/2000, Loss: 0.6993
Epoch: 1154/2000, Loss: 0.6992
Epoch: 1155/2000, Loss: 0.6992
Epoch: 1156/2000, Loss: 0.6992
Epoch: 1157/2000, Loss: 0.6992
Epoch: 1158/2000, Loss: 0.6992
Epoch: 1159/2000, Loss: 0.6992
Epoch: 1160/2000, Loss: 0.6992
Epoch: 1161/2000, Loss: 0.6992
Epoch: 1162/2000, Loss: 0.6992
Epoch: 1163/2000, Loss: 0.6992
Epoch: 1164/2000, Loss: 0.6992
Epoch: 1165/2000, Loss: 0.6992
Epoch: 1166/2000, Loss: 0.6991
Epoch: 1167/2000, Loss: 0.6991
Epoch: 1168/2000, Loss: 0.6991
Epoch: 1169/2000, Loss: 0.6991
Epoch: 1170/2000, Loss: 0.6991
Epoch: 1171/2000, Loss: 0.6991
Epoch: 1172/2000, Loss: 0.6991
Epoch: 1173/2000, Loss: 0.6991
Epoch: 1174/2000, Loss: 0.6991
Epoch: 1175/2000, Loss: 0.6991
Epoch: 1176/2000, Loss: 0.6991
Epoch: 1177/2000, Loss: 0.6991
Epoch: 1178/2000, Loss: 0.6991
Epoch: 1179/2000, Loss: 0.6990
Epoch: 1180/2000, Loss: 0.6990
Epoch: 1181/2000, Loss: 0.6990
Epoch: 1182/2000, Loss: 0.6990
Epoch: 1183/2000, Loss: 0.6990
Epoch: 1184/2000, Loss: 0.6990
Epoch: 1185/2000, Loss: 0.6990
Epoch: 1186/2000, Loss: 0.6990
Epoch: 1187/2000, Loss: 0.6990
Epoch: 1188/2000, Loss: 0.6990
Epoch: 1189/2000, Loss: 0.6990
Epoch: 1190/2000, Loss: 0.6990
Epoch: 1191/2000, Loss: 0.6990
Epoch: 1192/2000, Loss: 0.6989
Epoch: 1193/2000, Loss: 0.6989
Epoch: 1194/2000, Loss: 0.6989
Epoch: 1195/2000, Loss: 0.6989
Epoch: 1196/2000, Loss: 0.6989
Epoch: 1197/2000, Loss: 0.6989
Epoch: 1198/2000, Loss: 0.6989
Epoch: 1199/2000, Loss: 0.6989
Epoch: 1200/2000, Loss: 0.6989
Epoch: 1201/2000, Loss: 0.6989
Epoch: 1202/2000, Loss: 0.6989
Epoch: 1203/2000, Loss: 0.6989
Epoch: 1204/2000, Loss: 0.6989
Epoch: 1205/2000, Loss: 0.6988
Epoch: 1206/2000, Loss: 0.6988
Epoch: 1207/2000, Loss: 0.6988
Epoch: 1208/2000, Loss: 0.6988
Epoch: 1209/2000, Loss: 0.6988
Epoch: 1210/2000, Loss: 0.6988
Epoch: 1211/2000, Loss: 0.6988
Epoch: 1212/2000, Loss: 0.6988
Epoch: 1213/2000, Loss: 0.6988
Epoch: 1214/2000, Loss: 0.6988
Epoch: 1215/2000, Loss: 0.6988
Epoch: 1216/2000, Loss: 0.6988
Epoch: 1217/2000, Loss: 0.6988
Epoch: 1218/2000, Loss: 0.6987
Epoch: 1219/2000, Loss: 0.6987
Epoch: 1220/2000, Loss: 0.6987
Epoch: 1221/2000, Loss: 0.6987
Epoch: 1222/2000, Loss: 0.6987
Epoch: 1223/2000, Loss: 0.6987
Epoch: 1224/2000, Loss: 0.6987
Epoch: 1225/2000, Loss: 0.6987
Epoch: 1226/2000, Loss: 0.6987
Epoch: 1227/2000, Loss: 0.6987
Epoch: 1228/2000, Loss: 0.6987
Epoch: 1229/2000, Loss: 0.6987
Epoch: 1230/2000, Loss: 0.6987
Epoch: 1231/2000, Loss: 0.6986
Epoch: 1232/2000, Loss: 0.6986
Epoch: 1233/2000, Loss: 0.6986
Epoch: 1234/2000, Loss: 0.6986
Epoch: 1235/2000, Loss: 0.6986
Epoch: 1236/2000, Loss: 0.6986
Epoch: 1237/2000, Loss: 0.6986
Epoch: 1238/2000, Loss: 0.6986
Epoch: 1239/2000, Loss: 0.6986
Epoch: 1240/2000, Loss: 0.6986
Epoch: 1241/2000, Loss: 0.6986
Epoch: 1242/2000, Loss: 0.6986
Epoch: 1243/2000, Loss: 0.6986
Epoch: 1244/2000, Loss: 0.6986
Epoch: 1245/2000, Loss: 0.6985
Epoch: 1246/2000, Loss: 0.6985
Epoch: 1247/2000, Loss: 0.6985
Epoch: 1248/2000, Loss: 0.6985
Epoch: 1249/2000, Loss: 0.6985
Epoch: 1250/2000, Loss: 0.6985
Epoch: 1251/2000, Loss: 0.6985
Epoch: 1252/2000, Loss: 0.6985
Epoch: 1253/2000, Loss: 0.6985
Epoch: 1254/2000, Loss: 0.6985
Epoch: 1255/2000, Loss: 0.6985
Epoch: 1256/2000, Loss: 0.6985
Epoch: 1257/2000, Loss: 0.6985
Epoch: 1258/2000, Loss: 0.6985
Epoch: 1259/2000, Loss: 0.6984
Epoch: 1260/2000, Loss: 0.6984
Epoch: 1261/2000, Loss: 0.6984
Epoch: 1262/2000, Loss: 0.6984
Epoch: 1263/2000, Loss: 0.6984
Epoch: 1264/2000, Loss: 0.6984
Epoch: 1265/2000, Loss: 0.6984
Epoch: 1266/2000, Loss: 0.6984
Epoch: 1267/2000, Loss: 0.6984
Epoch: 1268/2000, Loss: 0.6984
Epoch: 1269/2000, Loss: 0.6984
Epoch: 1270/2000, Loss: 0.6984
Epoch: 1271/2000, Loss: 0.6984
Epoch: 1272/2000, Loss: 0.6984
Epoch: 1273/2000, Loss: 0.6983
Epoch: 1274/2000, Loss: 0.6983
Epoch: 1275/2000, Loss: 0.6983
Epoch: 1276/2000, Loss: 0.6983
Epoch: 1277/2000, Loss: 0.6983
Epoch: 1278/2000, Loss: 0.6983
Epoch: 1279/2000, Loss: 0.6983
Epoch: 1280/2000, Loss: 0.6983
Epoch: 1281/2000, Loss: 0.6983
Epoch: 1282/2000, Loss: 0.6983
Epoch: 1283/2000, Loss: 0.6983
Epoch: 1284/2000, Loss: 0.6983
Epoch: 1285/2000, Loss: 0.6983
Epoch: 1286/2000, Loss: 0.6983
Epoch: 1287/2000, Loss: 0.6982
Epoch: 1288/2000, Loss: 0.6982
Epoch: 1289/2000, Loss: 0.6982
Epoch: 1290/2000, Loss: 0.6982
Epoch: 1291/2000, Loss: 0.6982
Epoch: 1292/2000, Loss: 0.6982
Epoch: 1293/2000, Loss: 0.6982
Epoch: 1294/2000, Loss: 0.6982
Epoch: 1295/2000, Loss: 0.6982
Epoch: 1296/2000, Loss: 0.6982
Epoch: 1297/2000, Loss: 0.6982
Epoch: 1298/2000, Loss: 0.6982
Epoch: 1299/2000, Loss: 0.6982
Epoch: 1300/2000, Loss: 0.6982
Epoch: 1301/2000, Loss: 0.6981
Epoch: 1302/2000, Loss: 0.6981
Epoch: 1303/2000, Loss: 0.6981
Epoch: 1304/2000, Loss: 0.6981
Epoch: 1305/2000, Loss: 0.6981
Epoch: 1306/2000, Loss: 0.6981
Epoch: 1307/2000, Loss: 0.6981
Epoch: 1308/2000, Loss: 0.6981
Epoch: 1309/2000, Loss: 0.6981
Epoch: 1310/2000, Loss: 0.6981
Epoch: 1311/2000, Loss: 0.6981
Epoch: 1312/2000, Loss: 0.6981
Epoch: 1313/2000, Loss: 0.6981
Epoch: 1314/2000, Loss: 0.6981
Epoch: 1315/2000, Loss: 0.6981
Epoch: 1316/2000, Loss: 0.6980
Epoch: 1317/2000, Loss: 0.6980
Epoch: 1318/2000, Loss: 0.6980
Epoch: 1319/2000, Loss: 0.6980
Epoch: 1320/2000, Loss: 0.6980
Epoch: 1321/2000, Loss: 0.6980
Epoch: 1322/2000, Loss: 0.6980
Epoch: 1323/2000, Loss: 0.6980
Epoch: 1324/2000, Loss: 0.6980
Epoch: 1325/2000, Loss: 0.6980
Epoch: 1326/2000, Loss: 0.6980
Epoch: 1327/2000, Loss: 0.6980
Epoch: 1328/2000, Loss: 0.6980
Epoch: 1329/2000, Loss: 0.6980
Epoch: 1330/2000, Loss: 0.6980
Epoch: 1331/2000, Loss: 0.6979
Epoch: 1332/2000, Loss: 0.6979
Epoch: 1333/2000, Loss: 0.6979
Epoch: 1334/2000, Loss: 0.6979
Epoch: 1335/2000, Loss: 0.6979
Epoch: 1336/2000, Loss: 0.6979
Epoch: 1337/2000, Loss: 0.6979
Epoch: 1338/2000, Loss: 0.6979
Epoch: 1339/2000, Loss: 0.6979
Epoch: 1340/2000, Loss: 0.6979
Epoch: 1341/2000, Loss: 0.6979
Epoch: 1342/2000, Loss: 0.6979
Epoch: 1343/2000, Loss: 0.6979
Epoch: 1344/2000, Loss: 0.6979
Epoch: 1345/2000, Loss: 0.6979
Epoch: 1346/2000, Loss: 0.6978
Epoch: 1347/2000, Loss: 0.6978
Epoch: 1348/2000, Loss: 0.6978
Epoch: 1349/2000, Loss: 0.6978
Epoch: 1350/2000, Loss: 0.6978
Epoch: 1351/2000, Loss: 0.6978
Epoch: 1352/2000, Loss: 0.6978
Epoch: 1353/2000, Loss: 0.6978
Epoch: 1354/2000, Loss: 0.6978
Epoch: 1355/2000, Loss: 0.6978
Epoch: 1356/2000, Loss: 0.6978
Epoch: 1357/2000, Loss: 0.6978
Epoch: 1358/2000, Loss: 0.6978
Epoch: 1359/2000, Loss: 0.6978
Epoch: 1360/2000, Loss: 0.6978
Epoch: 1361/2000, Loss: 0.6978
Epoch: 1362/2000, Loss: 0.6977
Epoch: 1363/2000, Loss: 0.6977
Epoch: 1364/2000, Loss: 0.6977
Epoch: 1365/2000, Loss: 0.6977
Epoch: 1366/2000, Loss: 0.6977
Epoch: 1367/2000, Loss: 0.6977
Epoch: 1368/2000, Loss: 0.6977
Epoch: 1369/2000, Loss: 0.6977
Epoch: 1370/2000, Loss: 0.6977
Epoch: 1371/2000, Loss: 0.6977
Epoch: 1372/2000, Loss: 0.6977
Epoch: 1373/2000, Loss: 0.6977
Epoch: 1374/2000, Loss: 0.6977
Epoch: 1375/2000, Loss: 0.6977
Epoch: 1376/2000, Loss: 0.6977
Epoch: 1377/2000, Loss: 0.6976
Epoch: 1378/2000, Loss: 0.6976
Epoch: 1379/2000, Loss: 0.6976
Epoch: 1380/2000, Loss: 0.6976
Epoch: 1381/2000, Loss: 0.6976
Epoch: 1382/2000, Loss: 0.6976
Epoch: 1383/2000, Loss: 0.6976
Epoch: 1384/2000, Loss: 0.6976
Epoch: 1385/2000, Loss: 0.6976
Epoch: 1386/2000, Loss: 0.6976
Epoch: 1387/2000, Loss: 0.6976
Epoch: 1388/2000, Loss: 0.6976
Epoch: 1389/2000, Loss: 0.6976
Epoch: 1390/2000, Loss: 0.6976
Epoch: 1391/2000, Loss: 0.6976
Epoch: 1392/2000, Loss: 0.6976
Epoch: 1393/2000, Loss: 0.6975
Epoch: 1394/2000, Loss: 0.6975
Epoch: 1395/2000, Loss: 0.6975
Epoch: 1396/2000, Loss: 0.6975
Epoch: 1397/2000, Loss: 0.6975
Epoch: 1398/2000, Loss: 0.6975
Epoch: 1399/2000, Loss: 0.6975
Epoch: 1400/2000, Loss: 0.6975
Epoch: 1401/2000, Loss: 0.6975
Epoch: 1402/2000, Loss: 0.6975
Epoch: 1403/2000, Loss: 0.6975
Epoch: 1404/2000, Loss: 0.6975
Epoch: 1405/2000, Loss: 0.6975
Epoch: 1406/2000, Loss: 0.6975
Epoch: 1407/2000, Loss: 0.6975
Epoch: 1408/2000, Loss: 0.6975
Epoch: 1409/2000, Loss: 0.6974
Epoch: 1410/2000, Loss: 0.6974
Epoch: 1411/2000, Loss: 0.6974
Epoch: 1412/2000, Loss: 0.6974
Epoch: 1413/2000, Loss: 0.6974
Epoch: 1414/2000, Loss: 0.6974
Epoch: 1415/2000, Loss: 0.6974
Epoch: 1416/2000, Loss: 0.6974
Epoch: 1417/2000, Loss: 0.6974
Epoch: 1418/2000, Loss: 0.6974
Epoch: 1419/2000, Loss: 0.6974
Epoch: 1420/2000, Loss: 0.6974
Epoch: 1421/2000, Loss: 0.6974
Epoch: 1422/2000, Loss: 0.6974
Epoch: 1423/2000, Loss: 0.6974
Epoch: 1424/2000, Loss: 0.6974
Epoch: 1425/2000, Loss: 0.6974
Epoch: 1426/2000, Loss: 0.6973
Epoch: 1427/2000, Loss: 0.6973
Epoch: 1428/2000, Loss: 0.6973
Epoch: 1429/2000, Loss: 0.6973
Epoch: 1430/2000, Loss: 0.6973
Epoch: 1431/2000, Loss: 0.6973
Epoch: 1432/2000, Loss: 0.6973
Epoch: 1433/2000, Loss: 0.6973
Epoch: 1434/2000, Loss: 0.6973
Epoch: 1435/2000, Loss: 0.6973
Epoch: 1436/2000, Loss: 0.6973
Epoch: 1437/2000, Loss: 0.6973
Epoch: 1438/2000, Loss: 0.6973
Epoch: 1439/2000, Loss: 0.6973
Epoch: 1440/2000, Loss: 0.6973
Epoch: 1441/2000, Loss: 0.6973
Epoch: 1442/2000, Loss: 0.6972
Epoch: 1443/2000, Loss: 0.6972
Epoch: 1444/2000, Loss: 0.6972
Epoch: 1445/2000, Loss: 0.6972
Epoch: 1446/2000, Loss: 0.6972
Epoch: 1447/2000, Loss: 0.6972
Epoch: 1448/2000, Loss: 0.6972
Epoch: 1449/2000, Loss: 0.6972
Epoch: 1450/2000, Loss: 0.6972
Epoch: 1451/2000, Loss: 0.6972
Epoch: 1452/2000, Loss: 0.6972
Epoch: 1453/2000, Loss: 0.6972
Epoch: 1454/2000, Loss: 0.6972
Epoch: 1455/2000, Loss: 0.6972
Epoch: 1456/2000, Loss: 0.6972
Epoch: 1457/2000, Loss: 0.6972
Epoch: 1458/2000, Loss: 0.6972
Epoch: 1459/2000, Loss: 0.6971
Epoch: 1460/2000, Loss: 0.6971
Epoch: 1461/2000, Loss: 0.6971
Epoch: 1462/2000, Loss: 0.6971
Epoch: 1463/2000, Loss: 0.6971
Epoch: 1464/2000, Loss: 0.6971
Epoch: 1465/2000, Loss: 0.6971
Epoch: 1466/2000, Loss: 0.6971
Epoch: 1467/2000, Loss: 0.6971
Epoch: 1468/2000, Loss: 0.6971
Epoch: 1469/2000, Loss: 0.6971
Epoch: 1470/2000, Loss: 0.6971
Epoch: 1471/2000, Loss: 0.6971
Epoch: 1472/2000, Loss: 0.6971
Epoch: 1473/2000, Loss: 0.6971
Epoch: 1474/2000, Loss: 0.6971
Epoch: 1475/2000, Loss: 0.6971
Epoch: 1476/2000, Loss: 0.6970
Epoch: 1477/2000, Loss: 0.6970
Epoch: 1478/2000, Loss: 0.6970
Epoch: 1479/2000, Loss: 0.6970
Epoch: 1480/2000, Loss: 0.6970
Epoch: 1481/2000, Loss: 0.6970
Epoch: 1482/2000, Loss: 0.6970
Epoch: 1483/2000, Loss: 0.6970
Epoch: 1484/2000, Loss: 0.6970
Epoch: 1485/2000, Loss: 0.6970
Epoch: 1486/2000, Loss: 0.6970
Epoch: 1487/2000, Loss: 0.6970
Epoch: 1488/2000, Loss: 0.6970
Epoch: 1489/2000, Loss: 0.6970
Epoch: 1490/2000, Loss: 0.6970
Epoch: 1491/2000, Loss: 0.6970
Epoch: 1492/2000, Loss: 0.6970
Epoch: 1493/2000, Loss: 0.6969
Epoch: 1494/2000, Loss: 0.6969
Epoch: 1495/2000, Loss: 0.6969
Epoch: 1496/2000, Loss: 0.6969
Epoch: 1497/2000, Loss: 0.6969
Epoch: 1498/2000, Loss: 0.6969
Epoch: 1499/2000, Loss: 0.6969
Epoch: 1500/2000, Loss: 0.6969
Epoch: 1501/2000, Loss: 0.6969
Epoch: 1502/2000, Loss: 0.6969
Epoch: 1503/2000, Loss: 0.6969
Epoch: 1504/2000, Loss: 0.6969
Epoch: 1505/2000, Loss: 0.6969
Epoch: 1506/2000, Loss: 0.6969
Epoch: 1507/2000, Loss: 0.6969
Epoch: 1508/2000, Loss: 0.6969
Epoch: 1509/2000, Loss: 0.6969
Epoch: 1510/2000, Loss: 0.6969
Epoch: 1511/2000, Loss: 0.6969
Epoch: 1512/2000, Loss: 0.6969
Epoch: 1513/2000, Loss: 0.6969
Epoch: 1514/2000, Loss: 0.6969
Epoch: 1515/2000, Loss: 0.6969
Epoch: 1516/2000, Loss: 0.6969
Epoch: 1517/2000, Loss: 0.6969
Epoch: 1518/2000, Loss: 0.6969
Epoch: 1519/2000, Loss: 0.6968
Epoch: 1520/2000, Loss: 0.6968
Epoch: 1521/2000, Loss: 0.6968
Epoch: 1522/2000, Loss: 0.6968
Epoch: 1523/2000, Loss: 0.6968
Epoch: 1524/2000, Loss: 0.6968
Epoch: 1525/2000, Loss: 0.6968
Epoch: 1526/2000, Loss: 0.6968
Epoch: 1527/2000, Loss: 0.6968
Epoch: 1528/2000, Loss: 0.6968
Epoch: 1529/2000, Loss: 0.6968
Epoch: 1530/2000, Loss: 0.6968
Epoch: 1531/2000, Loss: 0.6968
Epoch: 1532/2000, Loss: 0.6968
Epoch: 1533/2000, Loss: 0.6968
Epoch: 1534/2000, Loss: 0.6968
Epoch: 1535/2000, Loss: 0.6968
Epoch: 1536/2000, Loss: 0.6968
Epoch: 1537/2000, Loss: 0.6968
Epoch: 1538/2000, Loss: 0.6968
Epoch: 1539/2000, Loss: 0.6968
Epoch: 1540/2000, Loss: 0.6968
Epoch: 1541/2000, Loss: 0.6968
Epoch: 1542/2000, Loss: 0.6968
Epoch: 1543/2000, Loss: 0.6968
Epoch: 1544/2000, Loss: 0.6968
Epoch: 1545/2000, Loss: 0.6968
Epoch: 1546/2000, Loss: 0.6968
Epoch: 1547/2000, Loss: 0.6968
Epoch: 1548/2000, Loss: 0.6968
Epoch: 1549/2000, Loss: 0.6968
Epoch: 1550/2000, Loss: 0.6968
Epoch: 1551/2000, Loss: 0.6968
Epoch: 1552/2000, Loss: 0.6968
Epoch: 1553/2000, Loss: 0.6968
Epoch: 1554/2000, Loss: 0.6967
Epoch: 1555/2000, Loss: 0.6967
Epoch: 1556/2000, Loss: 0.6967
Epoch: 1557/2000, Loss: 0.6967
Epoch: 1558/2000, Loss: 0.6967
Epoch: 1559/2000, Loss: 0.6967
Epoch: 1560/2000, Loss: 0.6967
Epoch: 1561/2000, Loss: 0.6967
Epoch: 1562/2000, Loss: 0.6967
Epoch: 1563/2000, Loss: 0.6967
Epoch: 1564/2000, Loss: 0.6967
Epoch: 1565/2000, Loss: 0.6967
Epoch: 1566/2000, Loss: 0.6967
Epoch: 1567/2000, Loss: 0.6967
Epoch: 1568/2000, Loss: 0.6967
Epoch: 1569/2000, Loss: 0.6967
Epoch: 1570/2000, Loss: 0.6967
Epoch: 1571/2000, Loss: 0.6967
Epoch: 1572/2000, Loss: 0.6967
Epoch: 1573/2000, Loss: 0.6967
Epoch: 1574/2000, Loss: 0.6967
Epoch: 1575/2000, Loss: 0.6967
Epoch: 1576/2000, Loss: 0.6967
Epoch: 1577/2000, Loss: 0.6967
Epoch: 1578/2000, Loss: 0.6967
Epoch: 1579/2000, Loss: 0.6967
Epoch: 1580/2000, Loss: 0.6967
Epoch: 1581/2000, Loss: 0.6967
Epoch: 1582/2000, Loss: 0.6967
Epoch: 1583/2000, Loss: 0.6967
Epoch: 1584/2000, Loss: 0.6967
Epoch: 1585/2000, Loss: 0.6967
Epoch: 1586/2000, Loss: 0.6967
Epoch: 1587/2000, Loss: 0.6967
Epoch: 1588/2000, Loss: 0.6967
Epoch: 1589/2000, Loss: 0.6967
Epoch: 1590/2000, Loss: 0.6967
Epoch: 1591/2000, Loss: 0.6966
Epoch: 1592/2000, Loss: 0.6966
Epoch: 1593/2000, Loss: 0.6966
Epoch: 1594/2000, Loss: 0.6966
Epoch: 1595/2000, Loss: 0.6966
Epoch: 1596/2000, Loss: 0.6966
Epoch: 1597/2000, Loss: 0.6966
Epoch: 1598/2000, Loss: 0.6966
Epoch: 1599/2000, Loss: 0.6966
Epoch: 1600/2000, Loss: 0.6966
Epoch: 1601/2000, Loss: 0.6966
Epoch: 1602/2000, Loss: 0.6966
Epoch: 1603/2000, Loss: 0.6966
Epoch: 1604/2000, Loss: 0.6966
Epoch: 1605/2000, Loss: 0.6966
Epoch: 1606/2000, Loss: 0.6966
Epoch: 1607/2000, Loss: 0.6966
Epoch: 1608/2000, Loss: 0.6966
Epoch: 1609/2000, Loss: 0.6966
Epoch: 1610/2000, Loss: 0.6966
Epoch: 1611/2000, Loss: 0.6966
Epoch: 1612/2000, Loss: 0.6966
Epoch: 1613/2000, Loss: 0.6966
Epoch: 1614/2000, Loss: 0.6966
Epoch: 1615/2000, Loss: 0.6966
Epoch: 1616/2000, Loss: 0.6966
Epoch: 1617/2000, Loss: 0.6966
Epoch: 1618/2000, Loss: 0.6966
Epoch: 1619/2000, Loss: 0.6966
Epoch: 1620/2000, Loss: 0.6966
Epoch: 1621/2000, Loss: 0.6966
Epoch: 1622/2000, Loss: 0.6966
Epoch: 1623/2000, Loss: 0.6966
Epoch: 1624/2000, Loss: 0.6966
Epoch: 1625/2000, Loss: 0.6966
Epoch: 1626/2000, Loss: 0.6966
Epoch: 1627/2000, Loss: 0.6966
Epoch: 1628/2000, Loss: 0.6965
Epoch: 1629/2000, Loss: 0.6965
Epoch: 1630/2000, Loss: 0.6965
Epoch: 1631/2000, Loss: 0.6965
Epoch: 1632/2000, Loss: 0.6965
Epoch: 1633/2000, Loss: 0.6965
Epoch: 1634/2000, Loss: 0.6965
Epoch: 1635/2000, Loss: 0.6965
Epoch: 1636/2000, Loss: 0.6965
Epoch: 1637/2000, Loss: 0.6965
Epoch: 1638/2000, Loss: 0.6965
Epoch: 1639/2000, Loss: 0.6965
Epoch: 1640/2000, Loss: 0.6965
Epoch: 1641/2000, Loss: 0.6965
Epoch: 1642/2000, Loss: 0.6965
Epoch: 1643/2000, Loss: 0.6965
Epoch: 1644/2000, Loss: 0.6965
Epoch: 1645/2000, Loss: 0.6965
Epoch: 1646/2000, Loss: 0.6965
Epoch: 1647/2000, Loss: 0.6965
Epoch: 1648/2000, Loss: 0.6965
Epoch: 1649/2000, Loss: 0.6965
Epoch: 1650/2000, Loss: 0.6965
Epoch: 1651/2000, Loss: 0.6965
Epoch: 1652/2000, Loss: 0.6965
Epoch: 1653/2000, Loss: 0.6965
Epoch: 1654/2000, Loss: 0.6965
Epoch: 1655/2000, Loss: 0.6965
Epoch: 1656/2000, Loss: 0.6965
Epoch: 1657/2000, Loss: 0.6965
Epoch: 1658/2000, Loss: 0.6965
Epoch: 1659/2000, Loss: 0.6965
Epoch: 1660/2000, Loss: 0.6965
Epoch: 1661/2000, Loss: 0.6965
Epoch: 1662/2000, Loss: 0.6965
Epoch: 1663/2000, Loss: 0.6965
Epoch: 1664/2000, Loss: 0.6965
Epoch: 1665/2000, Loss: 0.6965
Epoch: 1666/2000, Loss: 0.6964
Epoch: 1667/2000, Loss: 0.6964
Epoch: 1668/2000, Loss: 0.6964
Epoch: 1669/2000, Loss: 0.6964
Epoch: 1670/2000, Loss: 0.6964
Epoch: 1671/2000, Loss: 0.6964
Epoch: 1672/2000, Loss: 0.6964
Epoch: 1673/2000, Loss: 0.6964
Epoch: 1674/2000, Loss: 0.6964
Epoch: 1675/2000, Loss: 0.6964
Epoch: 1676/2000, Loss: 0.6964
Epoch: 1677/2000, Loss: 0.6964
Epoch: 1678/2000, Loss: 0.6964
Epoch: 1679/2000, Loss: 0.6964
Epoch: 1680/2000, Loss: 0.6964
Epoch: 1681/2000, Loss: 0.6964
Epoch: 1682/2000, Loss: 0.6964
Epoch: 1683/2000, Loss: 0.6964
Epoch: 1684/2000, Loss: 0.6964
Epoch: 1685/2000, Loss: 0.6964
Epoch: 1686/2000, Loss: 0.6964
Epoch: 1687/2000, Loss: 0.6964
Epoch: 1688/2000, Loss: 0.6964
Epoch: 1689/2000, Loss: 0.6964
Epoch: 1690/2000, Loss: 0.6964
Epoch: 1691/2000, Loss: 0.6964
Epoch: 1692/2000, Loss: 0.6964
Epoch: 1693/2000, Loss: 0.6964
Epoch: 1694/2000, Loss: 0.6964
Epoch: 1695/2000, Loss: 0.6964
Epoch: 1696/2000, Loss: 0.6964
Epoch: 1697/2000, Loss: 0.6964
Epoch: 1698/2000, Loss: 0.6964
Epoch: 1699/2000, Loss: 0.6964
Epoch: 1700/2000, Loss: 0.6964
Epoch: 1701/2000, Loss: 0.6964
Epoch: 1702/2000, Loss: 0.6964
Epoch: 1703/2000, Loss: 0.6964
Epoch: 1704/2000, Loss: 0.6963
Epoch: 1705/2000, Loss: 0.6963
Epoch: 1706/2000, Loss: 0.6963
Epoch: 1707/2000, Loss: 0.6963
Epoch: 1708/2000, Loss: 0.6963
Epoch: 1709/2000, Loss: 0.6963
Epoch: 1710/2000, Loss: 0.6963
Epoch: 1711/2000, Loss: 0.6963
Epoch: 1712/2000, Loss: 0.6963
Epoch: 1713/2000, Loss: 0.6963
Epoch: 1714/2000, Loss: 0.6963
Epoch: 1715/2000, Loss: 0.6963
Epoch: 1716/2000, Loss: 0.6963
Epoch: 1717/2000, Loss: 0.6963
Epoch: 1718/2000, Loss: 0.6963
Epoch: 1719/2000, Loss: 0.6963
Epoch: 1720/2000, Loss: 0.6963
Epoch: 1721/2000, Loss: 0.6963
Epoch: 1722/2000, Loss: 0.6963
Epoch: 1723/2000, Loss: 0.6963
Epoch: 1724/2000, Loss: 0.6963
Epoch: 1725/2000, Loss: 0.6963
Epoch: 1726/2000, Loss: 0.6963
Epoch: 1727/2000, Loss: 0.6963
Epoch: 1728/2000, Loss: 0.6963
Epoch: 1729/2000, Loss: 0.6963
Epoch: 1730/2000, Loss: 0.6963
Epoch: 1731/2000, Loss: 0.6963
Epoch: 1732/2000, Loss: 0.6963
Epoch: 1733/2000, Loss: 0.6963
Epoch: 1734/2000, Loss: 0.6963
Epoch: 1735/2000, Loss: 0.6963
Epoch: 1736/2000, Loss: 0.6963
Epoch: 1737/2000, Loss: 0.6963
Epoch: 1738/2000, Loss: 0.6963
Epoch: 1739/2000, Loss: 0.6963
Epoch: 1740/2000, Loss: 0.6963
Epoch: 1741/2000, Loss: 0.6963
Epoch: 1742/2000, Loss: 0.6963
Epoch: 1743/2000, Loss: 0.6962
Epoch: 1744/2000, Loss: 0.6962
Epoch: 1745/2000, Loss: 0.6962
Epoch: 1746/2000, Loss: 0.6962
Epoch: 1747/2000, Loss: 0.6962
Epoch: 1748/2000, Loss: 0.6962
Epoch: 1749/2000, Loss: 0.6962
Epoch: 1750/2000, Loss: 0.6962
Epoch: 1751/2000, Loss: 0.6962
Epoch: 1752/2000, Loss: 0.6962
Epoch: 1753/2000, Loss: 0.6962
Epoch: 1754/2000, Loss: 0.6962
Epoch: 1755/2000, Loss: 0.6962
Epoch: 1756/2000, Loss: 0.6962
Epoch: 1757/2000, Loss: 0.6962
Epoch: 1758/2000, Loss: 0.6962
Epoch: 1759/2000, Loss: 0.6962
Epoch: 1760/2000, Loss: 0.6962
Epoch: 1761/2000, Loss: 0.6962
Epoch: 1762/2000, Loss: 0.6962
Epoch: 1763/2000, Loss: 0.6962
Epoch: 1764/2000, Loss: 0.6962
Epoch: 1765/2000, Loss: 0.6962
Epoch: 1766/2000, Loss: 0.6962
Epoch: 1767/2000, Loss: 0.6962
Epoch: 1768/2000, Loss: 0.6962
Epoch: 1769/2000, Loss: 0.6962
Epoch: 1770/2000, Loss: 0.6962
Epoch: 1771/2000, Loss: 0.6962
Epoch: 1772/2000, Loss: 0.6962
Epoch: 1773/2000, Loss: 0.6962
Epoch: 1774/2000, Loss: 0.6962
Epoch: 1775/2000, Loss: 0.6962
Epoch: 1776/2000, Loss: 0.6962
Epoch: 1777/2000, Loss: 0.6962
Epoch: 1778/2000, Loss: 0.6962
Epoch: 1779/2000, Loss: 0.6962
Epoch: 1780/2000, Loss: 0.6962
Epoch: 1781/2000, Loss: 0.6962
Epoch: 1782/2000, Loss: 0.6962
Epoch: 1783/2000, Loss: 0.6961
Epoch: 1784/2000, Loss: 0.6961
Epoch: 1785/2000, Loss: 0.6961
Epoch: 1786/2000, Loss: 0.6961
Epoch: 1787/2000, Loss: 0.6961
Epoch: 1788/2000, Loss: 0.6961
Epoch: 1789/2000, Loss: 0.6961
Epoch: 1790/2000, Loss: 0.6961
Epoch: 1791/2000, Loss: 0.6961
Epoch: 1792/2000, Loss: 0.6961
Epoch: 1793/2000, Loss: 0.6961
Epoch: 1794/2000, Loss: 0.6961
Epoch: 1795/2000, Loss: 0.6961
Epoch: 1796/2000, Loss: 0.6961
Epoch: 1797/2000, Loss: 0.6961
Epoch: 1798/2000, Loss: 0.6961
Epoch: 1799/2000, Loss: 0.6961
Epoch: 1800/2000, Loss: 0.6961
Epoch: 1801/2000, Loss: 0.6961
Epoch: 1802/2000, Loss: 0.6961
Epoch: 1803/2000, Loss: 0.6961
Epoch: 1804/2000, Loss: 0.6961
Epoch: 1805/2000, Loss: 0.6961
Epoch: 1806/2000, Loss: 0.6961
Epoch: 1807/2000, Loss: 0.6961
Epoch: 1808/2000, Loss: 0.6961
Epoch: 1809/2000, Loss: 0.6961
Epoch: 1810/2000, Loss: 0.6961
Epoch: 1811/2000, Loss: 0.6961
Epoch: 1812/2000, Loss: 0.6961
Epoch: 1813/2000, Loss: 0.6961
Epoch: 1814/2000, Loss: 0.6961
Epoch: 1815/2000, Loss: 0.6961
Epoch: 1816/2000, Loss: 0.6961
Epoch: 1817/2000, Loss: 0.6961
Epoch: 1818/2000, Loss: 0.6961
Epoch: 1819/2000, Loss: 0.6961
Epoch: 1820/2000, Loss: 0.6961
Epoch: 1821/2000, Loss: 0.6961
Epoch: 1822/2000, Loss: 0.6961
Epoch: 1823/2000, Loss: 0.6961
Epoch: 1824/2000, Loss: 0.6960
Epoch: 1825/2000, Loss: 0.6960
Epoch: 1826/2000, Loss: 0.6960
Epoch: 1827/2000, Loss: 0.6960
Epoch: 1828/2000, Loss: 0.6960
Epoch: 1829/2000, Loss: 0.6960
Epoch: 1830/2000, Loss: 0.6960
Epoch: 1831/2000, Loss: 0.6960
Epoch: 1832/2000, Loss: 0.6960
Epoch: 1833/2000, Loss: 0.6960
Epoch: 1834/2000, Loss: 0.6960
Epoch: 1835/2000, Loss: 0.6960
Epoch: 1836/2000, Loss: 0.6960
Epoch: 1837/2000, Loss: 0.6960
Epoch: 1838/2000, Loss: 0.6960
Epoch: 1839/2000, Loss: 0.6960
Epoch: 1840/2000, Loss: 0.6960
Epoch: 1841/2000, Loss: 0.6960
Epoch: 1842/2000, Loss: 0.6960
Epoch: 1843/2000, Loss: 0.6960
Epoch: 1844/2000, Loss: 0.6960
Epoch: 1845/2000, Loss: 0.6960
Epoch: 1846/2000, Loss: 0.6960
Epoch: 1847/2000, Loss: 0.6960
Epoch: 1848/2000, Loss: 0.6960
Epoch: 1849/2000, Loss: 0.6960
Epoch: 1850/2000, Loss: 0.6960
Epoch: 1851/2000, Loss: 0.6960
Epoch: 1852/2000, Loss: 0.6960
Epoch: 1853/2000, Loss: 0.6960
Epoch: 1854/2000, Loss: 0.6960
Epoch: 1855/2000, Loss: 0.6960
Epoch: 1856/2000, Loss: 0.6960
Epoch: 1857/2000, Loss: 0.6960
Epoch: 1858/2000, Loss: 0.6960
Epoch: 1859/2000, Loss: 0.6960
Epoch: 1860/2000, Loss: 0.6960
Epoch: 1861/2000, Loss: 0.6960
Epoch: 1862/2000, Loss: 0.6960
Epoch: 1863/2000, Loss: 0.6960
Epoch: 1864/2000, Loss: 0.6960
Epoch: 1865/2000, Loss: 0.6959
Epoch: 1866/2000, Loss: 0.6959
Epoch: 1867/2000, Loss: 0.6959
Epoch: 1868/2000, Loss: 0.6959
Epoch: 1869/2000, Loss: 0.6959
Epoch: 1870/2000, Loss: 0.6959
Epoch: 1871/2000, Loss: 0.6959
Epoch: 1872/2000, Loss: 0.6959
Epoch: 1873/2000, Loss: 0.6959
Epoch: 1874/2000, Loss: 0.6959
Epoch: 1875/2000, Loss: 0.6959
Epoch: 1876/2000, Loss: 0.6959
Epoch: 1877/2000, Loss: 0.6959
Epoch: 1878/2000, Loss: 0.6959
Epoch: 1879/2000, Loss: 0.6959
Epoch: 1880/2000, Loss: 0.6959
Epoch: 1881/2000, Loss: 0.6959
Epoch: 1882/2000, Loss: 0.6959
Epoch: 1883/2000, Loss: 0.6959
Epoch: 1884/2000, Loss: 0.6959
Epoch: 1885/2000, Loss: 0.6959
Epoch: 1886/2000, Loss: 0.6959
Epoch: 1887/2000, Loss: 0.6959
Epoch: 1888/2000, Loss: 0.6959
Epoch: 1889/2000, Loss: 0.6959
Epoch: 1890/2000, Loss: 0.6959
Epoch: 1891/2000, Loss: 0.6959
Epoch: 1892/2000, Loss: 0.6959
Epoch: 1893/2000, Loss: 0.6959
Epoch: 1894/2000, Loss: 0.6959
Epoch: 1895/2000, Loss: 0.6959
Epoch: 1896/2000, Loss: 0.6959
Epoch: 1897/2000, Loss: 0.6959
Epoch: 1898/2000, Loss: 0.6959
Epoch: 1899/2000, Loss: 0.6959
Epoch: 1900/2000, Loss: 0.6959
Epoch: 1901/2000, Loss: 0.6959
Epoch: 1902/2000, Loss: 0.6959
Epoch: 1903/2000, Loss: 0.6959
Epoch: 1904/2000, Loss: 0.6959
Epoch: 1905/2000, Loss: 0.6959
Epoch: 1906/2000, Loss: 0.6959
Epoch: 1907/2000, Loss: 0.6958
Epoch: 1908/2000, Loss: 0.6958
Epoch: 1909/2000, Loss: 0.6958
Epoch: 1910/2000, Loss: 0.6958
Epoch: 1911/2000, Loss: 0.6958
Epoch: 1912/2000, Loss: 0.6958
Epoch: 1913/2000, Loss: 0.6958
Epoch: 1914/2000, Loss: 0.6958
Epoch: 1915/2000, Loss: 0.6958
Epoch: 1916/2000, Loss: 0.6958
Epoch: 1917/2000, Loss: 0.6958
Epoch: 1918/2000, Loss: 0.6958
Epoch: 1919/2000, Loss: 0.6958
Epoch: 1920/2000, Loss: 0.6958
Epoch: 1921/2000, Loss: 0.6958
Epoch: 1922/2000, Loss: 0.6958
Epoch: 1923/2000, Loss: 0.6958
Epoch: 1924/2000, Loss: 0.6958
Epoch: 1925/2000, Loss: 0.6958
Epoch: 1926/2000, Loss: 0.6958
Epoch: 1927/2000, Loss: 0.6958
Epoch: 1928/2000, Loss: 0.6958
Epoch: 1929/2000, Loss: 0.6958
Epoch: 1930/2000, Loss: 0.6958
Epoch: 1931/2000, Loss: 0.6958
Epoch: 1932/2000, Loss: 0.6958
Epoch: 1933/2000, Loss: 0.6958
Epoch: 1934/2000, Loss: 0.6958
Epoch: 1935/2000, Loss: 0.6958
Epoch: 1936/2000, Loss: 0.6958
Epoch: 1937/2000, Loss: 0.6958
Epoch: 1938/2000, Loss: 0.6958
Epoch: 1939/2000, Loss: 0.6958
Epoch: 1940/2000, Loss: 0.6958
Epoch: 1941/2000, Loss: 0.6958
Epoch: 1942/2000, Loss: 0.6958
Epoch: 1943/2000, Loss: 0.6958
Epoch: 1944/2000, Loss: 0.6958
Epoch: 1945/2000, Loss: 0.6958
Epoch: 1946/2000, Loss: 0.6958
Epoch: 1947/2000, Loss: 0.6958
Epoch: 1948/2000, Loss: 0.6958
Epoch: 1949/2000, Loss: 0.6958
Epoch: 1950/2000, Loss: 0.6957
Epoch: 1951/2000, Loss: 0.6957
Epoch: 1952/2000, Loss: 0.6957
Epoch: 1953/2000, Loss: 0.6957
Epoch: 1954/2000, Loss: 0.6957
Epoch: 1955/2000, Loss: 0.6957
Epoch: 1956/2000, Loss: 0.6957
Epoch: 1957/2000, Loss: 0.6957
Epoch: 1958/2000, Loss: 0.6957
Epoch: 1959/2000, Loss: 0.6957
Epoch: 1960/2000, Loss: 0.6957
Epoch: 1961/2000, Loss: 0.6957
Epoch: 1962/2000, Loss: 0.6957
Epoch: 1963/2000, Loss: 0.6957
Epoch: 1964/2000, Loss: 0.6957
Epoch: 1965/2000, Loss: 0.6957
Epoch: 1966/2000, Loss: 0.6957
Epoch: 1967/2000, Loss: 0.6957
Epoch: 1968/2000, Loss: 0.6957
Epoch: 1969/2000, Loss: 0.6957
Epoch: 1970/2000, Loss: 0.6957
Epoch: 1971/2000, Loss: 0.6957
Epoch: 1972/2000, Loss: 0.6957
Epoch: 1973/2000, Loss: 0.6957
Epoch: 1974/2000, Loss: 0.6957
Epoch: 1975/2000, Loss: 0.6957
Epoch: 1976/2000, Loss: 0.6957
Epoch: 1977/2000, Loss: 0.6957
Epoch: 1978/2000, Loss: 0.6957
Epoch: 1979/2000, Loss: 0.6957
Epoch: 1980/2000, Loss: 0.6957
Epoch: 1981/2000, Loss: 0.6957
Epoch: 1982/2000, Loss: 0.6957
Epoch: 1983/2000, Loss: 0.6957
Epoch: 1984/2000, Loss: 0.6957
Epoch: 1985/2000, Loss: 0.6957
Epoch: 1986/2000, Loss: 0.6957
Epoch: 1987/2000, Loss: 0.6957
Epoch: 1988/2000, Loss: 0.6957
Epoch: 1989/2000, Loss: 0.6957
Epoch: 1990/2000, Loss: 0.6957
Epoch: 1991/2000, Loss: 0.6957
Epoch: 1992/2000, Loss: 0.6957
Epoch: 1993/2000, Loss: 0.6956
Epoch: 1994/2000, Loss: 0.6956
Epoch: 1995/2000, Loss: 0.6956
Epoch: 1996/2000, Loss: 0.6956
Epoch: 1997/2000, Loss: 0.6956
Epoch: 1998/2000, Loss: 0.6956
Epoch: 1999/2000, Loss: 0.6956
[72]:
# Let's Simulate and Compare Random Walks generate
# by the Neural Networks and the Original
# `MarkovChain.simulate` method
nn_walk = model.simulate_random_walk("Rainy", 5000)
mc_walk = _markov_chain.simulate("Rainy", 5000)
fig, ax = plt.subplots(nrows=1, ncols=2)
ax1 = ax[0]
ax2 = ax[1]
# Right - Neural Network
ax1.hist(nn_walk)
# Left - `MarkovChain.simulate`
ax2.hist(mc_walk)
plt.tight_layout()
plt.show()
Stock Predictions using Markov Switching Models¶
[14]:
import yfinance as yf
[16]:
# Apple Inc. weekly stock data for 2 years
ticker_symbol = 'AAPL'
start_date = '2022-01-01'
end_date = '2024-01-01'
stock_data = yf.download(ticker_symbol, start=start_date, end=end_date, interval='1wk')
[*********************100%%**********************] 1 of 1 completed
[19]:
# For simplicity we'll only consider the High values
y = stock_data["High"]
X = np.arange(stock_data.shape[0])
[20]:
# Visualize the data
plt.plot(X, y)
[20]:
[<matplotlib.lines.Line2D at 0x76ea28214700>]
[22]:
# Now we'll train the MarkovSwitchingModel using the Chainopy API.
# We'll have to divide to label the data into Regimes.
# Lets look at the distribution of the data
sns.kdeplot(y)
[22]:
<Axes: xlabel='High', ylabel='Density'>
[23]:
# Lets label the data according to the following scheme:
# For simplicity we'll only consider three regimes
# y in Mean +- st. dev = Moderate
# y > Mean + st. dev = High
# y < Mean +- st. dev = Low
y = np.squeeze(y.to_numpy())
y_mean = y.mean()
y_stdev = y.std()
regime_sequence = []
for vals in y:
if y_mean - y_stdev <= vals <= y_mean + y_stdev:
regime_sequence.append("Moderate")
elif vals > y_mean + y_stdev:
regime_sequence.append("High")
elif vals < y_mean + y_stdev:
regime_sequence.append("Low")
plt.hist(regime_sequence)
[23]:
(array([67., 0., 0., 0., 0., 19., 0., 0., 0., 18.]),
array([0. , 0.2, 0.4, 0.6, 0.8, 1. , 1.2, 1.4, 1.6, 1.8, 2. ]),
<BarContainer object of 10 artists>)
[63]:
# Now we'll train the MarkovSwitchingModel
model = MarkovSwitchingModel()
model.fit(y, regime_sequence=regime_sequence, lags=2)
[64]:
# Now let's use the MarkovSwitchingModel to predict highest price for the next 50 weeks
vals, regimes = model.predict(regime_sequence[-1], steps=50)
[66]:
fig, ax = plt.subplots()
ax.plot(X, y, label = 'Given Data', color = 'blue')
ax.plot(range(X.shape[0], X.shape[0] + 50), vals, label = 'Prediction', color='orange')
ax.set_xlabel("Time")
ax.set_ylabel("Apple Weekly High Price")
ax.set_title("Data and Prediction")
ax.legend()
[66]:
<matplotlib.legend.Legend at 0x76ea20546620>