9. Analyse de séries temporelles avec IA#
Marc Buffat dpt mécanique, UCB Lyon1

import tensorflow as tf
2026-07-21 15:40:30.980121: I external/local_xla/xla/tsl/cuda/cudart_stub.cc:32] Could not find cuda drivers on your machine, GPU will not be used.
2026-07-21 15:40:30.984314: I external/local_xla/xla/tsl/cuda/cudart_stub.cc:32] Could not find cuda drivers on your machine, GPU will not be used.
2026-07-21 15:40:30.995394: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:467] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1784641231.013544 446696 cuda_dnn.cc:8579] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered
E0000 00:00:1784641231.018880 446696 cuda_blas.cc:1407] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered
W0000 00:00:1784641231.033455 446696 computation_placer.cc:177] computation placer already registered. Please check linkage and avoid linking the same target more than once.
W0000 00:00:1784641231.033474 446696 computation_placer.cc:177] computation placer already registered. Please check linkage and avoid linking the same target more than once.
W0000 00:00:1784641231.033476 446696 computation_placer.cc:177] computation placer already registered. Please check linkage and avoid linking the same target more than once.
W0000 00:00:1784641231.033478 446696 computation_placer.cc:177] computation placer already registered. Please check linkage and avoid linking the same target more than once.
2026-07-21 15:40:31.037902: I tensorflow/core/platform/cpu_feature_guard.cc:210] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
# police des titres
plt.rc('font', family='serif', size='18')
from IPython.display import display,Markdown
# IA
import sklearn as sk
import tensorflow as tf
_uid_ = 12345
def serie_temp(N,a0=1.0,a1=0.5,a2 = 0.4, a3=0.1):
# data / jours
np.random.seed(_uid_)
# time series
Ts = np.array([x for x in np.arange(N)],dtype=int)
ys = [ a0*np.sin(2*np.pi*x/180) + a1*np.cos(2*np.pi*x/15) \
+ a2*x/360 for x in range(N)] + \
a3*np.random.normal(size=N,scale=0.2)
return Ts,ys
9.1. Objectifs#
On étudie un système temporel \(Y(t)\) et on souhaite prédire l’évolution du système: i.e. la prévision de ses futures réalisations en se basant sur ses valeurs passées
Une série temporelle Yt est communément décomposée en tendance, saisonnalité, bruit:
tendance \(T(t)\) = évolution à long terme
saisonnalité \(S(t)\) = phénoméne périodique
bruit \(\epsilon(t)\) = partie aléatoire
9.1.1. méthodes#
méthodes classiques: (modélisation de série chro. linéaires):
lissages exponentiels,
modèles de régression (régression linéaire, modèles non-paramétriques… ),
modèles SARIMA
utilisation de l’IA:
random forest,
réseaux de neuronnes récurrents LSTM
9.2. Scikit Learn RandomForest#
“forêt aléatoire” d’arbres de décision
prédiction 1 valeur à la fois

9.3. Réseau de neurones: LSTM/ RNN#
LSTM = Long Short-Term Memory
réseau RNN récurrent
fonction activation: évite l’explosion de la sortie (tanh )
méthode de gradient numérique (\(\alpha\) taux d’apprentissage) $\( w_{k+1} = w_k - \alpha F_w\)$
EPOCH = nbre d’epoques pour l’apprentissage
Le nombre d’époques est un hyperparamètre qui définit le nombre de fois que l’algorithme d’apprentissage parcours l’ensemble des données d’entraînement
Modèle de neuronne informatique
la sortie \(y\) est une fonction non linéaire des entrées (f = fonction d’activation)
les coefficients \(w_i, b\) sont obtenu par minimisation d’une erreur \(Err = || y_{pred} - \hat{y} ||\) à partir d’une base de données d’apprentissage \(\hat{y}\) en utilisant des algorithmes de minimisation (gradient)
Réseau de neuronnes par couche
Réseau de neuronnes récurrents (traitement de séquence temporelle)
9.3.1. Réseaux RNN#

9.3.2. La problématique de l’apprentissage d’un réseau récurrent#
réseau récurrent simple classique constitué d’une couche récurrente suivie d’une couche dense :
Il comprend trois matrices de poids : W, R et V ; R étant la matrice des poids récurrents. L’apprentissage du réseau consiste donc à apprendre ces trois matrices sur une base d’exemples étiquetés.
Or l’algorithme de minimisation par gradient pour les réseaux de neuronnes utilise un algorithme appelé rétropropagation du gradient. Cet algorithme rétropropage le gradient de l’erreur à travers les différentes couches de poids du réseau, en remontant de la dernière à la première couche.
Malheureusement, dans le cas des réseaux récurrents, la présence du cycle de récurrence (matrice R) interdit l’utilisation de cet algorithme
9.3.3. solution : rétropropagation à travers le temps#
La solution à ce problème consiste à exploiter la version dépliée du réseau, qui élimine les cycles.
Nous allons donc utiliser une approximation du réseau récurrent par un réseau déplié K fois (K = profondeur = nbre de couches internes cachés de 10 a 100) , comme présenté sur la figure suivante avec K=2 :
Attention
Le réseau déplié étant plus profond, la disparition du gradient (ou gradient évanescent) est plus importante durant l’apprentissage, et il est plus difficile à entraîner à cause d’une erreur qui tend à s’annuler en se rapprochant des couches basses.
Il est donc important d’utiliser toutes les stratégies possibles permettant de lutter contre ce phénomène : Batch Normalization, dropout, régularisation L1 et L2, etc.
Comme les poids de la couche récurrente sont dupliqués, les réseaux récurrents sont également sujets à un autre phénomène appelé explosion du gradient. Il s’agit d’un gradient d’erreur dont la norme est supérieure à 1.
Une méthode simple et efficace pour éviter cela consiste à tester cette norme, et à la limiter si elle est trop importante (aussi appelée gradient clipping, en anglais).
9.3.4. neuronne LSTM : Long Short Term Memory#
Afin de modéliser des dépendances à très long terme, il est nécessaire de donner aux réseaux de neurones récurrents la capacité de maintenir un état sur une longue période de temps.
C’est le but des cellules LSTM (Long Short Term Memory), qui possèdent une mémoire interne appelée cellule (ou cell). La cellule permet de maintenir un état aussi longtemps que nécessaire. Cette cellule consiste en une valeur numérique que le réseau peut piloter en fonction des situations.
la cellule mémoire peut être pilotée par trois portes de contrôle qu’on peut voir comme des vannes :
la porte d’entrée décide si l’entrée doit modifier le contenu de la cellule
la porte d’oubli décide s’il faut remettre à 0 le contenu de la cellule
la porte de sortie décide si le contenu de la cellule doit influer sur la sortie du neurone
Le mécanisme des trois portes est strictement similaire. L’ouverture/la fermeture de la vanne est modélisée par une fonction d’activation f qui est généralement une sigmoïde. Cette sigmoïde est appliquée à la somme pondérée des entrées, des sorties et de la cellule, avec des poids spécifiques.
Pour calculer la sortie \(y^t\), on utilise donc l’entrée \(x^t\), les états cachés \(h^{t-1}\) (\(x^{t-1},x^{t-2}\)) (dépliement de la récurrence) qui représentent la mémoire à court terme (short-term mémory) et les états des cellules mémoires \(c^{t-1}\) qui représentent la mémoire à long terme (long-term memory)
Comme n’importe quel neurone, les neurones LSTM sont généralement utilisés en couches. Dans ce cas, les sorties de tous les neurones sont réinjectées en entrée de tous les neurones.
Compte tenu de toutes les connexions nécessaires au pilotage de la cellule mémoire, les couches de neurones de type LSTM sont deux fois plus « lourdes » que les couches récurrentes simples, qui elles-mêmes sont deux fois plus lourdes que les couches denses classiques.
Les couches LSTM sont donc à utiliser avec parcimonie !
9.4. Application: analyse d’une serie temporelle#
Série temporelle \(Y = Y(t)\)
N mesures à intervalle régulier \(\Delta t\)
tableau de données ys
\[ys[i] = Y(i\Delta t)\]tableau ts (pour l’analyse)
\[ts[i] = i\Delta t\]
Base de données de tests
série périodique simple
serie bi-périodique (modulation)
avec tendance à long terme
du bruit
# construction serie temporelle
# cas periodique le plus simple
Ts,ys = serie_temp(1000,a0=0,a1=0.5,a2=0.0,a3 = 0.)
# cas bi-periodique
#Ts,ys = serie_temp(1000,a0=1.0,a1=0.5,a2=0.0,a3=0.0)
# + tendance
#Ts,ys = serie_temp(1000,a0=1.0,a1=0.5,a2=0.2,a3=0.0)
# + bruit
Ts,ys = serie_temp(1000,a0=1.0,a1=0.5,a2=0.2,a3=0.3)
plt.figure(figsize=(12,8))
plt.subplot(1,2,1)
plt.plot(Ts[:],ys)
plt.xlabel("jour")
plt.title("serie temporelle");
plt.subplot(1,2,2)
plt.plot(Ts[:100],ys[:100])
plt.xlabel("jour")
Text(0.5, 0, 'jour')
9.4.1. Objectifs#
base de données journalières : serie temporelle
préparations des donnees: fenétrage « avant : après »
data X: (avant)
on se donne les données sur 14 jours avantrésulata y: a(pres)
on veut pérédire les données sur les 7 jours suivants
ATTENTION: approche différente de l’approche classique y=F(X) car la pédiction est récurrente !
utilisation de l’IA:
random forest,
réseaux de neuronnes récurrents LSTM
9.5. Notebook version étudiant#
mise en oeuvre
source/Cours3_Serie_temp/NotesCours_serie_temp.ipynb
9.6. Notebook solution#
9.6.1. préparation des données#
fenêtrage des données:
choix d’une fenêtre de nav jours précédents pour prédire nap valeurs (i.e. sur nap jours)
nav taille de la fenêtre d’histoire (avant)
nap taille de la fenêtre prédiction (après)
N nbre de fenêtres
t0 date de début prédiction
def dataset(Ts,ys,nav,nap,N,t0):
# choix d'une fenetre de nav jours précédents pour prédir nap valeurs (i.e. sur nap jours)
# nav taille de la fenetre d'histoire (avant)
# nap taille de la fenetre prediction (apres)
# N nbre de fenetres
# t0 date de debut prediction
#
t1 = t0 - N - nav -nap
print(f"apprentissage sur {N} fenetres de {nav}-{nap} jours entre le jour {t1} et {t0}")
#
X = np.zeros((N,nav))
y = np.zeros((N,nap))
t = np.zeros(N,dtype=int)
# construction de la base de données
for i in range(N):
X[i,:] = ys[t1+i:t1+i+nav]
y[i] = ys[t1+i+nav:t1+i+nav+nap]
t[i] = Ts[t1+i+nav]
return X,y,t
# N fenetres: de 14 jours -> 7 jours pour prediction à partir du jour t0
nav = 14
nap = 7
#N = 200
#t0 = 300
N = 400
t0 = 600
X,y,t = dataset(Ts,ys,nav,nap,N,t0)
apprentissage sur 400 fenetres de 14-7 jours entre le jour 179 et 600
X.shape, y.shape, t.shape
((400, 14), (400, 7), (400,))
def plot_dataset():
plt.figure(figsize=(14,6))
plt.subplot(1,2,1)
plt.plot(t-nav,X[:,0])
plt.plot(t,y[:,0])
plt.xlabel("jour")
plt.ylabel("y")
plt.title("data apprentissage")
plt.subplot(1,2,2)
plt.plot(np.arange(t[0]-nav,t[0]+nap),ys[t[0]-nav:t[0]+nap],'--')
plt.plot(np.arange(t[0]-nav,t[0]),X[0,:],'or')
plt.plot(np.arange(t[0],t[0]+nap),y[0,:],'xg')
plt.plot(np.arange(t[-1]-nav,t[-1]+nap),ys[t[-1]-nav:t[-1]+nap],'--')
plt.plot(np.arange(t[-1]-nav,t[-1]),X[-1,:],'or')
plt.plot(np.arange(t[-1],t[-1]+nap),y[-1,:],'xg')
plt.xlabel("jour")
plt.title("first/last window");
return
plot_dataset()
9.6.2. Mise en oeuvre: apprentissage RandomForest#
scikit learn
from sklearn.linear_model import LinearRegression
from sklearn.ensemble import RandomForestRegressor
from sklearn.neighbors import KNeighborsRegressor
from sklearn.metrics import r2_score
# choix de l'algorithme
clf = RandomForestRegressor()
#clf = KNeighborsRegressor()
#clf = LinearRegression()
Xlearn = X.copy()
ylearn = y[:,0]
clf.fit(Xlearn,ylearn)
RandomForestRegressor()In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
RandomForestRegressor()
print("score = {:2d}%".format(int(100*clf.score(Xlearn, ylearn))))
yp = clf.predict(Xlearn)
print("R2 = {:3.2f}%".format(r2_score(ylearn,yp)))
score = 99%
R2 = 1.00%
def plot_pred():
plt.figure(figsize=(10,6))
plt.plot(Ts[t2:t2+nap],ypred,'x')
plt.plot(Ts[t2-nav:t2],Xpred[0],'--o')
plt.plot(Ts[t2-nav:t2+nap],ys[t2-nav:t2+nap],'--')
plt.xlabel("jour")
plt.title(f"prediction sur {nap} jours à partir du jour {t2}");
return
# prediction à partir de t2
t2 = t0
Xpred = np.array([ys[t2-nav:t2]])
ypred = np.zeros(nap)
Xp = Xpred.copy()
ypred[0] = clf.predict(Xp)[0]
for i in range(1,nap):
Xp[0,:-i] = Xpred[0,i:]
Xp[0,-i:] = ypred[:i]
ypred[i] = clf.predict(Xp)[0]
Xpred.shape, ypred.shape
((1, 14), (7,))
plot_pred()
9.6.3. Mise en oeuvre: LSTM RNN#
bibliothèque tensor flow Keras RNN
#Machine learning
from sklearn import preprocessing
import tensorflow as tf
import statsmodels as st
from statsmodels.tsa.seasonal import STL
from sklearn.model_selection import train_test_split
Xlearn = X.copy()
ylearn = y.copy()
Xlearn = Xlearn.reshape(X.shape[0], nav, 1)
ylearn = ylearn.reshape(y.shape[0], nap, 1)
Xlearn.shape, ylearn.shape
((400, 14, 1), (400, 7, 1))
#Nombre d'époque d'entrainement (fenetre de taille nav)
#EPOQUE = 300
EPOQUE = 200
#EPOQUE = 50
# modèle du réseaux de neurones(4 rangées (100,100,50,50) dont la première LSTM)
# si pas activation: activation='linear' lineaire a(x)=x, sinon test avec 'relu'
modele_lstm = tf.keras.models.Sequential([
tf.keras.layers.LSTM(nav),
tf.keras.layers.Dense(nav,activation='tanh'),
tf.keras.layers.Dense(nap,activation='tanh'),
tf.keras.layers.Dense(nap)
])
#Configuration du modèle(on minimise avec la méthode des moindres carrés)
modele_lstm.compile(optimizer='adam', metrics=['mae'], loss='mse')
print(EPOQUE)
200
E0000 00:00:1784641235.380262 446696 cuda_executor.cc:1228] INTERNAL: CUDA Runtime error: Failed call to cudaGetRuntimeVersion: Error loading CUDA libraries. GPU will not be used.: Error loading CUDA libraries. GPU will not be used.
W0000 00:00:1784641235.387532 446696 gpu_device.cc:2341] Cannot dlopen some GPU libraries. Please make sure the missing libraries mentioned above are installed properly if you would like to use GPU. Follow the guide at https://www.tensorflow.org/install/gpu for how to download and setup the required libraries for your platform.
Skipping registering GPU devices...
#Lance l'entrainement du modèle
import time
time_start = time.time()
modele_lstm.fit(Xlearn, ylearn, epochs=EPOQUE, verbose = True)
print('phase apprentissage: {:.2f} seconds'.format(time.time()-time_start))
Epoch 1/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 20s 2s/step - loss: 0.7567 - mae: 0.7314
13/13 ━━━━━━━━━━━━━━━━━━━━ 2s 4ms/step - loss: 0.7071 - mae: 0.7050
Epoch 2/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 66ms/step - loss: 0.4974 - mae: 0.5750
7/13 ━━━━━━━━━━━━━━━━━━━━ 0s 9ms/step - loss: 0.6323 - mae: 0.6557
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 7ms/step - loss: 0.6342 - mae: 0.6618
Epoch 3/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.6641 - mae: 0.6927
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.5961 - mae: 0.6452
Epoch 4/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 20ms/step - loss: 0.6888 - mae: 0.7180
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.5449 - mae: 0.6130
Epoch 5/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.4435 - mae: 0.5396
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.4403 - mae: 0.5387
Epoch 6/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.4911 - mae: 0.5692
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.4032 - mae: 0.5168
Epoch 7/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.3539 - mae: 0.4820
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.3486 - mae: 0.4807
Epoch 8/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.3376 - mae: 0.4723
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.3193 - mae: 0.4601
Epoch 9/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.3064 - mae: 0.4605
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.2957 - mae: 0.4455
Epoch 10/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.2600 - mae: 0.4191
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.2706 - mae: 0.4283
Epoch 11/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.2995 - mae: 0.4493
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.2625 - mae: 0.4221
Epoch 12/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.2529 - mae: 0.4203
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.2450 - mae: 0.4078
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - loss: 0.2449 - mae: 0.4076
Epoch 13/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 80ms/step - loss: 0.2490 - mae: 0.4146
6/13 ━━━━━━━━━━━━━━━━━━━━ 0s 11ms/step - loss: 0.2424 - mae: 0.4055
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 8ms/step - loss: 0.2409 - mae: 0.4035
Epoch 14/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.2014 - mae: 0.3719
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.2198 - mae: 0.3857
Epoch 15/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.2508 - mae: 0.4078
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.2263 - mae: 0.3895
Epoch 16/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.2481 - mae: 0.4177
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.2187 - mae: 0.3847
Epoch 17/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 17ms/step - loss: 0.2594 - mae: 0.4290
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.2198 - mae: 0.3887
Epoch 18/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.1700 - mae: 0.3343
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.2069 - mae: 0.3743
Epoch 19/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.2805 - mae: 0.4474
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.2234 - mae: 0.3908
Epoch 20/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 20ms/step - loss: 0.1749 - mae: 0.3340
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.1944 - mae: 0.3596
Epoch 21/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 20ms/step - loss: 0.1913 - mae: 0.3564
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.1920 - mae: 0.3592
Epoch 22/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 17ms/step - loss: 0.1925 - mae: 0.3622
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.1929 - mae: 0.3611
Epoch 23/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 21ms/step - loss: 0.2128 - mae: 0.3820
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.1927 - mae: 0.3587
Epoch 24/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.1601 - mae: 0.3145
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.1737 - mae: 0.3377
Epoch 25/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.1694 - mae: 0.3393
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.1786 - mae: 0.3449
Epoch 26/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.1362 - mae: 0.2980
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.1589 - mae: 0.3229
Epoch 27/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 1s 93ms/step - loss: 0.1311 - mae: 0.2957
6/13 ━━━━━━━━━━━━━━━━━━━━ 0s 10ms/step - loss: 0.1398 - mae: 0.3016
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 7ms/step - loss: 0.1486 - mae: 0.3110
Epoch 28/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.1342 - mae: 0.3029
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.1432 - mae: 0.3062
Epoch 29/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 24ms/step - loss: 0.1369 - mae: 0.2999
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.1416 - mae: 0.3056
Epoch 30/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 1s 100ms/step - loss: 0.1290 - mae: 0.2961
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.1383 - mae: 0.3031
Epoch 31/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.1344 - mae: 0.2980
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.1337 - mae: 0.2956
Epoch 32/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 23ms/step - loss: 0.1217 - mae: 0.2776
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.1223 - mae: 0.2820
Epoch 33/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0930 - mae: 0.2424
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.1178 - mae: 0.2767
Epoch 34/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 23ms/step - loss: 0.1230 - mae: 0.2798
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.1222 - mae: 0.2828
Epoch 35/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 20ms/step - loss: 0.1255 - mae: 0.2990
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.1105 - mae: 0.2716
Epoch 36/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.1018 - mae: 0.2569
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.1112 - mae: 0.2662
Epoch 37/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.1098 - mae: 0.2646
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.1076 - mae: 0.2674
Epoch 38/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 1s 99ms/step - loss: 0.0913 - mae: 0.2502
6/13 ━━━━━━━━━━━━━━━━━━━━ 0s 11ms/step - loss: 0.0947 - mae: 0.2494
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 9ms/step - loss: 0.0984 - mae: 0.2549
Epoch 39/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 24ms/step - loss: 0.1127 - mae: 0.2709
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.1029 - mae: 0.2598
Epoch 40/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 1s 101ms/step - loss: 0.1024 - mae: 0.2548
7/13 ━━━━━━━━━━━━━━━━━━━━ 0s 9ms/step - loss: 0.0996 - mae: 0.2571
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 8ms/step - loss: 0.0996 - mae: 0.2565
Epoch 41/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0898 - mae: 0.2440
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0960 - mae: 0.2551
Epoch 42/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0681 - mae: 0.2043
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0859 - mae: 0.2356
Epoch 43/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0881 - mae: 0.2422
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0862 - mae: 0.2372
Epoch 44/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0762 - mae: 0.2334
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0833 - mae: 0.2366
Epoch 45/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 1s 94ms/step - loss: 0.0836 - mae: 0.2403
7/13 ━━━━━━━━━━━━━━━━━━━━ 0s 9ms/step - loss: 0.0836 - mae: 0.2359
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 7ms/step - loss: 0.0839 - mae: 0.2359
Epoch 46/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0771 - mae: 0.2279
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0813 - mae: 0.2303
Epoch 47/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 1s 101ms/step - loss: 0.0759 - mae: 0.2237
7/13 ━━━━━━━━━━━━━━━━━━━━ 0s 9ms/step - loss: 0.0780 - mae: 0.2289
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 7ms/step - loss: 0.0792 - mae: 0.2312
Epoch 48/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0571 - mae: 0.1972
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0719 - mae: 0.2195
Epoch 49/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0613 - mae: 0.2045
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0720 - mae: 0.2183
Epoch 50/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0716 - mae: 0.2102
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0714 - mae: 0.2175
Epoch 51/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 20ms/step - loss: 0.0787 - mae: 0.2271
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0719 - mae: 0.2193
Epoch 52/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 1s 99ms/step - loss: 0.0506 - mae: 0.1789
9/13 ━━━━━━━━━━━━━━━━━━━━ 0s 7ms/step - loss: 0.0604 - mae: 0.1976
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 7ms/step - loss: 0.0621 - mae: 0.2012
Epoch 53/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0602 - mae: 0.2008
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0647 - mae: 0.2088
Epoch 54/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0619 - mae: 0.2054
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0614 - mae: 0.2036
Epoch 55/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0537 - mae: 0.1965
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0573 - mae: 0.1970
Epoch 56/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 1s 98ms/step - loss: 0.0484 - mae: 0.1814
6/13 ━━━━━━━━━━━━━━━━━━━━ 0s 11ms/step - loss: 0.0536 - mae: 0.1917
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 8ms/step - loss: 0.0542 - mae: 0.1912
Epoch 57/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0581 - mae: 0.1949
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0559 - mae: 0.1925
Epoch 58/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0486 - mae: 0.1754
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0507 - mae: 0.1832
Epoch 59/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0575 - mae: 0.1931
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0483 - mae: 0.1779
Epoch 60/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0509 - mae: 0.1818
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0459 - mae: 0.1746
Epoch 61/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0420 - mae: 0.1707
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0415 - mae: 0.1653
Epoch 62/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 20ms/step - loss: 0.0322 - mae: 0.1394
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0368 - mae: 0.1517
Epoch 63/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0304 - mae: 0.1411
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0377 - mae: 0.1555
Epoch 64/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0350 - mae: 0.1554
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0356 - mae: 0.1507
Epoch 65/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0396 - mae: 0.1571
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0348 - mae: 0.1482
Epoch 66/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0317 - mae: 0.1409
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0328 - mae: 0.1420
Epoch 67/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0301 - mae: 0.1411
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0293 - mae: 0.1359
Epoch 68/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0283 - mae: 0.1337
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0279 - mae: 0.1324
Epoch 69/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 1s 98ms/step - loss: 0.0245 - mae: 0.1233
6/13 ━━━━━━━━━━━━━━━━━━━━ 0s 10ms/step - loss: 0.0274 - mae: 0.1290
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 7ms/step - loss: 0.0276 - mae: 0.1303
Epoch 70/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 46ms/step - loss: 0.0343 - mae: 0.1446
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0283 - mae: 0.1336
Epoch 71/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0318 - mae: 0.1392
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0267 - mae: 0.1284
Epoch 72/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 20ms/step - loss: 0.0210 - mae: 0.1137
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0246 - mae: 0.1237
Epoch 73/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0276 - mae: 0.1335
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0258 - mae: 0.1286
Epoch 74/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 1s 92ms/step - loss: 0.0326 - mae: 0.1410
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0267 - mae: 0.1283
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - loss: 0.0266 - mae: 0.1282
Epoch 75/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0259 - mae: 0.1302
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0244 - mae: 0.1242
Epoch 76/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0238 - mae: 0.1246
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0236 - mae: 0.1216
Epoch 77/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 17ms/step - loss: 0.0170 - mae: 0.1028
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0235 - mae: 0.1202
Epoch 78/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0203 - mae: 0.1154
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0251 - mae: 0.1263
Epoch 79/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0187 - mae: 0.1036
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0218 - mae: 0.1151
Epoch 80/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0149 - mae: 0.0978
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0216 - mae: 0.1155
Epoch 81/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0265 - mae: 0.1306
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0228 - mae: 0.1192
Epoch 82/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0263 - mae: 0.1284
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0217 - mae: 0.1166
Epoch 83/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0205 - mae: 0.1159
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0206 - mae: 0.1148
Epoch 84/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0186 - mae: 0.1108
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0212 - mae: 0.1172
Epoch 85/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0198 - mae: 0.1163
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0216 - mae: 0.1169
Epoch 86/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0229 - mae: 0.1205
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0208 - mae: 0.1140
Epoch 87/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 22ms/step - loss: 0.0127 - mae: 0.0873
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0206 - mae: 0.1124
Epoch 88/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0170 - mae: 0.1041
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0227 - mae: 0.1167
Epoch 89/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 20ms/step - loss: 0.0263 - mae: 0.1251
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0227 - mae: 0.1171
Epoch 90/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0218 - mae: 0.1182
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0210 - mae: 0.1158
Epoch 91/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 17ms/step - loss: 0.0251 - mae: 0.1289
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0202 - mae: 0.1136
Epoch 92/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0187 - mae: 0.1127
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0201 - mae: 0.1132
Epoch 93/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0183 - mae: 0.1089
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0210 - mae: 0.1136
Epoch 94/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0216 - mae: 0.1208
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0203 - mae: 0.1148
Epoch 95/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0193 - mae: 0.1138
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0184 - mae: 0.1073
Epoch 96/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0169 - mae: 0.1062
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0192 - mae: 0.1111
Epoch 97/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0226 - mae: 0.1163
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0192 - mae: 0.1084
Epoch 98/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 1s 102ms/step - loss: 0.0200 - mae: 0.1140
7/13 ━━━━━━━━━━━━━━━━━━━━ 0s 9ms/step - loss: 0.0190 - mae: 0.1099
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 7ms/step - loss: 0.0189 - mae: 0.1100
Epoch 99/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0160 - mae: 0.0961
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0174 - mae: 0.1026
Epoch 100/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0209 - mae: 0.1171
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0187 - mae: 0.1085
Epoch 101/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 17ms/step - loss: 0.0178 - mae: 0.1045
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0183 - mae: 0.1073
Epoch 102/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 17ms/step - loss: 0.0158 - mae: 0.1034
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0174 - mae: 0.1045
Epoch 103/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0177 - mae: 0.1061
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0182 - mae: 0.1075
Epoch 104/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0181 - mae: 0.1065
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0183 - mae: 0.1074
Epoch 105/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0182 - mae: 0.1114
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0185 - mae: 0.1082
Epoch 106/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0219 - mae: 0.1220
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0185 - mae: 0.1087
Epoch 107/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0223 - mae: 0.1202
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0196 - mae: 0.1113
Epoch 108/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0171 - mae: 0.1045
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0176 - mae: 0.1052
Epoch 109/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0175 - mae: 0.1108
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0188 - mae: 0.1094
Epoch 110/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 1s 97ms/step - loss: 0.0202 - mae: 0.1089
6/13 ━━━━━━━━━━━━━━━━━━━━ 0s 10ms/step - loss: 0.0188 - mae: 0.1077
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 8ms/step - loss: 0.0180 - mae: 0.1058
Epoch 111/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0220 - mae: 0.1150
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0180 - mae: 0.1057
Epoch 112/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0202 - mae: 0.1154
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0180 - mae: 0.1059
Epoch 113/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0126 - mae: 0.0858
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0166 - mae: 0.1004
Epoch 114/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0140 - mae: 0.0972
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0161 - mae: 0.1014
Epoch 115/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0145 - mae: 0.0876
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0159 - mae: 0.0987
Epoch 116/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0196 - mae: 0.1081
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0176 - mae: 0.1047
Epoch 117/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0179 - mae: 0.1059
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0161 - mae: 0.1007
Epoch 118/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 1s 95ms/step - loss: 0.0155 - mae: 0.0976
9/13 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - loss: 0.0157 - mae: 0.0992
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 7ms/step - loss: 0.0159 - mae: 0.0997
Epoch 119/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 20ms/step - loss: 0.0134 - mae: 0.0961
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0157 - mae: 0.1007
Epoch 120/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 74ms/step - loss: 0.0091 - mae: 0.0749
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0150 - mae: 0.0958
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - loss: 0.0151 - mae: 0.0961
Epoch 121/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 70ms/step - loss: 0.0157 - mae: 0.0985
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0165 - mae: 0.1027
Epoch 122/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 22ms/step - loss: 0.0166 - mae: 0.1021
12/13 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0166 - mae: 0.1008
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - loss: 0.0166 - mae: 0.1008
Epoch 123/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 76ms/step - loss: 0.0215 - mae: 0.1103
12/13 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0184 - mae: 0.1069
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - loss: 0.0183 - mae: 0.1068
Epoch 124/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 49ms/step - loss: 0.0196 - mae: 0.1129
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0176 - mae: 0.1058
Epoch 125/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0153 - mae: 0.0988
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0159 - mae: 0.1000
Epoch 126/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0170 - mae: 0.0985
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0160 - mae: 0.0994
Epoch 127/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 1s 98ms/step - loss: 0.0154 - mae: 0.1001
6/13 ━━━━━━━━━━━━━━━━━━━━ 0s 12ms/step - loss: 0.0147 - mae: 0.0964
11/13 ━━━━━━━━━━━━━━━━━━━━ 0s 12ms/step - loss: 0.0151 - mae: 0.0973
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 15ms/step - loss: 0.0152 - mae: 0.0976
Epoch 128/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 1s 119ms/step - loss: 0.0135 - mae: 0.0913
7/13 ━━━━━━━━━━━━━━━━━━━━ 0s 9ms/step - loss: 0.0167 - mae: 0.0999
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 9ms/step - loss: 0.0169 - mae: 0.1010
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 12ms/step - loss: 0.0169 - mae: 0.1011
Epoch 129/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 31ms/step - loss: 0.0120 - mae: 0.0829
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0149 - mae: 0.0966
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - loss: 0.0150 - mae: 0.0969
Epoch 130/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0161 - mae: 0.1049
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0162 - mae: 0.1018
Epoch 131/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0167 - mae: 0.1043
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0158 - mae: 0.1000
Epoch 132/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0166 - mae: 0.1027
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0166 - mae: 0.1032
Epoch 133/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 22ms/step - loss: 0.0179 - mae: 0.1080
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0167 - mae: 0.1028
Epoch 134/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 20ms/step - loss: 0.0120 - mae: 0.0891
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0144 - mae: 0.0950
Epoch 135/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0203 - mae: 0.1160
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0164 - mae: 0.1022
Epoch 136/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 30ms/step - loss: 0.0168 - mae: 0.1054
11/13 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0152 - mae: 0.0978
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - loss: 0.0152 - mae: 0.0981
Epoch 137/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 20ms/step - loss: 0.0176 - mae: 0.1060
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0157 - mae: 0.0993
Epoch 138/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 20ms/step - loss: 0.0161 - mae: 0.0987
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0154 - mae: 0.0983
Epoch 139/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 1s 98ms/step - loss: 0.0189 - mae: 0.1131
8/13 ━━━━━━━━━━━━━━━━━━━━ 0s 7ms/step - loss: 0.0165 - mae: 0.1040
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 7ms/step - loss: 0.0163 - mae: 0.1028
Epoch 140/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0212 - mae: 0.1177
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0163 - mae: 0.1020
Epoch 141/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0178 - mae: 0.1042
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0153 - mae: 0.0978
Epoch 142/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0134 - mae: 0.0923
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0165 - mae: 0.1006
Epoch 143/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0103 - mae: 0.0812
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0147 - mae: 0.0955
Epoch 144/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 1s 98ms/step - loss: 0.0171 - mae: 0.1072
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0153 - mae: 0.0987
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - loss: 0.0153 - mae: 0.0987
Epoch 145/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0119 - mae: 0.0894
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0148 - mae: 0.0966
Epoch 146/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0189 - mae: 0.1074
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0165 - mae: 0.1004
Epoch 147/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0191 - mae: 0.1061
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0163 - mae: 0.0988
Epoch 148/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0151 - mae: 0.1024
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0150 - mae: 0.0971
Epoch 149/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0142 - mae: 0.0943
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0150 - mae: 0.0969
Epoch 150/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0126 - mae: 0.0886
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0149 - mae: 0.0974
Epoch 151/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 23ms/step - loss: 0.0142 - mae: 0.0965
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0150 - mae: 0.0976
Epoch 152/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 1s 93ms/step - loss: 0.0124 - mae: 0.0871
8/13 ━━━━━━━━━━━━━━━━━━━━ 0s 8ms/step - loss: 0.0140 - mae: 0.0942
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 8ms/step - loss: 0.0144 - mae: 0.0952
Epoch 153/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 38ms/step - loss: 0.0200 - mae: 0.1121
12/13 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0151 - mae: 0.0965
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 7ms/step - loss: 0.0150 - mae: 0.0964
Epoch 154/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 47ms/step - loss: 0.0142 - mae: 0.0956
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0146 - mae: 0.0955
Epoch 155/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 20ms/step - loss: 0.0184 - mae: 0.1128
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0159 - mae: 0.1012
Epoch 156/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 20ms/step - loss: 0.0156 - mae: 0.0981
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0162 - mae: 0.1001
Epoch 157/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 1s 99ms/step - loss: 0.0155 - mae: 0.1013
6/13 ━━━━━━━━━━━━━━━━━━━━ 0s 11ms/step - loss: 0.0169 - mae: 0.1043
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 8ms/step - loss: 0.0168 - mae: 0.1032
Epoch 158/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0161 - mae: 0.1020
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0153 - mae: 0.0984
Epoch 159/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0242 - mae: 0.1241
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0168 - mae: 0.1021
Epoch 160/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0124 - mae: 0.0883
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0162 - mae: 0.1007
Epoch 161/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0155 - mae: 0.0955
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0144 - mae: 0.0943
Epoch 162/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0103 - mae: 0.0815
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0138 - mae: 0.0931
Epoch 163/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 1s 100ms/step - loss: 0.0122 - mae: 0.0871
8/13 ━━━━━━━━━━━━━━━━━━━━ 0s 7ms/step - loss: 0.0134 - mae: 0.0914
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 7ms/step - loss: 0.0141 - mae: 0.0937
Epoch 164/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0135 - mae: 0.0880
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0144 - mae: 0.0943
Epoch 165/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0135 - mae: 0.0937
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0150 - mae: 0.0975
Epoch 166/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0149 - mae: 0.0942
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0147 - mae: 0.0972
Epoch 167/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 20ms/step - loss: 0.0140 - mae: 0.0906
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0149 - mae: 0.0953
Epoch 168/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 17ms/step - loss: 0.0121 - mae: 0.0862
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0156 - mae: 0.0986
Epoch 169/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0228 - mae: 0.1207
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0161 - mae: 0.0996
Epoch 170/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 1s 85ms/step - loss: 0.0138 - mae: 0.0884
12/13 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0140 - mae: 0.0919
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - loss: 0.0141 - mae: 0.0924
Epoch 171/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0137 - mae: 0.0921
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0145 - mae: 0.0948
Epoch 172/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0151 - mae: 0.0991
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0154 - mae: 0.0980
Epoch 173/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 24ms/step - loss: 0.0115 - mae: 0.0867
11/13 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0141 - mae: 0.0946
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - loss: 0.0142 - mae: 0.0950
Epoch 174/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 74ms/step - loss: 0.0167 - mae: 0.1038
6/13 ━━━━━━━━━━━━━━━━━━━━ 0s 12ms/step - loss: 0.0162 - mae: 0.1011
11/13 ━━━━━━━━━━━━━━━━━━━━ 0s 11ms/step - loss: 0.0158 - mae: 0.0995
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 16ms/step - loss: 0.0156 - mae: 0.0989
Epoch 175/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 41ms/step - loss: 0.0147 - mae: 0.0966
9/13 ━━━━━━━━━━━━━━━━━━━━ 0s 7ms/step - loss: 0.0137 - mae: 0.0937
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 9ms/step - loss: 0.0138 - mae: 0.0937
Epoch 176/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 22ms/step - loss: 0.0183 - mae: 0.1091
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0153 - mae: 0.0991
Epoch 177/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0168 - mae: 0.1000
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0144 - mae: 0.0948
Epoch 178/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0193 - mae: 0.1060
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0149 - mae: 0.0957
Epoch 179/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 78ms/step - loss: 0.0118 - mae: 0.0858
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0141 - mae: 0.0931
Epoch 180/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0139 - mae: 0.0961
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0145 - mae: 0.0955
Epoch 181/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0133 - mae: 0.0921
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0142 - mae: 0.0943
Epoch 182/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0142 - mae: 0.0955
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0139 - mae: 0.0936
Epoch 183/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0156 - mae: 0.1003
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0140 - mae: 0.0939
Epoch 184/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0141 - mae: 0.0945
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0145 - mae: 0.0965
Epoch 185/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0146 - mae: 0.0964
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0149 - mae: 0.0966
Epoch 186/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 1s 99ms/step - loss: 0.0133 - mae: 0.0934
9/13 ━━━━━━━━━━━━━━━━━━━━ 0s 7ms/step - loss: 0.0139 - mae: 0.0944
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 7ms/step - loss: 0.0141 - mae: 0.0948
Epoch 187/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0111 - mae: 0.0806
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0132 - mae: 0.0899
Epoch 188/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0133 - mae: 0.0935
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0132 - mae: 0.0916
Epoch 189/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 29ms/step - loss: 0.0168 - mae: 0.1021
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0154 - mae: 0.0979
Epoch 190/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 22ms/step - loss: 0.0162 - mae: 0.0969
10/13 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - loss: 0.0158 - mae: 0.0979
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 7ms/step - loss: 0.0158 - mae: 0.0983
Epoch 191/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0157 - mae: 0.0972
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0151 - mae: 0.0972
Epoch 192/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 1s 96ms/step - loss: 0.0167 - mae: 0.1050
6/13 ━━━━━━━━━━━━━━━━━━━━ 0s 11ms/step - loss: 0.0142 - mae: 0.0957
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 8ms/step - loss: 0.0147 - mae: 0.0964
Epoch 193/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0155 - mae: 0.1012
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0151 - mae: 0.0980
Epoch 194/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 18ms/step - loss: 0.0163 - mae: 0.1003
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0146 - mae: 0.0959
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - loss: 0.0146 - mae: 0.0958
Epoch 195/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0145 - mae: 0.0998
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0156 - mae: 0.0995
Epoch 196/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0110 - mae: 0.0871
10/13 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - loss: 0.0135 - mae: 0.0918
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 7ms/step - loss: 0.0138 - mae: 0.0927
Epoch 197/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 22ms/step - loss: 0.0160 - mae: 0.0980
11/13 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0138 - mae: 0.0927
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 7ms/step - loss: 0.0139 - mae: 0.0932
Epoch 198/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 31ms/step - loss: 0.0133 - mae: 0.0867
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0147 - mae: 0.0952
Epoch 199/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 26ms/step - loss: 0.0133 - mae: 0.0916
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 5ms/step - loss: 0.0144 - mae: 0.0945
Epoch 200/200
1/13 ━━━━━━━━━━━━━━━━━━━━ 0s 19ms/step - loss: 0.0141 - mae: 0.0930
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - loss: 0.0144 - mae: 0.0953
phase apprentissage: 20.06 seconds
modele_lstm.summary()
Model: "sequential"
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓ ┃ Layer (type) ┃ Output Shape ┃ Param # ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩ │ lstm (LSTM) │ (None, 14) │ 896 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dense (Dense) │ (None, 14) │ 210 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dense_1 (Dense) │ (None, 7) │ 105 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dense_2 (Dense) │ (None, 7) │ 56 │ └─────────────────────────────────┴────────────────────────┴───────────────┘
Total params: 3,803 (14.86 KB)
Trainable params: 1,267 (4.95 KB)
Non-trainable params: 0 (0.00 B)
Optimizer params: 2,536 (9.91 KB)
ypred = modele_lstm.predict(Xlearn, verbose=True)
print(Xlearn.shape,ypred.shape)
Ylearn = ylearn.reshape(ylearn.shape[0],nap,)
print("R2 score {:.2f}".format(r2_score(Ylearn, ypred)))
print("model evaluate loss/mae")
modele_lstm.evaluate(Xlearn,ylearn)
1/13 ━━━━━━━━━━━━━━━━━━━━ 1s 112ms/step
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 10ms/step
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 11ms/step
(400, 14, 1) (400, 7)
R2 score 0.98
model evaluate loss/mae
1/13 ━━━━━━━━━━━━━━━━━━━━ 2s 237ms/step - loss: 0.0163 - mae: 0.1031
13/13 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - loss: 0.0152 - mae: 0.0991
[0.014187569729983807, 0.09469059109687805]
# prediction à partir de t2
t2 = t0
Xpred = np.array([ys[t2-nav:t2]]).reshape(1,nav,1)
ypred = modele_lstm.predict(Xpred, verbose=True)
print(Xpred.shape,ypred.shape)
1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 14ms/step
1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 26ms/step
(1, 14, 1) (1, 7)
Xpred = Xpred.reshape(1,nav,)
ypred = ypred.reshape(nap)
plot_pred()