Defining the Business Problem
HappyMoonVC is a Venture Capital (VC) firm.
Venture Capital is a class of investment fund focused in growth capital for medium sized companies which already possess a portfolio of customers as well as reveneu, but which still need to gain scale. VCs invest in Startups and young companies with high growth potential.
HappyMoonVC has already invested in a new promissing Startup called GoInRail.
GoInRail is an innovative transportation method which utilized jet propulsion technology to launch a drone-lie vehicle over rails (which maintain the drone charged with electricity), and thus transport people in high speed!
Now HappyMoonVC is analyzing an complementary business, an e-commerce platform capable of supplying goods for GoInRail's clients. The startup offers a touch-screen monitor inside the GoInRail which allows travelers to purchase while onboard, with the option to retrieve the goods in the station where they exit or to receive the goods at home.
(If you find this too futurist, know that it already exists in Japan's metro!)
To decide if the investment is worth HappyMoonVC must predict the sales volumes.
Load Packages
In [0]:
!pip install pmdarima
Collecting pmdarima
Downloading https://files.pythonhosted.org/packages/ff/07/7c173cc4fee44ebd62ddf03b3de84c4f151ec23facdf16baf58b8d02784c/pmdarima-1.6.0-cp36-cp36m-manylinux1_x86_64.whl (1.5MB)
|████████████████████████████████| 1.5MB 4.8MB/s
Requirement already satisfied: Cython>=0.29 in /usr/local/lib/python3.6/dist-packages (from pmdarima) (0.29.17)
Requirement already satisfied: numpy>=1.17.3 in /usr/local/lib/python3.6/dist-packages (from pmdarima) (1.18.4)
Requirement already satisfied: joblib>=0.11 in /usr/local/lib/python3.6/dist-packages (from pmdarima) (0.14.1)
Requirement already satisfied: scikit-learn>=0.22 in /usr/local/lib/python3.6/dist-packages (from pmdarima) (0.22.2.post1)
Requirement already satisfied: pandas>=0.19 in /usr/local/lib/python3.6/dist-packages (from pmdarima) (1.0.3)
Requirement already satisfied: statsmodels>=0.10.2 in /usr/local/lib/python3.6/dist-packages (from pmdarima) (0.10.2)
Requirement already satisfied: scipy>=1.3.2 in /usr/local/lib/python3.6/dist-packages (from pmdarima) (1.4.1)
Requirement already satisfied: urllib3 in /usr/local/lib/python3.6/dist-packages (from pmdarima) (1.24.3)
Requirement already satisfied: python-dateutil>=2.6.1 in /usr/local/lib/python3.6/dist-packages (from pandas>=0.19->pmdarima) (2.8.1)
Requirement already satisfied: pytz>=2017.2 in /usr/local/lib/python3.6/dist-packages (from pandas>=0.19->pmdarima) (2018.9)
Requirement already satisfied: patsy>=0.4.0 in /usr/local/lib/python3.6/dist-packages (from statsmodels>=0.10.2->pmdarima) (0.5.1)
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.6/dist-packages (from python-dateutil>=2.6.1->pandas>=0.19->pmdarima) (1.12.0)
Installing collected packages: pmdarima
Successfully installed pmdarima-1.6.0
In [0]:
# Deactivating the multiple warning messages produced by the newest versions of Pandas and Matplotlib.
import sys
import warnings
import matplotlib.cbook
if not sys.warnoptions:
warnings.simplefilter("ignore")
warnings.simplefilter(action='ignore', category=FutureWarning)
warnings.filterwarnings("ignore", category=FutureWarning)
warnings.filterwarnings("ignore", category=matplotlib.cbook.mplDeprecation)
# Data manipulation imports
import numpy as np
import pandas as pd
import itertools
from pandas import Series
import holidays
# Data visualization imports
import matplotlib.pyplot as plt
import matplotlib as m
import seaborn as sns
import plotly as py
import plotly.express as px
import plotly.graph_objs as go
from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
# Predictive modeling imports
import statsmodels
import statsmodels.api as sm
import statsmodels.tsa.api as smt
import statsmodels.stats as sms
import pmdarima as pm
import scipy
import scipy.stats as scs
from statsmodels.graphics import tsaplots
from statsmodels.tsa.seasonal import seasonal_decompose
from statsmodels.tsa.stattools import adfuller
from statsmodels.tsa.arima_model import ARMA
from statsmodels.tsa.arima_model import ARIMA
from statsmodels.stats.stattools import jarque_bera
import fbprophet
from fbprophet import Prophet
# Metrics and model performance imports
import math
from math import sqrt
import sklearn
from sklearn.metrics import mean_squared_error
# Graphics formatting imports
m.rcParams['axes.labelsize'] = 14
m.rcParams['xtick.labelsize'] = 12
m.rcParams['ytick.labelsize'] = 12
m.rcParams['text.color'] = 'k'
from matplotlib.pylab import rcParams
rcParams['figure.figsize'] = 20,10
matplotlib.style.use('ggplot')
%matplotlib inline
Data
The dataset used is available publicly in Tableau's website, and represents the historic sales from the startup in which HappyMoonVC is considering investing.
Dataset source: https://community.tableau.com/docs/DOC-1236
HappyMoonVC wants to analyze and predict all data the in the "technology" category
In [0]:
# Load data
data = pd.read_csv('https://raw.githubusercontent.com/Matheus-Schmitz/Datasets/master/tableau_superstore_sales.csv')
In [0]:
# Shape
data.shape
Out[0]:
(9994, 21)
In [0]:
# Columns
data.columns
Out[0]:
Index(['Row ID', 'Order ID', 'Order Date', 'Ship Date', 'Ship Mode',
'Customer ID', 'Customer Name', 'Segment', 'Country', 'City', 'State',
'Postal Code', 'Region', 'Product ID', 'Category', 'Sub-Category',
'Product Name', 'Sales', 'Quantity', 'Discount', 'Profit'],
dtype='object')
Exploratory Analysis
In [0]:
# Visualizing data
data.head()
Out[0]:
| Row ID | Order ID | Order Date | Ship Date | Ship Mode | Customer ID | Customer Name | Segment | Country | City | State | Postal Code | Region | Product ID | Category | Sub-Category | Product Name | Sales | Quantity | Discount | Profit |
0 | 1 | CA-2016-152156 | 2016-11-08 | 2016-11-11 | Second Class | CG-12520 | Claire Gute | Consumer | United States | Henderson | Kentucky | 42420 | South | FUR-BO-10001798 | Furniture | Bookcases | Bush Somerset Collection Bookcase | 261.9600 | 2 | 0.00 | 41.9136 |
1 | 2 | CA-2016-152156 | 2016-11-08 | 2016-11-11 | Second Class | CG-12520 | Claire Gute | Consumer | United States | Henderson | Kentucky | 42420 | South | FUR-CH-10000454 | Furniture | Chairs | Hon Deluxe Fabric Upholstered Stacking Chairs,... | 731.9400 | 3 | 0.00 | 219.5820 |
2 | 3 | CA-2016-138688 | 2016-06-12 | 2016-06-16 | Second Class | DV-13045 | Darrin Van Huff | Corporate | United States | Los Angeles | California | 90036 | West | OFF-LA-10000240 | Office Supplies | Labels | Self-Adhesive Address Labels for Typewriters b... | 14.6200 | 2 | 0.00 | 6.8714 |
3 | 4 | US-2015-108966 | 2015-10-11 | 2015-10-18 | Standard Class | SO-20335 | Sean O'Donnell | Consumer | United States | Fort Lauderdale | Florida | 33311 | South | FUR-TA-10000577 | Furniture | Tables | Bretford CR4500 Series Slim Rectangular Table | 957.5775 | 5 | 0.45 | -383.0310 |
4 | 5 | US-2015-108966 | 2015-10-11 | 2015-10-18 | Standard Class | SO-20335 | Sean O'Donnell | Consumer | United States | Fort Lauderdale | Florida | 33311 | South | OFF-ST-10000760 | Office Supplies | Storage | Eldon Fold 'N Roll Cart System | 22.3680 | 2 | 0.20 | 2.5164 |
In [0]:
# Statistic summaries
data.describe()
Out[0]:
| Row ID | Postal Code | Sales | Quantity | Discount | Profit |
count | 9994.000000 | 9994.000000 | 9994.000000 | 9994.000000 | 9994.000000 | 9994.000000 |
mean | 4997.500000 | 55190.379428 | 229.858001 | 3.789574 | 0.156203 | 28.656896 |
std | 2885.163629 | 32063.693350 | 623.245101 | 2.225110 | 0.206452 | 234.260108 |
min | 1.000000 | 1040.000000 | 0.444000 | 1.000000 | 0.000000 | -6599.978000 |
25% | 2499.250000 | 23223.000000 | 17.280000 | 2.000000 | 0.000000 | 1.728750 |
50% | 4997.500000 | 56430.500000 | 54.490000 | 3.000000 | 0.200000 | 8.666500 |
75% | 7495.750000 | 90008.000000 | 209.940000 | 5.000000 | 0.200000 | 29.364000 |
max | 9994.000000 | 99301.000000 | 22638.480000 | 14.000000 | 0.800000 | 8399.976000 |
In [0]:
# Checking for missing values
data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 9994 entries, 0 to 9993
Data columns (total 21 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Row ID 9994 non-null int64
1 Order ID 9994 non-null object
2 Order Date 9994 non-null object
3 Ship Date 9994 non-null object
4 Ship Mode 9994 non-null object
5 Customer ID 9994 non-null object
6 Customer Name 9994 non-null object
7 Segment 9994 non-null object
8 Country 9994 non-null object
9 City 9994 non-null object
10 State 9994 non-null object
11 Postal Code 9994 non-null int64
12 Region 9994 non-null object
13 Product ID 9994 non-null object
14 Category 9994 non-null object
15 Sub-Category 9994 non-null object
16 Product Name 9994 non-null object
17 Sales 9994 non-null float64
18 Quantity 9994 non-null int64
19 Discount 9994 non-null float64
20 Profit 9994 non-null float64
dtypes: float64(3), int64(3), object(15)
memory usage: 1.6+ MB
In [0]:
# Setting column names to lowercase
data.columns = map(str.lower, data.columns)
In [0]:
# Substituting espaces and dashes in the column names by underscores
data.columns = data.columns.str.replace(" ", "_")
data.columns = data.columns.str.replace("-", "_")
In [0]:
# Checking
data.columns
Out[0]:
Index(['row_id', 'order_id', 'order_date', 'ship_date', 'ship_mode',
'customer_id', 'customer_name', 'segment', 'country', 'city', 'state',
'postal_code', 'region', 'product_id', 'category', 'sub_category',
'product_name', 'sales', 'quantity', 'discount', 'profit'],
dtype='object')
In [0]:
# Assess the unique values per column (to know whether a variable is categorical or not)
for c in data.columns:
if len(set(data[c])) < 20:
print(c,set(data[c]))
ship_mode {'Second Class', 'First Class', 'Same Day', 'Standard Class'}
segment {'Corporate', 'Home Office', 'Consumer'}
country {'United States'}
region {'Central', 'East', 'South', 'West'}
category {'Technology', 'Furniture', 'Office Supplies'}
sub_category {'Fasteners', 'Tables', 'Art', 'Phones', 'Bookcases', 'Machines', 'Copiers', 'Labels', 'Accessories', 'Supplies', 'Appliances', 'Envelopes', 'Paper', 'Furnishings', 'Binders', 'Storage', 'Chairs'}
quantity {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14}
discount {0.0, 0.8, 0.2, 0.3, 0.45, 0.5, 0.7, 0.6, 0.32, 0.1, 0.4, 0.15}
In [0]:
# Splitting data by category
df_technology = data.loc[data['category'] == 'Technology']
df_furniture = data.loc[data['category'] == 'Furniture']
df_office = data.loc[data['category'] == 'Office Supplies']
In [0]:
# Aggregating sales by order date
ts_technology = df_technology.groupby('order_date')['sales'].sum().reset_index()
ts_furniture = df_furniture.groupby('order_date')['sales'].sum().reset_index()
ts_office = df_office.groupby('order_date')['sales'].sum().reset_index()
In [0]:
# Checking dataset
ts_technology
Out[0]:
| order_date | sales |
0 | 2014-01-06 | 1147.940 |
1 | 2014-01-09 | 31.200 |
2 | 2014-01-13 | 646.740 |
3 | 2014-01-15 | 149.950 |
4 | 2014-01-16 | 124.200 |
... | ... | ... |
819 | 2017-12-25 | 401.208 |
820 | 2017-12-27 | 164.388 |
821 | 2017-12-28 | 14.850 |
822 | 2017-12-29 | 302.376 |
823 | 2017-12-30 | 90.930 |
824 rows × 2 columns
In [0]:
# Setting the date as index
ts_technology = ts_technology.set_index('order_date')
ts_furniture = ts_furniture.set_index('order_date')
ts_office = ts_office.set_index('order_date')
In [0]:
# Visualizing the series
ts_technology
Out[0]:
| sales |
order_date |
|
2014-01-06 | 1147.940 |
2014-01-09 | 31.200 |
2014-01-13 | 646.740 |
2014-01-15 | 149.950 |
2014-01-16 | 124.200 |
... | ... |
2017-12-25 | 401.208 |
2017-12-27 | 164.388 |
2017-12-28 | 14.850 |
2017-12-29 | 302.376 |
2017-12-30 | 90.930 |
824 rows × 1 columns
In [0]:
# Plotting sales in the technology category
sales_technology = ts_technology[['sales']]
ax = sales_technology.plot(color = 'b', figsize = (18,6))
plt.xlabel("Data")
plt.ylabel('Sales')
plt.title("Technology Category Sales")
plt.show()
In [0]:
# Plotting sales in the furniture category
sales_furniture = ts_furniture[['sales']]
ax = sales_furniture.plot(color = 'g', figsize = (18,6))
plt.xlabel("Data")
plt.ylabel('Sales')
plt.title("Furniture Category Sales")
plt.show()
In [0]:
# Plotting sales in the office category
sales_office = ts_office[['sales']]
ax = sales_office.plot(color = 'r', figsize = (18,6))
plt.xlabel("Data")
plt.ylabel('Sales')
plt.title("Office Category Sales")
plt.show()
Adjusting the index type to DateTimeIndex (which characterizes a time series), so that it's possible to aggregate monthly and obtain the mean monthly sales.
In [0]:
# Checking index type
type(sales_technology.index)
Out[0]:
pandas.core.indexes.base.Index
In [0]:
# Changing index type
sales_technology.index = pd.to_datetime(sales_technology.index)
sales_furniture.index = pd.to_datetime(sales_furniture.index)
sales_office.index = pd.to_datetime(sales_office.index)
In [0]:
# Checking index type
type(sales_technology.index)
Out[0]:
pandas.core.indexes.datetimes.DatetimeIndex
In [0]:
# Resampling data to a monthly frequency
# Done by setting the month as index and then calculating the mean of daily sales over the month
sales_technology_monthly_mean = sales_technology['sales'].resample('MS').mean()
sales_furniture_monthly_mean = sales_furniture['sales'].resample('MS').mean()
sales_office_monthly_mean = sales_office['sales'].resample('MS').mean()
In [0]:
# Verifying the resulting type
type(sales_technology_monthly_mean)
Out[0]:
pandas.core.series.Series
In [0]:
# Checking the data
sales_technology_monthly_mean
Out[0]:
order_date
2014-01-01 449.041429
2014-02-01 229.787143
2014-03-01 2031.948375
2014-04-01 613.028933
2014-05-01 564.698588
2014-06-01 766.905909
2014-07-01 533.608933
2014-08-01 708.435385
2014-09-01 2035.838133
2014-10-01 596.900900
2014-11-01 1208.056320
2014-12-01 1160.732889
2015-01-01 925.070800
2015-02-01 431.121250
2015-03-01 574.662333
2015-04-01 697.559500
2015-05-01 831.642857
2015-06-01 429.024400
2015-07-01 691.397733
2015-08-01 1108.902286
2015-09-01 950.856400
2015-10-01 594.716111
2015-11-01 1037.982652
2015-12-01 1619.637636
2016-01-01 374.671067
2016-02-01 1225.891400
2016-03-01 1135.150105
2016-04-01 875.911882
2016-05-01 1601.816167
2016-06-01 1023.259500
2016-07-01 829.312500
2016-08-01 483.620100
2016-09-01 1144.170300
2016-10-01 1970.835875
2016-11-01 1085.642360
2016-12-01 970.554870
2017-01-01 1195.218071
2017-02-01 430.501714
2017-03-01 1392.859250
2017-04-01 825.559133
2017-05-01 678.329400
2017-06-01 853.055000
2017-07-01 1054.996636
2017-08-01 978.842333
2017-09-01 1077.704120
2017-10-01 1493.439227
2017-11-01 1996.750920
2017-12-01 955.865652
Freq: MS, Name: sales, dtype: float64
In [0]:
# Plotting the monthly mean daily sales of technology products
sales_technology_monthly_mean.plot(figsize = (18, 6), color = 'blue')
plt.xlabel("Purchase Date")
plt.ylabel('Sales')
plt.title("Technology: Average Daily Sales per Month")
plt.show()
In [0]:
# Plotting the monthly mean daily sales of furniture products
sales_furniture_monthly_mean.plot(figsize = (18, 6), color = 'green')
plt.xlabel("Purchase Date")
plt.ylabel('Sales')
plt.title("Furniture: Average Daily Sales per Month")
plt.show()
In [0]:
# Plotting the monthly mean daily sales of office products
sales_office_monthly_mean.plot(figsize = (20, 6), color = 'red')
plt.xlabel("Purchase Date")
plt.ylabel('Sales')
plt.title("Office: Average Daily Sales per Month")
plt.show()
Decomposing the series to analyze its componentes.
In [0]:
# Decomposing the time series with the monthly mean daily sales of technology products
decomposition = seasonal_decompose(sales_technology_monthly_mean, freq = 12)
rcParams['figure.figsize'] = 18, 12
# Components
trend = decomposition.trend
seasonal = decomposition.seasonal
residual = decomposition.resid
# Plot
plt.subplot(411)
plt.plot(sales_technology_monthly_mean, label = 'Original Series')
plt.legend(loc = 'best')
plt.subplot(412)
plt.plot(trend, label = 'Trend')
plt.legend(loc = 'best')
plt.subplot(413)
plt.plot(seasonal, label = 'Seasonality')
plt.legend(loc = 'best')
plt.subplot(414)
plt.plot(residual, label = 'Residuals')
plt.legend(loc = 'best')
plt.tight_layout()
Stationarity test:
In [0]:
# Function to test stationarity
def stationarity_test(serie):
# Calculating moving statistics
rolmean = serie.rolling(window = 12).mean()
rolstd = serie.rolling(window = 12).std()
# Plot of moving statistics
orig = plt.plot(serie, color = 'blue', label = 'Original')
mean = plt.plot(rolmean, color = 'red', label = 'Moving Average')
std = plt.plot(rolstd, color = 'black', label = 'Standard Deviation')
plt.legend(loc = 'best')
plt.title('Moving Statistics - Mean and Standard Deviation')
plt.show()
# Dickey-Fuller test:
print('\nDickey-Fuller Test Result:\n')
# Test
dftest = adfuller(serie, autolag = 'AIC')
# Formatting the output
df_output = pd.Series(dftest[0:4], index = ['Test Statistic',
'P-value',
'Number of Lags Considered',
'Number of Observations Used'])
# Loop through each item in the test output
for key, value in dftest[4].items():
df_output['Critical Value (%s)'%key] = value
print (df_output)
# Testing p-value
print ('\nConclusion:')
if df_output[1] > 0.05:
print('\nThe p-value is above 0.05, therefore there are no evidences to reject the null hypothesis.')
print('This series probably is not stationary.')
else:
print('\nThe p-value is below 0.05, therefore there are evidences to reject the null hypothesis.')
print('This series probably is stationary.')
In [0]:
# Verifying if the series is stationary
stationarity_test(sales_technology_monthly_mean)
Dickey-Fuller Test Result:
Test Statistic -7.187969e+00
P-value 2.547334e-10
Number of Lags Considered 0.000000e+00
Number of Observations Used 4.700000e+01
Critical Value (1%) -3.577848e+00
Critical Value (5%) -2.925338e+00
Critical Value (10%) -2.600774e+00
dtype: float64
Conclusion:
The p-value is below 0.05, therefore there are evidences to reject the null hypothesis.
This series probably is stationary.
Function to Calculate Accuracy
In [0]:
# Function
def performance(y_true, y_pred):
mse = ((y_pred - y_true) ** 2).mean()
mape = np.mean(np.abs((y_true - y_pred) / y_true)) * 100
return( print('The prediction MSE is {}'.format(round(mse, 2))+
'\nThe prediction RMSE is {}'.format(round(np.sqrt(mse), 2))+
'\nThe prediction MAPE is {}'.format(round(mape, 2))))
ARMA Model
In [0]:
# Load data
data = pd.read_csv('https://raw.githubusercontent.com/dsacademybr/Datasets/master/dataset6.csv')
# Setting column names to lowercase
data.columns = map(str.lower, data.columns)
# Substituting espaces and dashes in the column names by underscores
data.columns = data.columns.str.replace(" ", "_")
data.columns = data.columns.str.replace("-", "_")
# Splitting data by category
df_technology = data.loc[data['category'] == 'Technology']
# Aggregating sales by order date
ts_technology = df_technology.groupby('order_date')['sales'].sum().reset_index()
# Setting the date as index
ts_technology = ts_technology.set_index('order_date')
# Retrieving only sales data
sales_technology = ts_technology[['sales']]
# Changing index type
sales_technology.index = pd.to_datetime(sales_technology.index)
# Resampling data to a monthly frequency
# Done by setting the month as index and then calculating the mean of daily sales over the month
sales_technology_monthly_mean = sales_technology['sales'].resample('MS').mean()
# Train-Test Split
X = sales_technology_monthly_mean
train_size = int(len(X) * 0.75)
trainset, testset = X[0:train_size], X[train_size:]
https://www.statsmodels.org/stable/generated/statsmodels.tsa.arima_model.ARMA.html
In [0]:
# Seeking the best values for the 'p' and 'q' parameters
# The goal is the lowest possible AIC
# Initial values
best_aic = np.inf
best_order = None
best_model = None
# Values to be used in seeking the best combination, order = (i, j)
test_order_values = [1, 2, 3, 4, 5]
# Loop
for i in test_order_values:
for j in test_order_values:
try:
tmp_mdl = ARMA(trainset, order = (i, j)).fit(disp = False)
tmp_aic = tmp_mdl.aic
if tmp_aic < best_aic:
best_aic = tmp_aic
best_order = (i, j)
best_model = tmp_mdl
except: continue
print('\nBest AIC Score: %6.2f | order: %s'%(best_aic, best_order))
print('\nBest Model:', best_model.summary())
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/tsatools.py:695: RuntimeWarning:
divide by zero encountered in log
/usr/local/lib/python3.6/dist-packages/statsmodels/tools/numdiff.py:243: RuntimeWarning:
invalid value encountered in subtract
/usr/local/lib/python3.6/dist-packages/statsmodels/tools/numdiff.py:243: RuntimeWarning:
invalid value encountered in multiply
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/tsatools.py:668: RuntimeWarning:
invalid value encountered in exp
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/tsatools.py:669: RuntimeWarning:
invalid value encountered in exp
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:492: HessianInversionWarning:
Inverting hessian failed, no bse or cov_params available
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:512: ConvergenceWarning:
Maximum Likelihood optimization failed to converge. Check mle_retvals
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/tsatools.py:693: RuntimeWarning:
invalid value encountered in double_scalars
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/tsatools.py:668: RuntimeWarning:
overflow encountered in exp
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/tsatools.py:668: RuntimeWarning:
invalid value encountered in true_divide
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/tsatools.py:669: RuntimeWarning:
overflow encountered in exp
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/tsatools.py:669: RuntimeWarning:
invalid value encountered in true_divide
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/tsatools.py:695: RuntimeWarning:
divide by zero encountered in true_divide
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:492: HessianInversionWarning:
Inverting hessian failed, no bse or cov_params available
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:512: ConvergenceWarning:
Maximum Likelihood optimization failed to converge. Check mle_retvals
Best AIC Score: 552.92 | order: (3, 1)
Best Model: ARMA Model Results
==============================================================================
Dep. Variable: sales No. Observations: 36
Model: ARMA(3, 1) Log Likelihood -270.459
Method: css-mle S.D. of innovations 442.123
Date: Sat, 09 May 2020 AIC 552.918
Time: 17:27:13 BIC 562.420
Sample: 01-01-2014 HQIC 556.235
- 12-01-2016
===============================================================================
coef std err z P>|z| [0.025 0.975]
-------------------------------------------------------------------------------
const 939.5686 63.228 14.860 0.000 815.644 1063.493
ar.L1.sales -0.3149 0.770 -0.409 0.685 -1.824 1.194
ar.L2.sales -0.2023 0.207 -0.979 0.335 -0.607 0.203
ar.L3.sales 0.1073 0.260 0.413 0.682 -0.402 0.616
ma.L1.sales 0.1991 0.759 0.262 0.795 -1.289 1.687
Roots
=============================================================================
Real Imaginary Modulus Frequency
-----------------------------------------------------------------------------
AR.1 -0.8027 -1.4232j 1.6340 -0.3317
AR.2 -0.8027 +1.4232j 1.6340 0.3317
AR.3 3.4918 -0.0000j 3.4918 -0.0000
MA.1 -5.0226 +0.0000j 5.0226 0.5000
-----------------------------------------------------------------------------
The warning messages above indicate taht for some order combinations (i, j) the model could not converge. The combination with the best performance was: order = (3, 1)
In [0]:
# Create model
arma_model = ARMA(trainset, order = (3, 1))
In [0]:
# Train model
arma_model_fit = arma_model.fit(method = 'mle', disp = False)
In [0]:
# Model summary
arma_model_fit.summary()
Out[0]:
ARMA Model Results | |||
Dep. Variable: | sales | No. Observations: | 36 |
Model: | ARMA(3, 1) | Log Likelihood | -270.459 |
Method: | mle | S.D. of innovations | 442.123 |
Date: | Sat, 09 May 2020 | AIC | 552.918 |
Time: | 17:27:13 | BIC | 562.420 |
Sample: | 01-01-2014 | HQIC | 556.235 |
| - 12-01-2016 |
|
|
| coef | std err | z | P>|z| | [0.025 | 0.975] |
const | 939.5857 | 63.229 | 14.860 | 0.000 | 815.660 | 1063.512 |
ar.L1.sales | -0.3149 | 0.770 | -0.409 | 0.685 | -1.824 | 1.194 |
ar.L2.sales | -0.2023 | 0.207 | -0.979 | 0.335 | -0.607 | 0.203 |
ar.L3.sales | 0.1073 | 0.260 | 0.413 | 0.682 | -0.402 | 0.616 |
ma.L1.sales | 0.1991 | 0.759 | 0.262 | 0.795 | -1.289 | 1.687 |
Roots | ||||
| Real | Imaginary | Modulus | Frequency |
AR.1 | -0.8027 | -1.4232j | 1.6340 | -0.3317 |
AR.2 | -0.8027 | +1.4232j | 1.6340 | 0.3317 |
AR.3 | 3.4917 | -0.0000j | 3.4917 | -0.0000 |
MA.1 | -5.0228 | +0.0000j | 5.0228 | 0.5000 |
Evaluating based on the AIC (Akaike Information Criterion) metric. The lower the value the better the model performance.
In [0]:
# Model predictions
arma_predict = arma_model_fit.predict(start = pd.to_datetime('2017-01-01'),
end = pd.to_datetime('2017-12-01'),
dynamic = False)
In [0]:
# Plotting predictions
ax = sales_technology_monthly_mean.plot(label = 'Observed Values', color = '#3574BF')
rcParams['figure.figsize'] = 18, 8
arma_predict.plot(ax = ax, label = 'ARMA (3,1) Predictions', alpha = 0.7, color = 'red')
plt.title('Sales Predictions with ARMA Model')
plt.xlabel('Data')
plt.ylabel('Technology Category Sales')
plt.legend()
plt.show()
In [0]:
# Evaluating performance with test data
arma_results = performance(testset, arma_predict)
arma_results
The prediction MSE is 168192.9
The prediction RMSE is 410.11
The prediction MAPE is 28.4
Creating a function to plot various diagnostic metrics which can be used to assess the model
In [0]:
# Function
def tsplot(y, lags = None, figsize = (12, 8), style = 'bmh'):
# If the series isn't from type pd.Series, convert it
if not isinstance(y, pd.Series):
y = pd.Series(y)
# Creating plots
with plt.style.context(style):
fig = plt.figure(figsize = figsize)
layout = (3, 2)
ts_ax = plt.subplot2grid(layout, (0, 0), colspan = 2)
acf_ax = plt.subplot2grid(layout, (1, 0))
pacf_ax = plt.subplot2grid(layout, (1, 1))
qq_ax = plt.subplot2grid(layout, (2, 0))
pp_ax = plt.subplot2grid(layout, (2, 1))
y.plot(ax = ts_ax)
ts_ax.set_title('Plots for Time Series Analysis')
smt.graphics.plot_acf(y, lags = lags, ax = acf_ax, alpha = 0.05)
smt.graphics.plot_pacf(y, lags = lags, ax = pacf_ax, alpha = 0.05)
sm.qqplot(y, line = 's', ax = qq_ax)
qq_ax.set_title('QQ Plot')
scs.probplot(y, sparams = (y.mean(), y.std()), plot = pp_ax)
plt.tight_layout()
return
In [0]:
# Running the functions with train data
tsplot(trainset, lags = 30)
/usr/local/lib/python3.6/dist-packages/statsmodels/regression/linear_model.py:1358: RuntimeWarning:
invalid value encountered in sqrt
The model's rediduals must be normally distributed. Checking with the jarque_bera test.
In [0]:
# Test
score, pvalue, _, _ = jarque_bera(arma_model_fit.resid)
# Result
if pvalue < 0.05:
print ('\nThe residuals might not be normally distributed.')
else:
print ('\nThe residuals appear to be normally distributed.')
The residuals appear to be normally distributed.
In [0]:
# Ljung-Box test
ljungbox_test = sms.diagnostic.acorr_ljungbox(arma_model_fit.resid, lags = [30], boxpierce = False)
print('P-value =', ljungbox_test[1])
P-value = [0.9105266]
The p-value is greater than 0.05, which indicates that the residual are independent with a 95% confidence, thefore an (3, 1) ARMA model has a good fit.
ARIMA Model
In [0]:
# Load data
data = pd.read_csv('https://raw.githubusercontent.com/dsacademybr/Datasets/master/dataset6.csv')
# Setting column names to lowercase
data.columns = map(str.lower, data.columns)
# Substituting espaces and dashes in the column names by underscores
data.columns = data.columns.str.replace(" ", "_")
data.columns = data.columns.str.replace("-", "_")
# Splitting data by category
df_technology = data.loc[data['category'] == 'Technology']
# Aggregating sales by order date
ts_technology = df_technology.groupby('order_date')['sales'].sum().reset_index()
# Setting the date as index
ts_technology = ts_technology.set_index('order_date')
# Retrieving only sales data
sales_technology = ts_technology[['sales']]
# Changing index type
sales_technology.index = pd.to_datetime(sales_technology.index)
# Resampling data to a monthly frequency
# Done by setting the month as index and then calculating the mean of daily sales over the month
sales_technology_monthly_mean = sales_technology['sales'].resample('MS').mean()
# Train-Test Split
X = sales_technology_monthly_mean
train_size = int(len(X) * 0.75)
trainset, testset = X[0:train_size], X[train_size:]
In [0]:
# Function to evaluate an ARIMA model
def evaluate_arima_model(X, arima_order):
# Prepare data
train_size = int(len(X) * 0.75)
train, test = X[0:train_size], X[train_size:]
history = [x for x in train]
# predict
predictions = list()
# Loop
for t in range(len(test)):
model = ARIMA(history, order = arima_order)
model_fit = model.fit(method = 'mle', disp = 0)
yhat = model_fit.forecast()[0]
predictions.append(yhat)
history.append(test[t])
# Calculate model error
error = mean_squared_error(test, predictions)
return error
In [0]:
# Finding the optimal combination of 'p', 'd' and 'q' values for the ARIMA model
def find_best_arima(dataset, p_values, d_values, q_values):
# Adjusting the data type
dataset = dataset.astype('float32')
# Defining control variables
best_score, best_cfg = float("inf"), None
# Loop through 'p d q' values
for p in p_values:
for d in d_values:
for q in q_values:
order = (p,d,q)
try:
mse = evaluate_arima_model(dataset, order)
if mse < best_score:
best_score, best_cfg = mse, order
print('ARIMA%s MSE = %.3f' % (order, mse))
except:
continue
print('\nBest Model ARIMA%s MSE = %.3f' % (best_cfg, best_score))
In [0]:
# Set values to loop through
p_values = [0, 2, 4, 6]
d_values = [0, 2, 4, 6]
q_values = [0, 2, 4, 6]
In [0]:
# Applying function to seek the best values for 'p d q'
find_best_arima(sales_technology_monthly_mean.values, p_values, d_values, q_values)
ARIMA(0, 0, 0) MSE = 174155.275
ARIMA(0, 0, 2) MSE = 191647.549
ARIMA(0, 0, 4) MSE = 194995.823
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:492: HessianInversionWarning:
Inverting hessian failed, no bse or cov_params available
ARIMA(0, 0, 6) MSE = 173741.615
ARIMA(0, 2, 0) MSE = 793878.683
ARIMA(2, 0, 0) MSE = 194636.248
ARIMA(2, 2, 0) MSE = 299872.253
ARIMA(4, 0, 0) MSE = 188135.157
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:492: HessianInversionWarning:
Inverting hessian failed, no bse or cov_params available
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:492: HessianInversionWarning:
Inverting hessian failed, no bse or cov_params available
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:492: HessianInversionWarning:
Inverting hessian failed, no bse or cov_params available
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:492: HessianInversionWarning:
Inverting hessian failed, no bse or cov_params available
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:492: HessianInversionWarning:
Inverting hessian failed, no bse or cov_params available
ARIMA(4, 0, 2) MSE = 201385.415
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:492: HessianInversionWarning:
Inverting hessian failed, no bse or cov_params available
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:492: HessianInversionWarning:
Inverting hessian failed, no bse or cov_params available
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/tsatools.py:668: RuntimeWarning:
overflow encountered in exp
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/tsatools.py:668: RuntimeWarning:
invalid value encountered in true_divide
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/tsatools.py:669: RuntimeWarning:
overflow encountered in exp
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/tsatools.py:669: RuntimeWarning:
invalid value encountered in true_divide
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:492: HessianInversionWarning:
Inverting hessian failed, no bse or cov_params available
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:492: HessianInversionWarning:
Inverting hessian failed, no bse or cov_params available
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:492: HessianInversionWarning:
Inverting hessian failed, no bse or cov_params available
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:492: HessianInversionWarning:
Inverting hessian failed, no bse or cov_params available
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:492: HessianInversionWarning:
Inverting hessian failed, no bse or cov_params available
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:492: HessianInversionWarning:
Inverting hessian failed, no bse or cov_params available
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:492: HessianInversionWarning:
Inverting hessian failed, no bse or cov_params available
ARIMA(4, 0, 4) MSE = 205003.913
ARIMA(4, 2, 0) MSE = 299179.994
ARIMA(6, 0, 0) MSE = 204155.758
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:492: HessianInversionWarning:
Inverting hessian failed, no bse or cov_params available
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:492: HessianInversionWarning:
Inverting hessian failed, no bse or cov_params available
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:492: HessianInversionWarning:
Inverting hessian failed, no bse or cov_params available
ARIMA(6, 0, 2) MSE = 183004.507
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:492: HessianInversionWarning:
Inverting hessian failed, no bse or cov_params available
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:492: HessianInversionWarning:
Inverting hessian failed, no bse or cov_params available
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:492: HessianInversionWarning:
Inverting hessian failed, no bse or cov_params available
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:492: HessianInversionWarning:
Inverting hessian failed, no bse or cov_params available
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:492: HessianInversionWarning:
Inverting hessian failed, no bse or cov_params available
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:492: HessianInversionWarning:
Inverting hessian failed, no bse or cov_params available
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:492: HessianInversionWarning:
Inverting hessian failed, no bse or cov_params available
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:492: HessianInversionWarning:
Inverting hessian failed, no bse or cov_params available
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:492: HessianInversionWarning:
Inverting hessian failed, no bse or cov_params available
ARIMA(6, 0, 4) MSE = 140567.260
Best Model ARIMA(6, 0, 4) MSE = 140567.260
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:492: HessianInversionWarning:
Inverting hessian failed, no bse or cov_params available
The warning messages above indicate that some of the combinations cannot create a model which converges.
According to the result the optimal values are: oreder = (6, 0, 4).
In [0]:
# Create model
arima_model = ARIMA(trainset, order = (6,0,4))
In [0]:
# Train model
arima_model_fit = arima_model.fit(method = 'mle', disp = False)
In [0]:
# Model summary
arima_model_fit.summary()
Out[0]:
ARMA Model Results | |||
Dep. Variable: | sales | No. Observations: | 36 |
Model: | ARMA(6, 4) | Log Likelihood | -268.327 |
Method: | mle | S.D. of innovations | 383.392 |
Date: | Sat, 09 May 2020 | AIC | 560.655 |
Time: | 17:29:10 | BIC | 579.657 |
Sample: | 01-01-2014 | HQIC | 567.287 |
| - 12-01-2016 |
|
|
| coef | std err | z | P>|z| | [0.025 | 0.975] |
const | 939.1474 | 64.124 | 14.646 | 0.000 | 813.467 | 1064.828 |
ar.L1.sales | -0.6945 | 0.216 | -3.213 | 0.004 | -1.118 | -0.271 |
ar.L2.sales | -0.1558 | 0.316 | -0.493 | 0.627 | -0.775 | 0.464 |
ar.L3.sales | -0.6355 | 0.308 | -2.062 | 0.050 | -1.240 | -0.031 |
ar.L4.sales | -0.7980 | 0.290 | -2.750 | 0.011 | -1.367 | -0.229 |
ar.L5.sales | -0.1525 | 0.275 | -0.554 | 0.584 | -0.692 | 0.387 |
ar.L6.sales | 0.1194 | 0.203 | 0.589 | 0.561 | -0.278 | 0.516 |
ma.L1.sales | 0.6915 | 0.279 | 2.477 | 0.020 | 0.144 | 1.239 |
ma.L2.sales | -0.1103 | 0.264 | -0.418 | 0.680 | -0.628 | 0.407 |
ma.L3.sales | 0.6915 | 0.212 | 3.268 | 0.003 | 0.277 | 1.106 |
ma.L4.sales | 1.0000 | 0.272 | 3.672 | 0.001 | 0.466 | 1.534 |
Roots | ||||
| Real | Imaginary | Modulus | Frequency |
AR.1 | 0.5448 | -0.8690j | 1.0257 | -0.1609 |
AR.2 | 0.5448 | +0.8690j | 1.0257 | 0.1609 |
AR.3 | -1.0291 | -0.7452j | 1.2705 | -0.4003 |
AR.4 | -1.0291 | +0.7452j | 1.2705 | 0.4003 |
AR.5 | -1.3659 | -0.0000j | 1.3659 | -0.5000 |
AR.6 | 3.6119 | -0.0000j | 3.6119 | -0.0000 |
MA.1 | 0.5738 | -0.8190j | 1.0000 | -0.1527 |
MA.2 | 0.5738 | +0.8190j | 1.0000 | 0.1527 |
MA.3 | -0.9195 | -0.3931j | 1.0000 | -0.4357 |
MA.4 | -0.9195 | +0.3931j | 1.0000 | 0.4357 |
Evaluating based on the AIC (Akaike Information Criterion) metric. The lower the value the better the model performance.
In [0]:
# Model predictions
arima_predict = arima_model_fit.predict(start = pd.to_datetime('2017-01-01'),
end = pd.to_datetime('2017-12-01'),
dynamic = False)
In [0]:
# Plotting predictions
ax = sales_technology_monthly_mean.plot(label = 'Observed Values', color = '#3574BF')
rcParams['figure.figsize'] = 14, 7
arima_predict.plot(ax = ax, label = 'ARIMA (6,0,4) Predictions', alpha = 0.8, color = 'red')
plt.title('Sales Predictions with ARIMA Model')
plt.xlabel('Data')
plt.ylabel('Technology Category Sales')
plt.legend()
plt.show()
In [0]:
# Calculating performance
arima_results = performance(testset, arima_predict)
arima_results
The prediction MSE is 120137.97
The prediction RMSE is 346.61
The prediction MAPE is 20.1
The model's rediduals must be normally distributed. Checking with the jarque_bera test..
In [0]:
# Test
score, pvalue, _, _ = jarque_bera(arima_model_fit.resid)
# Result
if pvalue < 0.05:
print ('\nThe residuals might not be normally distributed.')
else:
print ('\nThe residuals appear to be normally distributed.')
The residuals appear to be normally distributed.
In [0]:
# Ljung-Box test
ljungbox_test = sms.diagnostic.acorr_ljungbox(arima_model_fit.resid, lags = [30], boxpierce = False)
print('P-value =', ljungbox_test[1])
P-value = [0.92902243]
The p-value is greater than 0.05, which indicates that the residual are independent with a 95% confidence, thefore an (6,0,2) ARIMA model has a good fit.
Model comparison:
ARMA (3,1):
ARIMA (6,0,4):
SARIMA Model
Grid Search Method 1 - auto_arima
Using an Auto-Arima model to find the best order hiperparameters for the lowest AIC score.
In [0]:
# Load data
data = pd.read_csv('https://raw.githubusercontent.com/dsacademybr/Datasets/master/dataset6.csv')
# Setting column names to lowercase
data.columns = map(str.lower, data.columns)
# Substituting espaces and dashes in the column names by underscores
data.columns = data.columns.str.replace(" ", "_")
data.columns = data.columns.str.replace("-", "_")
# Splitting data by category
df_technology = data.loc[data['category'] == 'Technology']
# Aggregating sales by order date
ts_technology = df_technology.groupby('order_date')['sales'].sum().reset_index()
# Setting the date as index
ts_technology = ts_technology.set_index('order_date')
# Retrieving only sales data
sales_technology = ts_technology[['sales']]
# Changing index type
sales_technology.index = pd.to_datetime(sales_technology.index)
# Resampling data to a monthly frequency
# Done by setting the month as index and then calculating the mean of daily sales over the month
sales_technology_monthly_mean = sales_technology['sales'].resample('MS').mean()
# Train-Test Split
X = sales_technology_monthly_mean
train_size = int(len(X) * 0.75)
trainset, testset = X[0:train_size], X[train_size:]
In [0]:
# Searching for the ideal model order
# Using pm.auto_arima method to apply a Grid Search and retrieve the best model
sarima_hiperparameters = pm.auto_arima(trainset,
seasonal = True,
m = 12,
d = 0,
D = 1,
max_p = 2,
max_q = 2,
trace = True,
error_action = 'ignore',
suppress_warnings = True)
Performing stepwise search to minimize aic
Fit ARIMA(2,0,2)x(1,1,1,12) [intercept=True]; AIC=nan, BIC=nan, Time=nan seconds
Fit ARIMA(0,0,0)x(0,1,0,12) [intercept=True]; AIC=380.244, BIC=382.600, Time=0.024 seconds
Fit ARIMA(1,0,0)x(1,1,0,12) [intercept=True]; AIC=378.184, BIC=382.897, Time=0.495 seconds
Fit ARIMA(0,0,1)x(0,1,1,12) [intercept=True]; AIC=nan, BIC=nan, Time=nan seconds
Fit ARIMA(0,0,0)x(0,1,0,12) [intercept=False]; AIC=378.609, BIC=379.787, Time=0.015 seconds
Fit ARIMA(1,0,0)x(0,1,0,12) [intercept=True]; AIC=382.218, BIC=385.753, Time=0.068 seconds
Fit ARIMA(1,0,0)x(2,1,0,12) [intercept=True]; AIC=nan, BIC=nan, Time=nan seconds
Fit ARIMA(1,0,0)x(1,1,1,12) [intercept=True]; AIC=nan, BIC=nan, Time=nan seconds
Fit ARIMA(1,0,0)x(0,1,1,12) [intercept=True]; AIC=nan, BIC=nan, Time=nan seconds
Fit ARIMA(1,0,0)x(2,1,1,12) [intercept=True]; AIC=nan, BIC=nan, Time=nan seconds
Fit ARIMA(0,0,0)x(1,1,0,12) [intercept=True]; AIC=377.369, BIC=380.903, Time=0.331 seconds
Fit ARIMA(0,0,0)x(2,1,0,12) [intercept=True]; AIC=nan, BIC=nan, Time=nan seconds
Fit ARIMA(0,0,0)x(1,1,1,12) [intercept=True]; AIC=nan, BIC=nan, Time=nan seconds
Fit ARIMA(0,0,0)x(0,1,1,12) [intercept=True]; AIC=nan, BIC=nan, Time=nan seconds
Fit ARIMA(0,0,0)x(2,1,1,12) [intercept=True]; AIC=nan, BIC=nan, Time=nan seconds
Fit ARIMA(0,0,1)x(1,1,0,12) [intercept=True]; AIC=376.797, BIC=381.509, Time=0.255 seconds
Fit ARIMA(0,0,1)x(0,1,0,12) [intercept=True]; AIC=382.184, BIC=385.718, Time=0.145 seconds
Fit ARIMA(0,0,1)x(2,1,0,12) [intercept=True]; AIC=nan, BIC=nan, Time=nan seconds
Fit ARIMA(0,0,1)x(1,1,1,12) [intercept=True]; AIC=nan, BIC=nan, Time=nan seconds
Fit ARIMA(0,0,1)x(2,1,1,12) [intercept=True]; AIC=nan, BIC=nan, Time=nan seconds
Fit ARIMA(1,0,1)x(1,1,0,12) [intercept=True]; AIC=378.567, BIC=384.458, Time=0.472 seconds
Fit ARIMA(0,0,2)x(1,1,0,12) [intercept=True]; AIC=378.319, BIC=384.209, Time=0.330 seconds
Fit ARIMA(1,0,2)x(1,1,0,12) [intercept=True]; AIC=379.996, BIC=387.065, Time=0.518 seconds
Total fit time: 2.702 seconds
Analyzing the results from the Stepwise Grid Search the best model is:
Fit ARIMA(0,0,1)x(1,1,0,12) [intercept=True]; AIC=376.797, BIC=381.509, Time=0.225 seconds
In [0]:
# Print summary of the model with best parameters
print(sarima_hiperparameters.summary())
Statespace Model Results
==========================================================================================
Dep. Variable: y No. Observations: 36
Model: SARIMAX(0, 0, 1)x(1, 1, 0, 12) Log Likelihood -184.398
Date: Sat, 09 May 2020 AIC 376.797
Time: 17:29:14 BIC 381.509
Sample: 0 HQIC 378.047
- 36
Covariance Type: opg
==============================================================================
coef std err z P>|z| [0.025 0.975]
------------------------------------------------------------------------------
intercept 163.5162 74.251 2.202 0.028 17.986 309.046
ma.L1 -0.4516 0.232 -1.948 0.051 -0.906 0.003
ar.S.L12 -0.7046 0.146 -4.812 0.000 -0.992 -0.418
sigma2 2.449e+05 1.09e+05 2.253 0.024 3.19e+04 4.58e+05
===================================================================================
Ljung-Box (Q): nan Jarque-Bera (JB): 0.65
Prob(Q): nan Prob(JB): 0.72
Heteroskedasticity (H): 2.44 Skew: 0.13
Prob(H) (two-sided): 0.23 Kurtosis: 2.24
===================================================================================
Warnings:
[1] Covariance matrix calculated using the outer product of gradients (complex-step).
https://www.statsmodels.org/dev/generated/statsmodels.tsa.statespace.sarimax.SARIMAX.html
In [0]:
# Create SARIMA model
sarima_model_v1 = sm.tsa.statespace.SARIMAX(trainset,
order = (0, 0, 1),
seasonal_order = (1, 1, 0, 12),
enforce_stationarity = False,
enforce_invertibility = False)
In [0]:
# Training (fit) model
sarima_model_v1_fit = sarima_model_v1.fit()
In [0]:
# Model summary
print(sarima_model_v1_fit.summary())
Statespace Model Results
==========================================================================================
Dep. Variable: sales No. Observations: 36
Model: SARIMAX(0, 0, 1)x(1, 1, 0, 12) Log Likelihood -93.817
Date: Sat, 09 May 2020 AIC 193.633
Time: 17:29:14 BIC 195.088
Sample: 01-01-2014 HQIC 193.095
- 12-01-2016
Covariance Type: opg
==============================================================================
coef std err z P>|z| [0.025 0.975]
------------------------------------------------------------------------------
ma.L1 -0.0756 0.524 -0.144 0.885 -1.103 0.952
ar.S.L12 -0.4330 0.602 -0.719 0.472 -1.613 0.747
sigma2 3.385e+05 1.55e+05 2.183 0.029 3.46e+04 6.42e+05
===================================================================================
Ljung-Box (Q): nan Jarque-Bera (JB): 0.93
Prob(Q): nan Prob(JB): 0.63
Heteroskedasticity (H): 2.43 Skew: 0.55
Prob(H) (two-sided): 0.41 Kurtosis: 2.20
===================================================================================
Warnings:
[1] Covariance matrix calculated using the outer product of gradients (complex-step).
In [0]:
# Model diagnostic
sarima_model_v1_fit.plot_diagnostics(figsize = (16, 8))
plt.show()
In [0]:
# Predictions
sarima_predict_1 = sarima_model_v1_fit.get_prediction(start = pd.to_datetime('2017-01-01'),
end = pd.to_datetime('2017-12-01'),
dynamic = False)
In [0]:
# Confidence interval
sarima_predict_conf_1 = sarima_predict_1.conf_int()
sarima_predict_conf_1
Out[0]:
| lower sales | upper sales |
2017-01-01 | -493.735604 | 1786.942536 |
2017-02-01 | -261.853176 | 2025.326730 |
2017-03-01 | -251.144557 | 2036.035349 |
2017-04-01 | -344.908949 | 1942.270957 |
2017-05-01 | 124.722615 | 2411.902521 |
2017-06-01 | -377.648568 | 1909.531338 |
2017-07-01 | -373.997870 | 1913.182036 |
2017-08-01 | -389.207602 | 1897.972304 |
2017-09-01 | -83.129229 | 2204.050677 |
2017-10-01 | 231.352910 | 2518.532816 |
2017-11-01 | -78.585395 | 2208.594511 |
2017-12-01 | 108.033393 | 2395.213299 |
In [0]:
# Plot observed values
ax = sales_technology_monthly_mean.plot(label = 'Observed Values', color = '#2574BF')
# Plot predicted values
sarima_predict_1.predicted_mean.plot(ax = ax,
label = 'SARIMA (0, 0, 1)x(0, 1, 1, 12) Predictions',
alpha = 0.7,
color = 'red')
# Plot confidence interval
ax.fill_between(sarima_predict_conf_1.index,
# lower sales
sarima_predict_conf_1.iloc[:, 0],
# upper sales
sarima_predict_conf_1.iloc[:, 1], color = 'k', alpha = 0.1)
# Titles and legends
plt.title('Sales Predictions with SARIMA Model')
plt.xlabel('Data')
plt.ylabel('Technology Category Sales')
plt.legend()
plt.show()
In [0]:
# Calculating performance
sarima_results_1 = performance(testset, sarima_predict_1.predicted_mean)
sarima_results_1
The prediction MSE is 184433.09
The prediction RMSE is 429.46
The prediction MAPE is 35.35
In [0]:
# Ljung-Box test
ljungbox_test = sms.diagnostic.acorr_ljungbox(sarima_model_v1_fit.resid, lags = [30], boxpierce = False)
print('P-value =', ljungbox_test[1])
P-value = [0.6456201]
The p-value is greater than 0.05, which indicates that the residual are independent with a 95% confidence, thefore an (0, 0, 1)x(1, 1, 0, 12) SARIMA model has a good fit.
Model comparison:
ARMA (3,1):
ARIMA (6,0,4):
SARIMA (0,0,1)x(1,1,0,12):
Grid Search Method 2 - manual
In [0]:
# Load data
data = pd.read_csv('https://raw.githubusercontent.com/dsacademybr/Datasets/master/dataset6.csv')
# Setting column names to lowercase
data.columns = map(str.lower, data.columns)
# Substituting espaces and dashes in the column names by underscores
data.columns = data.columns.str.replace(" ", "_")
data.columns = data.columns.str.replace("-", "_")
# Splitting data by category
df_technology = data.loc[data['category'] == 'Technology']
# Aggregating sales by order date
ts_technology = df_technology.groupby('order_date')['sales'].sum().reset_index()
# Setting the date as index
ts_technology = ts_technology.set_index('order_date')
# Retrieving only sales data
sales_technology = ts_technology[['sales']]
# Changing index type
sales_technology.index = pd.to_datetime(sales_technology.index)
# Resampling data to a monthly frequency
# Done by setting the month as index and then calculating the mean of daily sales over the month
sales_technology_monthly_mean = sales_technology['sales'].resample('MS').mean()
# Train-Test Split
X = sales_technology_monthly_mean
train_size = int(len(X) * 0.75)
trainset, testset = X[0:train_size], X[train_size:]
Testing multiple hiperparameter combinations for the Sarima model. Since going through all possible hiperparameter combinations for all variables in a sarima model can take long, I'm limiting the value of each hiperparameter to either 0 or 1, since that range fits most datasets.
In [0]:
# Setting 'p d q' to be either 0 or 1 (range(0, 2))
# Since there are many parameters (p,d,q)(P,D,Q) anything more than this start taking a long time to train
p = d = q = range(0, 2)
In [0]:
# List with all combinations for 'p d q'
pdq = list(itertools.product(p, d, q))
pdq
Out[0]:
[(0, 0, 0),
(0, 0, 1),
(0, 1, 0),
(0, 1, 1),
(1, 0, 0),
(1, 0, 1),
(1, 1, 0),
(1, 1, 1)]
In [0]:
# List with all combinations for the seasonal hiperparameters 'P D Q'
# Using List Comprehension
seasonal_pdq = [(x[0], x[1], x[2], 12) for x in list(itertools.product(p, d, q))]
seasonal_pdq
Out[0]:
[(0, 0, 0, 12),
(0, 0, 1, 12),
(0, 1, 0, 12),
(0, 1, 1, 12),
(1, 0, 0, 12),
(1, 0, 1, 12),
(1, 1, 0, 12),
(1, 1, 1, 12)]
In [0]:
# Grid Search
#warnings.filterwarnings("ignore")
# Lowest possible value for the AIC statistics (the model optimization goal)
lowest_aic = sys.maxsize
lowest = ''
# Loop
for param in pdq:
for param_seasonal in seasonal_pdq:
try:
# Create model with the hiperparameter combination
mod = sm.tsa.statespace.SARIMAX(trainset,
order = param,
seasonal_order = param_seasonal,
enforce_stationarity = False,
enforce_invertibility = False)
# Train model
results = mod.fit()
print('SARIMA{}x{} - AIC:{}'.format(param, param_seasonal, results.aic))
# Check for improvement (reduction) in AIC
if lowest_aic > results.aic:
lowest = 'SARIMA{}x{} - AIC:{}'.format(param, param_seasonal, results.aic)
lowest_aic = results.aic
except:
continue
print ("\nModel with Lowest AIC Score: " + lowest)
SARIMA(0, 0, 0)x(0, 0, 0, 12) - AIC:588.2102390405763
SARIMA(0, 0, 0)x(0, 1, 0, 12) - AIC:363.3206300182339
SARIMA(0, 0, 0)x(1, 0, 0, 12) - AIC:379.0151254818642
SARIMA(0, 0, 0)x(1, 1, 0, 12) - AIC:191.64720213115754
SARIMA(0, 0, 1)x(0, 0, 0, 12) - AIC:556.7477551380659
SARIMA(0, 0, 1)x(0, 1, 0, 12) - AIC:350.40993759684073
SARIMA(0, 0, 1)x(1, 0, 0, 12) - AIC:379.8551441468676
SARIMA(0, 0, 1)x(1, 1, 0, 12) - AIC:193.63316082077588
SARIMA(0, 1, 0)x(0, 0, 0, 12) - AIC:543.2769140078082
SARIMA(0, 1, 0)x(0, 1, 0, 12) - AIC:364.150186670076
SARIMA(0, 1, 0)x(1, 0, 0, 12) - AIC:358.5565559049278
SARIMA(0, 1, 0)x(1, 1, 0, 12) - AIC:182.84893834777014
SARIMA(0, 1, 1)x(0, 0, 0, 12) - AIC:497.7775888290871
SARIMA(0, 1, 1)x(0, 1, 0, 12) - AIC:331.55111404956654
SARIMA(0, 1, 1)x(1, 0, 0, 12) - AIC:348.1154222267687
SARIMA(0, 1, 1)x(1, 1, 0, 12) - AIC:178.52195610425457
SARIMA(1, 0, 0)x(0, 0, 0, 12) - AIC:556.6431138617959
SARIMA(1, 0, 0)x(0, 1, 0, 12) - AIC:365.3000316836825
SARIMA(1, 0, 0)x(1, 0, 0, 12) - AIC:358.9225125802152
SARIMA(1, 0, 0)x(1, 1, 0, 12) - AIC:178.59201216997738
SARIMA(1, 0, 1)x(0, 0, 0, 12) - AIC:522.1371166193512
SARIMA(1, 0, 1)x(0, 1, 0, 12) - AIC:352.33098411264257
SARIMA(1, 0, 1)x(1, 0, 0, 12) - AIC:349.64405196314834
SARIMA(1, 0, 1)x(1, 1, 0, 12) - AIC:180.30466198764935
SARIMA(1, 1, 0)x(0, 0, 0, 12) - AIC:535.9247781811981
SARIMA(1, 1, 0)x(0, 1, 0, 12) - AIC:362.75219388274553
SARIMA(1, 1, 0)x(1, 0, 0, 12) - AIC:341.2622085096664
SARIMA(1, 1, 0)x(1, 1, 0, 12) - AIC:166.69418783304513
SARIMA(1, 1, 1)x(0, 0, 0, 12) - AIC:499.3069548304077
SARIMA(1, 1, 1)x(0, 1, 0, 12) - AIC:333.53654481308536
SARIMA(1, 1, 1)x(1, 0, 0, 12) - AIC:334.45693269725643
SARIMA(1, 1, 1)x(1, 1, 0, 12) - AIC:163.8458481947634
Model with Lowest AIC Score: SARIMA(1, 1, 1)x(1, 1, 0, 12) - AIC:163.8458481947634
In [0]:
# Create the model using the best hiperparameters
sarima_model_v2 = sm.tsa.statespace.SARIMAX(trainset,
order = (1, 1, 1),
seasonal_order = (1, 1, 0, 12),
enforce_stationarity = False,
enforce_invertibility = False)
In [0]:
# Train (fit) model
sarima_model_v2_fit = sarima_model_v2.fit()
In [0]:
# Model summary
print(sarima_model_v2_fit.summary())
Statespace Model Results
==========================================================================================
Dep. Variable: sales No. Observations: 36
Model: SARIMAX(1, 1, 1)x(1, 1, 0, 12) Log Likelihood -77.923
Date: Sat, 09 May 2020 AIC 163.846
Time: 17:29:17 BIC 165.056
Sample: 01-01-2014 HQIC 162.518
- 12-01-2016
Covariance Type: opg
==============================================================================
coef std err z P>|z| [0.025 0.975]
------------------------------------------------------------------------------
ar.L1 0.0311 0.614 0.051 0.960 -1.172 1.234
ma.L1 -1.0000 0.662 -1.511 0.131 -2.297 0.297
ar.S.L12 -0.2469 0.749 -0.330 0.742 -1.714 1.220
sigma2 3.127e+05 2.12e-06 1.48e+11 0.000 3.13e+05 3.13e+05
===================================================================================
Ljung-Box (Q): nan Jarque-Bera (JB): 0.61
Prob(Q): nan Prob(JB): 0.74
Heteroskedasticity (H): 5.33 Skew: 0.60
Prob(H) (two-sided): 0.20 Kurtosis: 2.83
===================================================================================
Warnings:
[1] Covariance matrix calculated using the outer product of gradients (complex-step).
[2] Covariance matrix is singular or near-singular, with condition number 1.83e+27. Standard errors may be unstable.
In [0]:
# Model diagnostic
sarima_model_v2_fit.plot_diagnostics(lags = 8, figsize = (16,8))
plt.show()
Model Diagnosis:
The model diagnosis suggest that it is normally distributed based on:
In [0]:
# Predicting
sarima_predict_2 = sarima_model_v2_fit.get_prediction(start = pd.to_datetime('2017-01-01'),
end = pd.to_datetime('2017-12-01'),
dynamic = False)
In [0]:
# Confidence interval
sarima_predict_conf_2 = sarima_predict_2.conf_int()
sarima_predict_conf_2
Out[0]:
| lower sales | upper sales |
2017-01-01 | -443.478833 | 1821.156127 |
2017-02-01 | 95.061691 | 2365.222326 |
2017-03-01 | 62.783785 | 2333.087410 |
2017-04-01 | -102.085918 | 2168.222126 |
2017-05-01 | 477.698336 | 2748.006518 |
2017-06-01 | -57.419156 | 2212.889031 |
2017-07-01 | -138.700632 | 2131.607555 |
2017-08-01 | -295.959650 | 1974.348537 |
2017-09-01 | 162.479117 | 2432.787305 |
2017-10-01 | 697.109839 | 2967.418027 |
2017-11-01 | 139.913208 | 2410.221396 |
2017-12-01 | 196.851484 | 2467.159673 |
In [0]:
rcParams['figure.figsize'] = 20,8
# Plot observed values
ax = sales_technology_monthly_mean.plot(label = 'Observed Values', color = '#2574BF')
# Plot predicted values
sarima_predict_2.predicted_mean.plot(ax = ax,
label = 'SARIMA (1, 1, 1)x(0, 1, 1, 12) Predictions',
alpha = 0.7,
color = 'red')
# Plot confidence interval
ax.fill_between(sarima_predict_conf_2.index,
# lower sales
sarima_predict_conf_2.iloc[:, 0],
# upper sales
sarima_predict_conf_2.iloc[:, 1], color = 'k', alpha = 0.1)
# Titles and legends
plt.title('Sales Predictions with SARIMA Model')
plt.xlabel('Data')
plt.ylabel('Technology Category Sales')
plt.legend()
plt.show()
In [0]:
# Calculating performance
sarima_results_2 = performance(testset, sarima_predict_2.predicted_mean)
sarima_results_2
The prediction MSE is 229093.55
The prediction RMSE is 478.64
The prediction MAPE is 47.48
In [0]:
# Ljung-Box test
ljungbox_test = sms.diagnostic.acorr_ljungbox(sarima_model_v2_fit.resid, lags = [30], boxpierce = False)
print('P-value =', ljungbox_test[1])
P-value = [0.20204613]
The p-value is greater than 0.05, which indicates that the residual are independent with a 95% confidence, thefore an (1, 1, 1)x(1, 1, 0, 12) SARIMA model has a good fit.
Model comparison:
ARMA (3,1):
ARIMA (6,0,4):
SARIMA (0,0,1)x(1,1,0,12):
SARIMA (1,1,1)x(1,1,0,12):
SARIMAX
SARIMA + Exogenous Variable (Holidays)
Disclaimer: Using a daily frequency exogenous variable (such as holidays) on a monthly frequency time series is inappropriate. This was done for experimental purposes.
In [0]:
# Load data
data = pd.read_csv('https://raw.githubusercontent.com/dsacademybr/Datasets/master/dataset6.csv')
# Setting column names to lowercase
data.columns = map(str.lower, data.columns)
# Substituting espaces and dashes in the column names by underscores
data.columns = data.columns.str.replace(" ", "_")
data.columns = data.columns.str.replace("-", "_")
# Splitting data by category
df_technology = data.loc[data['category'] == 'Technology']
# Aggregating sales by order date
ts_technology = df_technology.groupby('order_date')['sales'].sum().reset_index()
# Setting the date as index
ts_technology = ts_technology.set_index('order_date')
# Retrieving only sales data
sales_technology = ts_technology[['sales']]
# Changing index type
sales_technology.index = pd.to_datetime(sales_technology.index)
# Resampling data to a monthly frequency
# Done by setting the month as index and then calculating the mean of daily sales over the month
sales_technology_monthly_mean = sales_technology['sales'].resample('MS').mean()
# Train-Test Split
X = sales_technology_monthly_mean
train_size = int(len(X) * 0.75)
trainset, testset = X[0:train_size], X[train_size:]
Create dataframe with holidays
In [0]:
# Create empty dataframe
festivities = pd.Series()
/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:1: DeprecationWarning:
The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.
In [0]:
# Retrieving all holidays in the US from 2014 to 2017
for i, festivity in holidays.US(years = [2014, 2015, 2016, 2017]).items():
festivities[i] = festivity
In [0]:
# Visualizing data
festivities.head(8)
Out[0]:
2016-01-01 New Year's Day
2016-01-18 Martin Luther King, Jr. Day
2016-02-15 Washington's Birthday
2016-05-30 Memorial Day
2016-07-04 Independence Day
2016-09-05 Labor Day
2016-10-10 Columbus Day
2016-11-11 Veterans Day
dtype: object
In [0]:
# Type
type(festivities)
Out[0]:
pandas.core.series.Series
In [0]:
# Converting the series to dataframe
festivities_df = pd.DataFrame(festivities)
In [0]:
# Type
type(festivities_df)
Out[0]:
pandas.core.frame.DataFrame
In [0]:
# Shape
festivities_df.shape
Out[0]:
(44, 1)
In [0]:
# Resetting index to change column names
festivities_df.reset_index(level = 0, inplace = True)
In [0]:
# Ajusta o nome das colunas
festivities_df.columns = ['date_festivity', 'festivity']
In [0]:
# Visualiza
festivities_df.head()
Out[0]:
| date_festivity | festivity |
0 | 2016-01-01 | New Year's Day |
1 | 2016-01-18 | Martin Luther King, Jr. Day |
2 | 2016-02-15 | Washington's Birthday |
3 | 2016-05-30 | Memorial Day |
4 | 2016-07-04 | Independence Day |
In [0]:
# Data types
festivities_df.dtypes
Out[0]:
date_festivity object
festivity object
dtype: object
In [0]:
# Setting the date column as datetime type
festivities_df['date_festivity'] = pd.to_datetime(festivities_df['date_festivity'])
In [0]:
# Data types
festivities_df.dtypes
Out[0]:
date_festivity datetime64[ns]
festivity object
dtype: object
In [0]:
# Function to add holidays to the sales dataframe
def add_holiday(x):
# Apply rule to set a dummy variable as 1 if it's holiday
batch_df = festivities_df.apply(lambda y: 1 if (x['order_date'] == y['date_festivity']) else None, axis=1)
### For it to work properly with monthly data need to figure a way to make the function sum all holidays in a given month
# Drop null values
batch_df = batch_df.dropna(axis = 0, how = 'all')
# If it's empty, fill with 0
if batch_df.empty:
batch_df = 0
else:
batch_df = batch_df.to_string(index = False)
return batch_df
In [0]:
# Confirming object type
type(sales_technology_monthly_mean)
Out[0]:
pandas.core.series.Series
In [0]:
# Convert series to dataframe
sales_technology_monthly_mean_df = pd.DataFrame(sales_technology_monthly_mean)
In [0]:
# Confirm object type
type(sales_technology_monthly_mean_df)
Out[0]:
pandas.core.frame.DataFrame
In [0]:
# Reset index to rename columns
sales_technology_monthly_mean_df.reset_index(level = 0, inplace = True)
In [0]:
# Rename columns
sales_technology_monthly_mean_df.columns = ['order_date', 'sales']
In [0]:
# Checking
sales_technology_monthly_mean_df.head(3)
Out[0]:
| order_date | sales |
0 | 2014-01-01 | 449.041429 |
1 | 2014-02-01 | 229.787143 |
2 | 2014-03-01 | 2031.948375 |
In [0]:
# Data types
sales_technology_monthly_mean_df.dtypes
Out[0]:
order_date datetime64[ns]
sales float64
dtype: object
In [0]:
# Applying the function on a newly created holiday column
sales_technology_monthly_mean_df['festivity'] = sales_technology_monthly_mean_df.apply(add_holiday, axis = 1)
In [0]:
# Checking
sales_technology_monthly_mean_df.head(3)
Out[0]:
| order_date | sales | festivity |
0 | 2014-01-01 | 449.041429 | 1.0 |
1 | 2014-02-01 | 229.787143 | 0 |
2 | 2014-03-01 | 2031.948375 | 0 |
In [0]:
# Converting the holiday column to integer
sales_technology_monthly_mean_df['festivity'] = pd.to_numeric(sales_technology_monthly_mean_df['festivity'], downcast = 'integer')
In [0]:
# Checking
sales_technology_monthly_mean_df.head(3)
Out[0]:
| order_date | sales | festivity |
0 | 2014-01-01 | 449.041429 | 1 |
1 | 2014-02-01 | 229.787143 | 0 |
2 | 2014-03-01 | 2031.948375 | 0 |
In [0]:
# Setting order_date as index
sales_technology_monthly_mean_df.set_index("order_date", inplace = True)
In [0]:
# Checking
sales_technology_monthly_mean_df.head(3)
Out[0]:
| sales | festivity |
order_date |
|
|
2014-01-01 | 449.041429 | 1 |
2014-02-01 | 229.787143 | 0 |
2014-03-01 | 2031.948375 | 0 |
In [0]:
# Deleting the original series (of series type)
del sales_technology_monthly_mean
In [0]:
# Recreating the original series (as dataframe)
sales_technology_monthly_mean = sales_technology_monthly_mean_df
In [0]:
# Voilá
sales_technology_monthly_mean
Out[0]:
| sales | festivity |
order_date |
|
|
2014-01-01 | 449.041429 | 1 |
2014-02-01 | 229.787143 | 0 |
2014-03-01 | 2031.948375 | 0 |
2014-04-01 | 613.028933 | 0 |
2014-05-01 | 564.698588 | 0 |
2014-06-01 | 766.905909 | 0 |
2014-07-01 | 533.608933 | 0 |
2014-08-01 | 708.435385 | 0 |
2014-09-01 | 2035.838133 | 1 |
2014-10-01 | 596.900900 | 0 |
2014-11-01 | 1208.056320 | 0 |
2014-12-01 | 1160.732889 | 0 |
2015-01-01 | 925.070800 | 1 |
2015-02-01 | 431.121250 | 0 |
2015-03-01 | 574.662333 | 0 |
2015-04-01 | 697.559500 | 0 |
2015-05-01 | 831.642857 | 0 |
2015-06-01 | 429.024400 | 0 |
2015-07-01 | 691.397733 | 0 |
2015-08-01 | 1108.902286 | 0 |
2015-09-01 | 950.856400 | 0 |
2015-10-01 | 594.716111 | 0 |
2015-11-01 | 1037.982652 | 0 |
2015-12-01 | 1619.637636 | 0 |
2016-01-01 | 374.671067 | 1 |
2016-02-01 | 1225.891400 | 0 |
2016-03-01 | 1135.150105 | 0 |
2016-04-01 | 875.911882 | 0 |
2016-05-01 | 1601.816167 | 0 |
2016-06-01 | 1023.259500 | 0 |
2016-07-01 | 829.312500 | 0 |
2016-08-01 | 483.620100 | 0 |
2016-09-01 | 1144.170300 | 0 |
2016-10-01 | 1970.835875 | 0 |
2016-11-01 | 1085.642360 | 0 |
2016-12-01 | 970.554870 | 0 |
2017-01-01 | 1195.218071 | 1 |
2017-02-01 | 430.501714 | 0 |
2017-03-01 | 1392.859250 | 0 |
2017-04-01 | 825.559133 | 0 |
2017-05-01 | 678.329400 | 0 |
2017-06-01 | 853.055000 | 0 |
2017-07-01 | 1054.996636 | 0 |
2017-08-01 | 978.842333 | 0 |
2017-09-01 | 1077.704120 | 0 |
2017-10-01 | 1493.439227 | 0 |
2017-11-01 | 1996.750920 | 0 |
2017-12-01 | 955.865652 | 0 |
As expected, there is something off.
The exogenous variable will not work as intended because since the series is monthly the sales date (the date used to represents the month's average sales) is always the first day of the month. Hence only when the holiday occurs on the first day of the month will it be considered in the model, which is this case is mostly january 1st of each year. It's also not clear whether a exogenous variable with holidays should be used on monthly time series since it's not necessarily the case that a having a holiday whithin a given month will impact that month's average sales. This could be avoided by using daily time series, although that was not the requested analysis for this business problem.
Continuing nevertheless for experimentation purposes.
In [0]:
# Train test split
X = sales_technology_monthly_mean
train_size = int(len(X) * 0.75)
trainset, testset = X[0:train_size], X[train_size:]
In [0]:
len(trainset)
Out[0]:
36
In [0]:
len(testset)
Out[0]:
12
For this SARIMAX model an additional step is needed in splitting the data, as the exogenous variable cannot be included as part of the target (Y) datapoints (simply because it is not). The goal is predicting sales, and not predicting holidays.
In [0]:
# Splitting the trainset columns
# First using only sales on the data series
train_data = pd.Series(trainset['sales'])
In [0]:
# Type
type(train_data)
Out[0]:
pandas.core.series.Series
In [0]:
# Second creating another series with only the holiday (plus a constant which is required by statsmodels)
train_exog_var = sm.add_constant(trainset['festivity'])
In [0]:
# Type
type(train_exog_var)
Out[0]:
pandas.core.frame.DataFrame
In [0]:
# Checking data types
train_exog_var.dtypes
Out[0]:
const float64
festivity int8
dtype: object
In [0]:
# Checking the output dataframe
train_exog_var.head(3)
Out[0]:
| const | festivity |
order_date |
|
|
2014-01-01 | 1.0 | 1 |
2014-02-01 | 1.0 | 0 |
2014-03-01 | 1.0 | 0 |
Even though the cell above contains two series (two columns), for processing with Statsmodels the data series (Y) must be of object type 'Series' and the series with the exogenous variable must be of object type 'Dataframe', otherwise there will be errors during processing.
Repeating the same for test data:
In [0]:
# Repeating process for the test data
# First adding only sales to a series
test_data = pd.Series(testset['sales'])
In [0]:
# Second creating another series with only the holiday (plus a constant which is required by statsmodels)
test_exog_var = sm.add_constant(testset['festivity'])
Optimizing hiperparameters for the SARIMA model with exogenous variables.
In [0]:
# Setting 'p d q' to be either 0 or 1 (range(0, 2))
p = d = q = range(0, 2)
In [0]:
# List with all combinations for 'p d q'
pdq = list(itertools.product(p, d, q))
pdq
Out[0]:
[(0, 0, 0),
(0, 0, 1),
(0, 1, 0),
(0, 1, 1),
(1, 0, 0),
(1, 0, 1),
(1, 1, 0),
(1, 1, 1)]
In [0]:
# List with all combinations for the seasonal hiperparameters 'P D Q'
# Using List Comprehension
seasonal_pdq = [(x[0], x[1], x[2], 12) for x in list(itertools.product(p, d, q))]
seasonal_pdq
Out[0]:
[(0, 0, 0, 12),
(0, 0, 1, 12),
(0, 1, 0, 12),
(0, 1, 1, 12),
(1, 0, 0, 12),
(1, 0, 1, 12),
(1, 1, 0, 12),
(1, 1, 1, 12)]
In [0]:
# Grid Search
#warnings.filterwarnings("ignore")
# Lowest possible value for the AIC statistics (the model optimization goal)
lowest_aic = sys.maxsize
lowest = ''
# Loop
for param in pdq:
for param_seasonal in seasonal_pdq:
try:
# Create model with the hiperparameter combination
mod = sm.tsa.statespace.SARIMAX(train_data,
train_exog_var,
order = param,
seasonal_order = param_seasonal,
enforce_stationarity = False,
enforce_invertibility = False)
# Train model
results = mod.fit()
print('SARIMA{}x{} - AIC:{}'.format(param, param_seasonal, results.aic))
# Check for improvement (reduction) in AIC
if lowest_aic > results.aic:
lowest = 'SARIMA{}x{} - AIC:{}'.format(param, param_seasonal, results.aic)
lowest_aic = results.aic
except:
continue
print ("\nModel with Lowest AIC Score: " + lowest)
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
SARIMA(0, 0, 0)x(0, 0, 0, 12) - AIC:533.4308185633837
SARIMA(0, 0, 0)x(0, 1, 0, 12) - AIC:364.0768617188458
SARIMA(0, 0, 0)x(1, 0, 0, 12) - AIC:361.0882008235692
SARIMA(0, 0, 0)x(1, 1, 0, 12) - AIC:195.54049883217485
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
SARIMA(0, 0, 1)x(0, 0, 0, 12) - AIC:518.5675113657297
SARIMA(0, 0, 1)x(0, 1, 0, 12) - AIC:351.36523949742923
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:512: ConvergenceWarning:
Maximum Likelihood optimization failed to converge. Check mle_retvals
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
SARIMA(0, 0, 1)x(1, 0, 0, 12) - AIC:362.4747141947214
SARIMA(0, 0, 1)x(1, 1, 0, 12) - AIC:197.52806247393855
SARIMA(0, 1, 0)x(0, 0, 0, 12) - AIC:546.976725709374
SARIMA(0, 1, 0)x(0, 1, 0, 12) - AIC:363.7400159305232
SARIMA(0, 1, 0)x(1, 0, 0, 12) - AIC:359.4132617639312
SARIMA(0, 1, 0)x(1, 1, 0, 12) - AIC:186.52900012917277
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
SARIMA(0, 1, 1)x(0, 0, 0, 12) - AIC:501.0639072323787
SARIMA(0, 1, 1)x(0, 1, 0, 12) - AIC:330.33020470834214
SARIMA(0, 1, 1)x(1, 0, 0, 12) - AIC:353.1783308381001
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
SARIMA(0, 1, 1)x(1, 1, 0, 12) - AIC:181.604654088868
SARIMA(1, 0, 0)x(0, 0, 0, 12) - AIC:535.1150857738232
SARIMA(1, 0, 0)x(0, 1, 0, 12) - AIC:366.0656010365497
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:512: ConvergenceWarning:
Maximum Likelihood optimization failed to converge. Check mle_retvals
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
SARIMA(1, 0, 0)x(1, 0, 0, 12) - AIC:348.73978450832993
SARIMA(1, 0, 0)x(1, 1, 0, 12) - AIC:182.4691677016649
SARIMA(1, 0, 1)x(0, 0, 0, 12) - AIC:514.6120860334802
SARIMA(1, 0, 1)x(0, 1, 0, 12) - AIC:352.3818916296388
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/base/model.py:512: ConvergenceWarning:
Maximum Likelihood optimization failed to converge. Check mle_retvals
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
SARIMA(1, 0, 1)x(1, 0, 0, 12) - AIC:344.03475858232713
SARIMA(1, 0, 1)x(1, 1, 0, 12) - AIC:184.0505361995584
SARIMA(1, 1, 0)x(0, 0, 0, 12) - AIC:539.9173420531635
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
SARIMA(1, 1, 0)x(0, 1, 0, 12) - AIC:363.4417845745284
SARIMA(1, 1, 0)x(1, 0, 0, 12) - AIC:339.3264142700377
SARIMA(1, 1, 0)x(1, 1, 0, 12) - AIC:170.3345702568878
SARIMA(1, 1, 1)x(0, 0, 0, 12) - AIC:502.4232707233004
SARIMA(1, 1, 1)x(0, 1, 0, 12) - AIC:332.3301914245551
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
SARIMA(1, 1, 1)x(1, 0, 0, 12) - AIC:334.66472345976837
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
SARIMA(1, 1, 1)x(1, 1, 0, 12) - AIC:167.51614209629545
Model with Lowest AIC Score: SARIMA(1, 1, 1)x(1, 1, 0, 12) - AIC:167.51614209629545
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
In [0]:
# Create the model using the best hiperparameters
sarima_model_v3 = sm.tsa.statespace.SARIMAX(train_data,
train_exog_var,
order = (1, 1, 1),
seasonal_order = (1, 1, 0, 12),
enforce_stationarity = False,
enforce_invertibility=False)
/usr/local/lib/python3.6/dist-packages/statsmodels/tsa/base/tsa_model.py:165: ValueWarning:
No frequency information was provided, so inferred frequency MS will be used.
In [0]:
# Train (fit) model
sarima_model_v3_fit = sarima_model_v3.fit()
In [0]:
# Model summary
print(sarima_model_v3_fit.summary())
Statespace Model Results
==========================================================================================
Dep. Variable: sales No. Observations: 36
Model: SARIMAX(1, 1, 1)x(1, 1, 0, 12) Log Likelihood -77.758
Date: Sat, 09 May 2020 AIC 167.516
Time: 17:29:24 BIC 169.332
Sample: 01-01-2014 HQIC 165.525
- 12-01-2016
Covariance Type: opg
==============================================================================
coef std err z P>|z| [0.025 0.975]
------------------------------------------------------------------------------
const 0.8396 2.06e+04 4.08e-05 1.000 -4.04e+04 4.04e+04
festivity 1283.5133 1.35e+04 0.095 0.925 -2.53e+04 2.78e+04
ar.L1 -0.0013 0.850 -0.002 0.999 -1.668 1.665
ma.L1 -1.0000 0.810 -1.235 0.217 -2.587 0.587
ar.S.L12 -0.2971 0.959 -0.310 0.757 -2.176 1.582
sigma2 3.001e+05 0.784 3.83e+05 0.000 3e+05 3e+05
===================================================================================
Ljung-Box (Q): nan Jarque-Bera (JB): 0.47
Prob(Q): nan Prob(JB): 0.79
Heteroskedasticity (H): 5.89 Skew: 0.53
Prob(H) (two-sided): 0.18 Kurtosis: 2.85
===================================================================================
Warnings:
[1] Covariance matrix calculated using the outer product of gradients (complex-step).
[2] Covariance matrix is singular or near-singular, with condition number 3.84e+24. Standard errors may be unstable.
In [0]:
# Model diagnostic
sarima_model_v3_fit.plot_diagnostics(lags = 8, figsize = (16,8))
plt.show()
In [0]:
# Predicting
sarima_predict_3 = sarima_model_v3_fit.get_prediction(start = pd.to_datetime('2017-01-01'),
end = pd.to_datetime('2017-12-01'),
exog = test_exog_var,
dynamic = True)
In [0]:
# Confidence interval
sarima_predict_conf_3 = sarima_predict_3.conf_int()
sarima_predict_conf_3
Out[0]:
| lower sales | upper sales |
2017-01-01 | -303.623433 | 1918.199470 |
2017-02-01 | 146.953554 | 2368.584195 |
2017-03-01 | 125.827903 | 2347.458804 |
2017-04-01 | -19.863050 | 2201.767852 |
2017-05-01 | 530.188240 | 2751.819144 |
2017-06-01 | 3.909651 | 2225.540557 |
2017-07-01 | -54.446849 | 2167.184060 |
2017-08-01 | -173.363781 | 2048.267130 |
2017-09-01 | 243.949714 | 2465.580627 |
2017-10-01 | 719.157707 | 2940.788622 |
2017-11-01 | 228.701292 | 2450.332209 |
2017-12-01 | 320.643062 | 2542.273981 |
In [0]:
rcParams['figure.figsize'] = 20,8
# Plot observed values
ax = sales_technology_monthly_mean.plot(label = 'Observed Values', color = '#2574BF')
# Plot predicted values
sarima_predict_3.predicted_mean.plot(ax = ax,
label = 'SARIMA (1, 1, 1)x(1, 1, 0, 12) with Exogenous Variable Predictions',
alpha = 0.7,
color = 'red')
# Plot confidence interval
ax.fill_between(sarima_predict_conf_3.index,
# lower sales
sarima_predict_conf_3.iloc[:, 0],
# upper sales
sarima_predict_conf_3.iloc[:, 1], color = 'k', alpha = 0.1)
# Titles and legends
plt.title('Sales Predictions with SARIMA Model')
plt.xlabel('Data')
plt.ylabel('Technology Category Sales')
plt.legend()
plt.show()
In [0]:
# Calculating performance
sarima_results_3 = performance(test_data, sarima_predict_3.predicted_mean)
sarima_results_3
The prediction MSE is 231232.42
The prediction RMSE is 480.87
The prediction MAPE is 47.99
In [0]:
# Ljung-Box test
ljungbox_test = sms.diagnostic.acorr_ljungbox(sarima_model_v3_fit.resid, lags = [30], boxpierce = False)
print('P-value =', ljungbox_test[1])
P-value = [0.46381394]
The p-value is greater than 0.05, which indicates that the residual are independent with a 95% confidence, thefore an (1, 1, 1)x(1, 1, 0, 12) SARIMAX model has a good fit.
Model comparison:
ARMA (3,1):
ARIMA (6,0,4):
SARIMA (0,0,1)x(1,1,0,12):
SARIMA (1,1,1)x(1,1,0,12):
SARIMAX (1,1,1)x(1,1,0,12):
Prophet Model
Prophet holiday documentation:
https://facebook.github.io/prophet/docs/seasonality,_holiday_effects,_and_regressors.html
To include holidays and other recurring events into a time series model with Prophet it's necessary to create an additional dataframe to feed the model.
Prophet requires a dataframe with two columns (holiday and ds) and a row for each occurance of the holiday. The dataframe must include all occurances of the holiday, both in the past and in all future dates the model is expected to predict.
It's also possible to include the columns lower_window and upper_window, which extend the holiday to [lower_window, upper_window] days around the date. Essentially a way of indicating extended holidays.
Since this analysis is being conducted on a monthly time series, it doesn't necessarily make sense to include holidays, nevertheless I'm option to include it here as in Prophet's case this variable should not negatively influence the model, plus this could easiy be reverted by emptying the holiday dataframe right before feeding it into the algorithm training process.
Prophet requires that the date column be named 'ds' and the target column be named 'y'
In [0]:
# Load data
data = pd.read_csv('https://raw.githubusercontent.com/dsacademybr/Datasets/master/dataset6.csv')
# Setting column names to lowercase
data.columns = map(str.lower, data.columns)
# Substituting espaces and dashes in the column names by underscores
data.columns = data.columns.str.replace(" ", "_")
data.columns = data.columns.str.replace("-", "_")
# Splitting data by category
df_technology = data.loc[data['category'] == 'Technology']
# Aggregating sales by order date
ts_technology = df_technology.groupby('order_date')['sales'].sum().reset_index()
# Setting the date as index
ts_technology = ts_technology.set_index('order_date')
# Retrieving only sales data
sales_technology = ts_technology[['sales']]
# Changing index type
sales_technology.index = pd.to_datetime(sales_technology.index)
# Resampling data to a monthly frequency
# Done by setting the month as index and then calculating the mean of daily sales over the month
sales_technology_monthly_mean = sales_technology['sales'].resample('MS').mean()
# Train-Test Split
X = sales_technology_monthly_mean
train_size = int(len(X) * 0.75)
trainset, testset = X[0:train_size], X[train_size:]
In [0]:
# Dataframe with holidays
holidays_df = pd.DataFrame([])
for date, name in sorted(holidays.UnitedStates(years=[2014,2015,2016,2017]).items()):
holidays_df = holidays_df.append(pd.DataFrame({'ds': date, 'holiday': name}, index=[0]), ignore_index=True)
holidays_df['ds'] = pd.to_datetime(holidays_df['ds'], format='%Y-%m-%d', errors='ignore')
In [0]:
# Creating dataframes for train and test data
df_train = pd.DataFrame({'order_date':trainset.index, 'sales':trainset.values})
df_test = pd.DataFrame({'order_date':testset.index, 'sales':testset.values})
In [0]:
# Renaming columns: Prophet requires columns to be names 'ds' and 'y'
df_train = df_train.rename(columns = {'order_date': 'ds', 'sales': 'y'})
df_test = df_test.rename(columns = {'order_date': 'ds', 'sales': 'y'})
In [0]:
# Create a Prophet model with annual seasonalisty and the holidays dataframe
prophet_model = Prophet(yearly_seasonality = True, holidays = holidays_df)
Using Prophet's built-in country holiday module, which allows for easy inclusion of holidays into a prophet model for future prediction.
In [0]:
# Adding the built-in Country Holiday method to the model
prophet_model.add_country_holidays(country_name = 'US')
Out[0]:
<fbprophet.forecaster.Prophet at 0x7fb472f27ac8>
In [0]:
# Training
prophet_model.fit(df_train)
INFO:fbprophet:Disabling weekly seasonality. Run prophet with weekly_seasonality=True to override this.
INFO:fbprophet:Disabling daily seasonality. Run prophet with daily_seasonality=True to override this.
Out[0]:
<fbprophet.forecaster.Prophet at 0x7fb472f27ac8>
In [0]:
# Creating dataframe to fill with predictions
prophet_predictions_df = prophet_model.make_future_dataframe(periods = 12, freq = 'MS')
prophet_predictions_df.count()
Out[0]:
ds 48
dtype: int64
In [0]:
# Forecast
prophet_model_predictions = prophet_model.predict(prophet_predictions_df)
In [0]:
# Checking predictions
prophet_model_predictions[['ds', 'yhat', 'yhat_lower', 'yhat_upper']].tail()
Out[0]:
| ds | yhat | yhat_lower | yhat_upper |
43 | 2017-08-01 | 790.707497 | 499.801894 | 1088.274920 |
44 | 2017-09-01 | 1218.777403 | 927.646193 | 1521.812445 |
45 | 2017-10-01 | 1566.094812 | 1269.012926 | 1849.231712 |
46 | 2017-11-01 | 1315.903621 | 996.833877 | 1607.896813 |
47 | 2017-12-01 | 1343.235540 | 1062.111494 | 1669.003815 |
In [0]:
# Creating a plot to visualize predictions
# Plot predictions
fig = prophet_model.plot(prophet_model_predictions)
# Plot actual sales data in red
plt.plot(testset, label = 'Test', color = 'red', linewidth = 2)
plt.show()
In [0]:
# Checking the entire output dataframe
prophet_model_predictions.head()
Out[0]:
| ds | trend | yhat_lower | yhat_upper | trend_lower | trend_upper | Christmas Day | Christmas Day_lower | Christmas Day_upper | Christmas Day (Observed) | Christmas Day (Observed)_lower | Christmas Day (Observed)_upper | Columbus Day | Columbus Day_lower | Columbus Day_upper | Independence Day | Independence Day_lower | Independence Day_upper | Independence Day (Observed) | Independence Day (Observed)_lower | Independence Day (Observed)_upper | Labor Day | Labor Day_lower | Labor Day_upper | Martin Luther King, Jr. Day | Martin Luther King, Jr. Day_lower | Martin Luther King, Jr. Day_upper | Memorial Day | Memorial Day_lower | Memorial Day_upper | New Year's Day | New Year's Day_lower | New Year's Day_upper | New Year's Day (Observed) | New Year's Day (Observed)_lower | New Year's Day (Observed)_upper | Thanksgiving | Thanksgiving_lower | Thanksgiving_upper | Veterans Day | Veterans Day_lower | Veterans Day_upper | Veterans Day (Observed) | Veterans Day (Observed)_lower | Veterans Day (Observed)_upper | Washington's Birthday | Washington's Birthday_lower | Washington's Birthday_upper | additive_terms | additive_terms_lower | additive_terms_upper | holidays | holidays_lower | holidays_upper | yearly | yearly_lower | yearly_upper | multiplicative_terms | multiplicative_terms_lower | multiplicative_terms_upper | yhat |
0 | 2014-01-01 | 925.615137 | 432.789624 | 1012.222619 | 925.615137 | 925.615137 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | -860.551851 | -860.551851 | -860.551851 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | -203.302048 | -203.302048 | -203.302048 | -860.551851 | -860.551851 | -860.551851 | 657.249803 | 657.249803 | 657.249803 | 0.0 | 0.0 | 0.0 | 722.313089 |
1 | 2014-02-01 | 935.580145 | -90.228342 | 512.658813 | 935.580145 | 935.580145 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.000000 | 0.000000 | 0.000000 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | -709.376810 | -709.376810 | -709.376810 | 0.000000 | 0.000000 | 0.000000 | -709.376810 | -709.376810 | -709.376810 | 0.0 | 0.0 | 0.0 | 226.203335 |
2 | 2014-03-01 | 944.580797 | 807.834233 | 1419.451660 | 944.580797 | 944.580797 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.000000 | 0.000000 | 0.000000 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 167.586272 | 167.586272 | 167.586272 | 0.000000 | 0.000000 | 0.000000 | 167.586272 | 167.586272 | 167.586272 | 0.0 | 0.0 | 0.0 | 1112.167069 |
3 | 2014-04-01 | 954.545805 | 323.132499 | 931.465200 | 954.545805 | 954.545805 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.000000 | 0.000000 | 0.000000 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | -341.771260 | -341.771260 | -341.771260 | 0.000000 | 0.000000 | 0.000000 | -341.771260 | -341.771260 | -341.771260 | 0.0 | 0.0 | 0.0 | 612.774545 |
4 | 2014-05-01 | 964.189361 | 505.974976 | 1116.262684 | 964.189361 | 964.189361 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.000000 | 0.000000 | 0.000000 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | -145.341315 | -145.341315 | -145.341315 | 0.000000 | 0.000000 | 0.000000 | -145.341315 | -145.341315 | -145.341315 | 0.0 | 0.0 | 0.0 | 818.848046 |
In [0]:
# Plot
# Original series
plt.plot(sales_technology_monthly_mean.index,
sales_technology_monthly_mean.values,
label = 'Observed Values',
color = '#2574BF')
# Predictions
plt.plot(sales_technology_monthly_mean[36:48].index,
prophet_model_predictions[36:48]['yhat'].values,
label = 'Prophet Model Predictions',
alpha = 0.7,
color = 'red')
# Confidence intervals
plt.fill_between(sales_technology_monthly_mean[36:48].index,
prophet_model_predictions[36:48]['yhat_lower'].values,
prophet_model_predictions[36:48]['yhat_upper'].values,
color = 'k',
alpha = 0.1)
plt.title('Forecasting with Prophet Model')
plt.xlabel('Data')
plt.ylabel('Sales')
plt.legend()
plt.show()
Using prophet_model_predictions[36:48] since the goal is to predict only the sales for the months with werent used to train the Prophet model - in the case the year 2017.
In [0]:
# Calculating performance
prophet_results = performance(testset.values, prophet_model_predictions[36:48]['yhat'])
prophet_results
The prediction MSE is 105965.29
The prediction RMSE is 325.52
The prediction MAPE is 26.45
Model comparison:
ARMA (3,1):
ARIMA (6,0,4):
SARIMA (0,0,1)x(1,1,0,12):
SARIMA (1,1,1)x(1,1,0,12):
SARIMAX (1,1,1)x(1,1,0,12):
Prophet:
Part 2: https://colab.research.google.com/drive/10jJOdDusaRTQfSkKTyj3BM2OGVy_CP3N
Part 1: https://colab.research.google.com/drive/1wxHzFdM80RfreCAiODS4PSFFhG0kmMBQ
Splitting the next steps of the analysis in multiple Jupyter Notebooks to avoid creating a single file which takes too long to process. The previous analyses were Machine Learning based, the following analyses will be Neural Network based, and hence might take longer to train.
The first model will be a stacked LSTM.
Loading Packages
In [0]:
# Deactivating the multiple warning messages produced by the newest versions of Pandas and Matplotlib.
import sys
import warnings
import matplotlib.cbook
if not sys.warnoptions:
warnings.simplefilter("ignore")
warnings.simplefilter(action='ignore', category=FutureWarning)
warnings.filterwarnings("ignore", category=FutureWarning)
warnings.filterwarnings("ignore", category=matplotlib.cbook.mplDeprecation)
# Data manipulation imports
import numpy as np
import pandas as pd
import itertools
from pandas import Series
from pandas.tseries.offsets import DateOffset
# Data visualization imports
import matplotlib.pyplot as plt
import matplotlib as m
import seaborn as sns
# Predictive modeling imports
import sklearn
import keras
from sklearn.preprocessing import MinMaxScaler
from keras.preprocessing.sequence import TimeseriesGenerator
from keras.models import Sequential
from keras.layers.core import Dense, Activation
from keras.layers import LSTM
from keras.layers import Dropout
from keras import optimizers
import statsmodels
import statsmodels.api as sm
import statsmodels.tsa.api as smt
import statsmodels.stats as sms
from statsmodels.tsa.seasonal import seasonal_decompose
from statsmodels.tsa.stattools import adfuller
# Graphics formatting imports
m.rcParams['axes.labelsize'] = 14
m.rcParams['xtick.labelsize'] = 12
m.rcParams['ytick.labelsize'] = 12
m.rcParams['text.color'] = 'k'
from matplotlib.pylab import rcParams
rcParams['figure.figsize'] = 15,7
matplotlib.style.use('ggplot')
%matplotlib inline
Data
The dataset used is available publicly in Tableau's website, and represents the historic sales from the startup in which HappyMoonVC is considering investing.
Dataset source: https://community.tableau.com/docs/DOC-1236
HappyMoonVC wants to analyze and predict all data the in the "technology" category
In [0]:
# Load data
data = pd.read_csv('https://raw.githubusercontent.com/Matheus-Schmitz/Datasets/master/tableau_superstore_sales.csv')
In [0]:
# Shape
data.shape
Out[0]:
(9994, 21)
In [0]:
# Columns
data.columns
Out[0]:
Index(['Row ID', 'Order ID', 'Order Date', 'Ship Date', 'Ship Mode',
'Customer ID', 'Customer Name', 'Segment', 'Country', 'City', 'State',
'Postal Code', 'Region', 'Product ID', 'Category', 'Sub-Category',
'Product Name', 'Sales', 'Quantity', 'Discount', 'Profit'],
dtype='object')
Exploratory Analysis
In [0]:
# Visualizing data
data.head()
Out[0]:
| Row ID | Order ID | Order Date | Ship Date | Ship Mode | Customer ID | Customer Name | Segment | Country | City | State | Postal Code | Region | Product ID | Category | Sub-Category | Product Name | Sales | Quantity | Discount | Profit |
0 | 1 | CA-2016-152156 | 2016-11-08 | 2016-11-11 | Second Class | CG-12520 | Claire Gute | Consumer | United States | Henderson | Kentucky | 42420 | South | FUR-BO-10001798 | Furniture | Bookcases | Bush Somerset Collection Bookcase | 261.9600 | 2 | 0.00 | 41.9136 |
1 | 2 | CA-2016-152156 | 2016-11-08 | 2016-11-11 | Second Class | CG-12520 | Claire Gute | Consumer | United States | Henderson | Kentucky | 42420 | South | FUR-CH-10000454 | Furniture | Chairs | Hon Deluxe Fabric Upholstered Stacking Chairs,... | 731.9400 | 3 | 0.00 | 219.5820 |
2 | 3 | CA-2016-138688 | 2016-06-12 | 2016-06-16 | Second Class | DV-13045 | Darrin Van Huff | Corporate | United States | Los Angeles | California | 90036 | West | OFF-LA-10000240 | Office Supplies | Labels | Self-Adhesive Address Labels for Typewriters b... | 14.6200 | 2 | 0.00 | 6.8714 |
3 | 4 | US-2015-108966 | 2015-10-11 | 2015-10-18 | Standard Class | SO-20335 | Sean O'Donnell | Consumer | United States | Fort Lauderdale | Florida | 33311 | South | FUR-TA-10000577 | Furniture | Tables | Bretford CR4500 Series Slim Rectangular Table | 957.5775 | 5 | 0.45 | -383.0310 |
4 | 5 | US-2015-108966 | 2015-10-11 | 2015-10-18 | Standard Class | SO-20335 | Sean O'Donnell | Consumer | United States | Fort Lauderdale | Florida | 33311 | South | OFF-ST-10000760 | Office Supplies | Storage | Eldon Fold 'N Roll Cart System | 22.3680 | 2 | 0.20 | 2.5164 |
In [0]:
# Statistic summaries
data.describe()
Out[0]:
| Row ID | Postal Code | Sales | Quantity | Discount | Profit |
count | 9994.000000 | 9994.000000 | 9994.000000 | 9994.000000 | 9994.000000 | 9994.000000 |
mean | 4997.500000 | 55190.379428 | 229.858001 | 3.789574 | 0.156203 | 28.656896 |
std | 2885.163629 | 32063.693350 | 623.245101 | 2.225110 | 0.206452 | 234.260108 |
min | 1.000000 | 1040.000000 | 0.444000 | 1.000000 | 0.000000 | -6599.978000 |
25% | 2499.250000 | 23223.000000 | 17.280000 | 2.000000 | 0.000000 | 1.728750 |
50% | 4997.500000 | 56430.500000 | 54.490000 | 3.000000 | 0.200000 | 8.666500 |
75% | 7495.750000 | 90008.000000 | 209.940000 | 5.000000 | 0.200000 | 29.364000 |
max | 9994.000000 | 99301.000000 | 22638.480000 | 14.000000 | 0.800000 | 8399.976000 |
In [0]:
# Checking for missing values
data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 9994 entries, 0 to 9993
Data columns (total 21 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Row ID 9994 non-null int64
1 Order ID 9994 non-null object
2 Order Date 9994 non-null object
3 Ship Date 9994 non-null object
4 Ship Mode 9994 non-null object
5 Customer ID 9994 non-null object
6 Customer Name 9994 non-null object
7 Segment 9994 non-null object
8 Country 9994 non-null object
9 City 9994 non-null object
10 State 9994 non-null object
11 Postal Code 9994 non-null int64
12 Region 9994 non-null object
13 Product ID 9994 non-null object
14 Category 9994 non-null object
15 Sub-Category 9994 non-null object
16 Product Name 9994 non-null object
17 Sales 9994 non-null float64
18 Quantity 9994 non-null int64
19 Discount 9994 non-null float64
20 Profit 9994 non-null float64
dtypes: float64(3), int64(3), object(15)
memory usage: 1.6+ MB
In [0]:
# Setting column names to lowercase
data.columns = map(str.lower, data.columns)
In [0]:
# Substituting espaces and dashes in the column names by underscores
data.columns = data.columns.str.replace(" ", "_")
data.columns = data.columns.str.replace("-", "_")
In [0]:
# Checking
data.columns
Out[0]:
Index(['row_id', 'order_id', 'order_date', 'ship_date', 'ship_mode',
'customer_id', 'customer_name', 'segment', 'country', 'city', 'state',
'postal_code', 'region', 'product_id', 'category', 'sub_category',
'product_name', 'sales', 'quantity', 'discount', 'profit'],
dtype='object')
In [0]:
# Assess the unique values per column (to know whether a variable is categorical or not)
for c in data.columns:
if len(set(data[c])) < 20:
print(c,set(data[c]))
ship_mode {'Standard Class', 'Same Day', 'First Class', 'Second Class'}
segment {'Home Office', 'Corporate', 'Consumer'}
country {'United States'}
region {'East', 'South', 'West', 'Central'}
category {'Office Supplies', 'Technology', 'Furniture'}
sub_category {'Chairs', 'Accessories', 'Envelopes', 'Bookcases', 'Appliances', 'Supplies', 'Art', 'Binders', 'Tables', 'Phones', 'Fasteners', 'Furnishings', 'Machines', 'Labels', 'Paper', 'Copiers', 'Storage'}
quantity {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14}
discount {0.0, 0.8, 0.2, 0.3, 0.45, 0.5, 0.7, 0.6, 0.32, 0.1, 0.4, 0.15}
In [0]:
# Splitting data by category
df_technology = data.loc[data['category'] == 'Technology']
df_furniture = data.loc[data['category'] == 'Furniture']
df_office = data.loc[data['category'] == 'Office Supplies']
In [0]:
# Aggregating sales by order date
ts_technology = df_technology.groupby('order_date')['sales'].sum().reset_index()
ts_furniture = df_furniture.groupby('order_date')['sales'].sum().reset_index()
ts_office = df_office.groupby('order_date')['sales'].sum().reset_index()
In [0]:
# Checking dataset
ts_technology
Out[0]:
| order_date | sales |
0 | 2014-01-06 | 1147.940 |
1 | 2014-01-09 | 31.200 |
2 | 2014-01-13 | 646.740 |
3 | 2014-01-15 | 149.950 |
4 | 2014-01-16 | 124.200 |
... | ... | ... |
819 | 2017-12-25 | 401.208 |
820 | 2017-12-27 | 164.388 |
821 | 2017-12-28 | 14.850 |
822 | 2017-12-29 | 302.376 |
823 | 2017-12-30 | 90.930 |
824 rows × 2 columns
In [0]:
# Setting the date as index
ts_technology = ts_technology.set_index('order_date')
ts_furniture = ts_furniture.set_index('order_date')
ts_office = ts_office.set_index('order_date')
In [0]:
# Visualizing the series
ts_technology
Out[0]:
| sales |
order_date |
|
2014-01-06 | 1147.940 |
2014-01-09 | 31.200 |
2014-01-13 | 646.740 |
2014-01-15 | 149.950 |
2014-01-16 | 124.200 |
... | ... |
2017-12-25 | 401.208 |
2017-12-27 | 164.388 |
2017-12-28 | 14.850 |
2017-12-29 | 302.376 |
2017-12-30 | 90.930 |
824 rows × 1 columns
In [0]:
# Plotting sales in the technology category
sales_technology = ts_technology[['sales']]
ax = sales_technology.plot(color = 'b', figsize = (18,6))
plt.xlabel("Data")
plt.ylabel('Sales')
plt.title("Technology Category Sales")
plt.show()
In [0]:
# Plotting sales in the furniture category
sales_furniture = ts_furniture[['sales']]
ax = sales_furniture.plot(color = 'g', figsize = (18,6))
plt.xlabel("Data")
plt.ylabel('Sales')
plt.title("Furniture Category Sales")
plt.show()
In [0]:
# Plotting sales in the office category
sales_office = ts_office[['sales']]
ax = sales_office.plot(color = 'r', figsize = (18,6))
plt.xlabel("Data")
plt.ylabel('Sales')
plt.title("Office Category Sales")
plt.show()
Adjusting the index type to DateTimeIndex (which characterizes a time series), so that it's possible to aggregate monthly and obtain the mean monthly sales.
In [0]:
# Checking index type
type(sales_technology.index)
Out[0]:
pandas.core.indexes.base.Index
In [0]:
# Changing index type
sales_technology.index = pd.to_datetime(sales_technology.index)
sales_furniture.index = pd.to_datetime(sales_furniture.index)
sales_office.index = pd.to_datetime(sales_office.index)
In [0]:
# Checking index type
type(sales_technology.index)
Out[0]:
pandas.core.indexes.datetimes.DatetimeIndex
In [0]:
# Resampling data to a monthly frequency
# Done by setting the month as index and then calculating the mean of daily sales over the month
sales_technology_monthly_mean = sales_technology['sales'].resample('MS').mean()
sales_furniture_monthly_mean = sales_furniture['sales'].resample('MS').mean()
sales_office_monthly_mean = sales_office['sales'].resample('MS').mean()
In [0]:
# Verifying the resulting type
type(sales_technology_monthly_mean)
Out[0]:
pandas.core.series.Series
In [0]:
# Checking the data
sales_technology_monthly_mean
Out[0]:
order_date
2014-01-01 449.041429
2014-02-01 229.787143
2014-03-01 2031.948375
2014-04-01 613.028933
2014-05-01 564.698588
2014-06-01 766.905909
2014-07-01 533.608933
2014-08-01 708.435385
2014-09-01 2035.838133
2014-10-01 596.900900
2014-11-01 1208.056320
2014-12-01 1160.732889
2015-01-01 925.070800
2015-02-01 431.121250
2015-03-01 574.662333
2015-04-01 697.559500
2015-05-01 831.642857
2015-06-01 429.024400
2015-07-01 691.397733
2015-08-01 1108.902286
2015-09-01 950.856400
2015-10-01 594.716111
2015-11-01 1037.982652
2015-12-01 1619.637636
2016-01-01 374.671067
2016-02-01 1225.891400
2016-03-01 1135.150105
2016-04-01 875.911882
2016-05-01 1601.816167
2016-06-01 1023.259500
2016-07-01 829.312500
2016-08-01 483.620100
2016-09-01 1144.170300
2016-10-01 1970.835875
2016-11-01 1085.642360
2016-12-01 970.554870
2017-01-01 1195.218071
2017-02-01 430.501714
2017-03-01 1392.859250
2017-04-01 825.559133
2017-05-01 678.329400
2017-06-01 853.055000
2017-07-01 1054.996636
2017-08-01 978.842333
2017-09-01 1077.704120
2017-10-01 1493.439227
2017-11-01 1996.750920
2017-12-01 955.865652
Freq: MS, Name: sales, dtype: float64
In [0]:
# Plotting the monthly mean daily sales of technology products
sales_technology_monthly_mean.plot(figsize = (18, 6), color = 'blue')
plt.xlabel("Purchase Date")
plt.ylabel('Sales')
plt.title("Technology: Average Daily Sales per Month")
plt.show()
In [0]:
# Plotting the monthly mean daily sales of furniture products
sales_furniture_monthly_mean.plot(figsize = (18, 6), color = 'green')
plt.xlabel("Purchase Date")
plt.ylabel('Sales')
plt.title("Furniture: Average Daily Sales per Month")
plt.show()
In [0]:
# Plotting the monthly mean daily sales of office products
sales_office_monthly_mean.plot(figsize = (20, 6), color = 'red')
plt.xlabel("Purchase Date")
plt.ylabel('Sales')
plt.title("Office: Average Daily Sales per Month")
plt.show()
Decomposing the series to analyze its componentes.
In [0]:
# Decomposing the time series with the monthly mean daily sales of technology products
decomposition = seasonal_decompose(sales_technology_monthly_mean, freq = 12)
rcParams['figure.figsize'] = 18, 12
# Components
trend = decomposition.trend
seasonal = decomposition.seasonal
residual = decomposition.resid
# Plot
plt.subplot(411)
plt.plot(sales_technology_monthly_mean, label = 'Original Series')
plt.legend(loc = 'best')
plt.subplot(412)
plt.plot(trend, label = 'Trend')
plt.legend(loc = 'best')
plt.subplot(413)
plt.plot(seasonal, label = 'Seasonality')
plt.legend(loc = 'best')
plt.subplot(414)
plt.plot(residual, label = 'Residuals')
plt.legend(loc = 'best')
plt.tight_layout()
Stationarity test:
In [0]:
# Function to test stationarity
def stationarity_test(serie):
# Calculating moving statistics
rolmean = serie.rolling(window = 12).mean()
rolstd = serie.rolling(window = 12).std()
# Plot of moving statistics
orig = plt.plot(serie, color = 'blue', label = 'Original')
mean = plt.plot(rolmean, color = 'red', label = 'Moving Average')
std = plt.plot(rolstd, color = 'black', label = 'Standard Deviation')
plt.legend(loc = 'best')
plt.title('Moving Statistics - Mean and Standard Deviation')
plt.show()
# Dickey-Fuller test:
print('\nDickey-Fuller Test Result:\n')
# Test
dftest = adfuller(serie, autolag = 'AIC')
# Formatting the output
df_output = pd.Series(dftest[0:4], index = ['Test Statistic',
'P-value',
'Number of Lags Considered',
'Number of Observations Used'])
# Loop through each item in the test output
for key, value in dftest[4].items():
df_output['Critical Value (%s)'%key] = value
print (df_output)
# Testing p-value
print ('\nConclusion:')
if df_output[1] > 0.05:
print('\nThe p-value is above 0.05, therefore there are no evidences to reject the null hypothesis.')
print('This series probably is not stationary.')
else:
print('\nThe p-value is below 0.05, therefore there are evidences to reject the null hypothesis.')
print('This series probably is stationary.')
In [0]:
# Verifying if the series is stationary
stationarity_test(sales_technology_monthly_mean)
Dickey-Fuller Test Result:
Test Statistic -7.187969e+00
P-value 2.547334e-10
Number of Lags Considered 0.000000e+00
Number of Observations Used 4.700000e+01
Critical Value (1%) -3.577848e+00
Critical Value (5%) -2.925338e+00
Critical Value (10%) -2.600774e+00
dtype: float64
Conclusion:
The p-value is below 0.05, therefore there are evidences to reject the null hypothesis.
This series probably is stationary.
Function to Calculate Accuracy
In [0]:
# Function
def performance(y_true, y_pred):
mse = ((y_pred - y_true) ** 2).mean()
mape = np.mean(np.abs((y_true - y_pred) / y_true)) * 100
return( print('The prediction MSE is {}'.format(round(mse, 2))+
'\nThe prediction RMSE is {}'.format(round(np.sqrt(mse), 2))+
'\nThe prediction MAPE is {}'.format(round(mape, 2))))
Train-Test Split
In [0]:
# Original series
X = sales_technology_monthly_mean
In [0]:
# Using the first 3 years (first 36 rows) for training
X[:-12]
Out[0]:
order_date
2014-01-01 449.041429
2014-02-01 229.787143
2014-03-01 2031.948375
2014-04-01 613.028933
2014-05-01 564.698588
2014-06-01 766.905909
2014-07-01 533.608933
2014-08-01 708.435385
2014-09-01 2035.838133
2014-10-01 596.900900
2014-11-01 1208.056320
2014-12-01 1160.732889
2015-01-01 925.070800
2015-02-01 431.121250
2015-03-01 574.662333
2015-04-01 697.559500
2015-05-01 831.642857
2015-06-01 429.024400
2015-07-01 691.397733
2015-08-01 1108.902286
2015-09-01 950.856400
2015-10-01 594.716111
2015-11-01 1037.982652
2015-12-01 1619.637636
2016-01-01 374.671067
2016-02-01 1225.891400
2016-03-01 1135.150105
2016-04-01 875.911882
2016-05-01 1601.816167
2016-06-01 1023.259500
2016-07-01 829.312500
2016-08-01 483.620100
2016-09-01 1144.170300
2016-10-01 1970.835875
2016-11-01 1085.642360
2016-12-01 970.554870
Freq: MS, Name: sales, dtype: float64
In [0]:
# Using the last year (last 12 rows) for testing
X[-12:]
Out[0]:
order_date
2017-01-01 1195.218071
2017-02-01 430.501714
2017-03-01 1392.859250
2017-04-01 825.559133
2017-05-01 678.329400
2017-06-01 853.055000
2017-07-01 1054.996636
2017-08-01 978.842333
2017-09-01 1077.704120
2017-10-01 1493.439227
2017-11-01 1996.750920
2017-12-01 955.865652
Freq: MS, Name: sales, dtype: float64
In [0]:
# Train-test split
training, testing = np.array(X[:-12]), np.array(X[-12:])
In [0]:
# Ajusta o shape, pois agora não temos um objeto pd.Series,
# mas sim um array NumPy, que é necessário para treinar o modelo LSTM
trainset = training.reshape(-1,1)
testset = testing.reshape(-1,1)
In [0]:
len(trainset)
Out[0]:
36
In [0]:
training
Out[0]:
array([ 449.04142857, 229.78714286, 2031.948375 , 613.02893333,
564.69858824, 766.90590909, 533.60893333, 708.43538462,
2035.83813333, 596.9009 , 1208.05632 , 1160.73288889,
925.0708 , 431.12125 , 574.66233333, 697.5595 ,
831.64285714, 429.0244 , 691.39773333, 1108.90228571,
950.8564 , 594.71611111, 1037.98265217, 1619.63763636,
374.67106667, 1225.8914 , 1135.15010526, 875.91188235,
1601.81616667, 1023.2595 , 829.3125 , 483.6201 ,
1144.1703 , 1970.835875 , 1085.64236 , 970.55486957])
In [0]:
trainset
Out[0]:
array([[ 449.04142857],
[ 229.78714286],
[2031.948375 ],
[ 613.02893333],
[ 564.69858824],
[ 766.90590909],
[ 533.60893333],
[ 708.43538462],
[2035.83813333],
[ 596.9009 ],
[1208.05632 ],
[1160.73288889],
[ 925.0708 ],
[ 431.12125 ],
[ 574.66233333],
[ 697.5595 ],
[ 831.64285714],
[ 429.0244 ],
[ 691.39773333],
[1108.90228571],
[ 950.8564 ],
[ 594.71611111],
[1037.98265217],
[1619.63763636],
[ 374.67106667],
[1225.8914 ],
[1135.15010526],
[ 875.91188235],
[1601.81616667],
[1023.2595 ],
[ 829.3125 ],
[ 483.6201 ],
[1144.1703 ],
[1970.835875 ],
[1085.64236 ],
[ 970.55486957]])
In [0]:
len(testset)
Out[0]:
12
In [0]:
testset
Out[0]:
array([[1195.21807143],
[ 430.50171429],
[1392.85925 ],
[ 825.55913333],
[ 678.3294 ],
[ 853.055 ],
[1054.99663636],
[ 978.84233333],
[1077.70412 ],
[1493.43922727],
[1996.75092 ],
[ 955.86565217]])
Stacked LSTM Model
In [0]:
# Create a scaler
scaler = MinMaxScaler()
In [0]:
# Train the scaler with the training dataset
scaler.fit(trainset)
Out[0]:
MinMaxScaler(copy=True, feature_range=(0, 1))
In [0]:
# Apply the trained scaler to the train dataset
# (No need to apply the scaler to the test dataset as the prediction will be converted back to normal scale)
trainset = scaler.transform(trainset)
In [0]:
trainset.shape
Out[0]:
(36, 1)
In [0]:
trainset
Out[0]:
array([[0.12139983],
[0. ],
[0.99784626],
[0.21219877],
[0.18543853],
[0.29739956],
[0.16822437],
[0.26502477],
[1. ],
[0.20326877],
[0.54166199],
[0.51545928],
[0.38497454],
[0.11147753],
[0.1909554 ],
[0.25900285],
[0.33324403],
[0.11031652],
[0.25559112],
[0.48676098],
[0.39925188],
[0.20205906],
[0.44749318],
[0.76955219],
[0.08022139],
[0.55153717],
[0.50129424],
[0.35775554],
[0.75968454],
[0.43934106],
[0.33195373],
[0.14054584],
[0.50628867],
[0.96400863],
[0.47388209],
[0.41015881]])
Defining hyperparameters
In [0]:
# Number of repetitions
n_rep = 20
# Number of epochs
num_epochs = 200
# Number of inputs (using 12 series to predict the next 12 series)
n_input = 12
# Length of the output sequency (in number of timesteps)
n_output = 12
# This series is univariate, therefore only 1 feature
n_features = 1
# Number of time series samples in each batch
size_batch = 10
The TimeseriesGenerator from Keras creates a dataset of sliding windows over a timeseries provided as array. In other words, it automatically transforms a univariate time series dataset in a dataset for supervised learning.
https://keras.io/preprocessing/sequence/
Utility class for generating batches of temporal data.
This class takes in a sequence of data-points gathered at equal intervals, along with time series parameters such as stride, length of history, etc., to produce batches for training/validation.
In [0]:
# Generator
generator = TimeseriesGenerator(trainset,
trainset,
length = n_output,
batch_size = size_batch)
Literature on hyperparameters:
https://keras.io/layers/recurrent/
In [0]:
# Creating and training the stacked LSTM model
# Creating a zeroed matrix to receive the output from the model's predictions
result = np.zeros((n_input, n_rep))
# Loop
# Repeating the training process N times and storing the results, this way different samples can be used and then averaged for a final prediction
for i in range(n_rep):
# Starting the model (Keras Sequential())
lstm_model = Sequential()
# Input LSTM layer
# Need return_sequences = True since I need the output to be another sequency which I can feed to the stacked layer
lstm_model.add(LSTM(40, activation = 'tanh', return_sequences = True, input_shape = (n_input, n_features)))
# Stacked LSTM layer
lstm_model.add(LSTM(40, activation = 'relu'))
# First hidden layer
lstm_model.add(Dense(50, activation = 'relu'))
# Second hidden layer
lstm_model.add(Dense(50, activation = 'relu'))
# Output layer
# Only need 1 neuron since this is a regression problem (aka I'm now merging the information to come up with a final prediction value)
lstm_model.add(Dense(1))
# Defining the loss function as MSE
# Defininf the optimization algorithm as ADAM
adam = optimizers.Adam(learning_rate = 0.001)
lstm_model.compile(optimizer = adam, loss = 'mean_squared_error')
# Training with the generated data batches
lstm_model.fit_generator(generator, epochs = num_epochs)
# Predictions list
pred_list = []
# Make a batch of data
batch = trainset[-n_input:].reshape((1, n_input, n_features))
# Loop to make predictions
for j in range(n_input):
pred_list.append(lstm_model.predict(batch)[0])
batch = np.append(batch[:,1:,:], [[pred_list[j]]], axis = 1)
# Create a dataframe with the predictions
df_predict_lstm_model = pd.DataFrame(scaler.inverse_transform(pred_list),
index = X[-n_input:].index, columns = ['Prediction'])
result[:,i] = df_predict_lstm_model['Prediction']
print(result)
Streaming output truncated to the last 5000 lines.
3/3 [==============================] - 0s 72ms/step - loss: 0.0512
Epoch 126/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0511
Epoch 127/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0513
Epoch 128/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0518
Epoch 129/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0509
Epoch 130/200
3/3 [==============================] - 0s 77ms/step - loss: 0.0510
Epoch 131/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0509
Epoch 132/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0507
Epoch 133/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0506
Epoch 134/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0508
Epoch 135/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0507
Epoch 136/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0516
Epoch 137/200
3/3 [==============================] - 0s 56ms/step - loss: 0.0518
Epoch 138/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0510
Epoch 139/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0510
Epoch 140/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0510
Epoch 141/200
3/3 [==============================] - 0s 81ms/step - loss: 0.0508
Epoch 142/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0507
Epoch 143/200
3/3 [==============================] - 0s 79ms/step - loss: 0.0507
Epoch 144/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0519
Epoch 145/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0513
Epoch 146/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0512
Epoch 147/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0509
Epoch 148/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0508
Epoch 149/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0507
Epoch 150/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0506
Epoch 151/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0518
Epoch 152/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0516
Epoch 153/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0515
Epoch 154/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0510
Epoch 155/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0508
Epoch 156/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0509
Epoch 157/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0513
Epoch 158/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0511
Epoch 159/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0507
Epoch 160/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0507
Epoch 161/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0512
Epoch 162/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0518
Epoch 163/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0513
Epoch 164/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0509
Epoch 165/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0512
Epoch 166/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0509
Epoch 167/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0510
Epoch 168/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0507
Epoch 169/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0515
Epoch 170/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0511
Epoch 171/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0506
Epoch 172/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0523
Epoch 173/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0524
Epoch 174/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0518
Epoch 175/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0513
Epoch 176/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0510
Epoch 177/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0508
Epoch 178/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0508
Epoch 179/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0509
Epoch 180/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0505
Epoch 181/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0520
Epoch 182/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0515
Epoch 183/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0511
Epoch 184/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0510
Epoch 185/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0508
Epoch 186/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0507
Epoch 187/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0507
Epoch 188/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0509
Epoch 189/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0518
Epoch 190/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0508
Epoch 191/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0512
Epoch 192/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0508
Epoch 193/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0510
Epoch 194/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0511
Epoch 195/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0516
Epoch 196/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0509
Epoch 197/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0514
Epoch 198/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0506
Epoch 199/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0504
Epoch 200/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0506
Epoch 1/200
3/3 [==============================] - 1s 270ms/step - loss: 0.2248
Epoch 2/200
3/3 [==============================] - 0s 64ms/step - loss: 0.2068
Epoch 3/200
3/3 [==============================] - 0s 60ms/step - loss: 0.1871
Epoch 4/200
3/3 [==============================] - 0s 64ms/step - loss: 0.1672
Epoch 5/200
3/3 [==============================] - 0s 77ms/step - loss: 0.1364
Epoch 6/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0976
Epoch 7/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0634
Epoch 8/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0472
Epoch 9/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0591
Epoch 10/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0665
Epoch 11/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0571
Epoch 12/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0496
Epoch 13/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0523
Epoch 14/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0526
Epoch 15/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0525
Epoch 16/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0520
Epoch 17/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0503
Epoch 18/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0507
Epoch 19/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0510
Epoch 20/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0529
Epoch 21/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0523
Epoch 22/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0515
Epoch 23/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0510
Epoch 24/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0507
Epoch 25/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0515
Epoch 26/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0517
Epoch 27/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0512
Epoch 28/200
3/3 [==============================] - 0s 57ms/step - loss: 0.0507
Epoch 29/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0518
Epoch 30/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0511
Epoch 31/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0516
Epoch 32/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0514
Epoch 33/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0512
Epoch 34/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0508
Epoch 35/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0513
Epoch 36/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0515
Epoch 37/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0514
Epoch 38/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0517
Epoch 39/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0509
Epoch 40/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0517
Epoch 41/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0516
Epoch 42/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0510
Epoch 43/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0512
Epoch 44/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0520
Epoch 45/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0514
Epoch 46/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0512
Epoch 47/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0519
Epoch 48/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0516
Epoch 49/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0511
Epoch 50/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0506
Epoch 51/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0515
Epoch 52/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0513
Epoch 53/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0510
Epoch 54/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0516
Epoch 55/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0507
Epoch 56/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0509
Epoch 57/200
3/3 [==============================] - 0s 57ms/step - loss: 0.0512
Epoch 58/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0515
Epoch 59/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0518
Epoch 60/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0514
Epoch 61/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0511
Epoch 62/200
3/3 [==============================] - 0s 58ms/step - loss: 0.0519
Epoch 63/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0520
Epoch 64/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0515
Epoch 65/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0518
Epoch 66/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0512
Epoch 67/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0512
Epoch 68/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0514
Epoch 69/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0514
Epoch 70/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0513
Epoch 71/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0511
Epoch 72/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0508
Epoch 73/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0510
Epoch 74/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0507
Epoch 75/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0517
Epoch 76/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0526
Epoch 77/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0519
Epoch 78/200
3/3 [==============================] - 0s 57ms/step - loss: 0.0514
Epoch 79/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0525
Epoch 80/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0511
Epoch 81/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0509
Epoch 82/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0509
Epoch 83/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0509
Epoch 84/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0514
Epoch 85/200
3/3 [==============================] - 0s 58ms/step - loss: 0.0509
Epoch 86/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0509
Epoch 87/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0512
Epoch 88/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0512
Epoch 89/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0511
Epoch 90/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0513
Epoch 91/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0513
Epoch 92/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0515
Epoch 93/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0517
Epoch 94/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0517
Epoch 95/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0512
Epoch 96/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0515
Epoch 97/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0512
Epoch 98/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0512
Epoch 99/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0513
Epoch 100/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0514
Epoch 101/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0514
Epoch 102/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0515
Epoch 103/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0509
Epoch 104/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0511
Epoch 105/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0515
Epoch 106/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0517
Epoch 107/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0512
Epoch 108/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0513
Epoch 109/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0509
Epoch 110/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0517
Epoch 111/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0508
Epoch 112/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0513
Epoch 113/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0513
Epoch 114/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0513
Epoch 115/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0514
Epoch 116/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0510
Epoch 117/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0510
Epoch 118/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0510
Epoch 119/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0510
Epoch 120/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0510
Epoch 121/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0508
Epoch 122/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0507
Epoch 123/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0512
Epoch 124/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0521
Epoch 125/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0523
Epoch 126/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0509
Epoch 127/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0512
Epoch 128/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0513
Epoch 129/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0509
Epoch 130/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0505
Epoch 131/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0516
Epoch 132/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0513
Epoch 133/200
3/3 [==============================] - 0s 58ms/step - loss: 0.0515
Epoch 134/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0514
Epoch 135/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0513
Epoch 136/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0507
Epoch 137/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0508
Epoch 138/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0512
Epoch 139/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0517
Epoch 140/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0512
Epoch 141/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0520
Epoch 142/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0508
Epoch 143/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0519
Epoch 144/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0513
Epoch 145/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0522
Epoch 146/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0508
Epoch 147/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0511
Epoch 148/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0509
Epoch 149/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0509
Epoch 150/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0510
Epoch 151/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0516
Epoch 152/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0511
Epoch 153/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0509
Epoch 154/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0518
Epoch 155/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0513
Epoch 156/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0514
Epoch 157/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0517
Epoch 158/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0511
Epoch 159/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0511
Epoch 160/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0519
Epoch 161/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0509
Epoch 162/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0509
Epoch 163/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0513
Epoch 164/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0513
Epoch 165/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0508
Epoch 166/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0508
Epoch 167/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0512
Epoch 168/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0507
Epoch 169/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0513
Epoch 170/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0511
Epoch 171/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0510
Epoch 172/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0515
Epoch 173/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0510
Epoch 174/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0508
Epoch 175/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0508
Epoch 176/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0509
Epoch 177/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0507
Epoch 178/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0507
Epoch 179/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0509
Epoch 180/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0511
Epoch 181/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0512
Epoch 182/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0518
Epoch 183/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0512
Epoch 184/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0521
Epoch 185/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0506
Epoch 186/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0514
Epoch 187/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0509
Epoch 188/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0521
Epoch 189/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0508
Epoch 190/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0513
Epoch 191/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0512
Epoch 192/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0512
Epoch 193/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0507
Epoch 194/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0523
Epoch 195/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0517
Epoch 196/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0512
Epoch 197/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0517
Epoch 198/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0512
Epoch 199/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0512
Epoch 200/200
3/3 [==============================] - 0s 58ms/step - loss: 0.0514
Epoch 1/200
3/3 [==============================] - 1s 263ms/step - loss: 0.2182
Epoch 2/200
3/3 [==============================] - 0s 58ms/step - loss: 0.1833
Epoch 3/200
3/3 [==============================] - 0s 66ms/step - loss: 0.1481
Epoch 4/200
3/3 [==============================] - 0s 62ms/step - loss: 0.1100
Epoch 5/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0701
Epoch 6/200
3/3 [==============================] - 0s 77ms/step - loss: 0.0460
Epoch 7/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0683
Epoch 8/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0741
Epoch 9/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0562
Epoch 10/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0557
Epoch 11/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0509
Epoch 12/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0545
Epoch 13/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0538
Epoch 14/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0521
Epoch 15/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0507
Epoch 16/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0531
Epoch 17/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0512
Epoch 18/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0525
Epoch 19/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0525
Epoch 20/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0520
Epoch 21/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0509
Epoch 22/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0514
Epoch 23/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0509
Epoch 24/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0517
Epoch 25/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0515
Epoch 26/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0510
Epoch 27/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0515
Epoch 28/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0509
Epoch 29/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0522
Epoch 30/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0517
Epoch 31/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0513
Epoch 32/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0511
Epoch 33/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0510
Epoch 34/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0510
Epoch 35/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0511
Epoch 36/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0515
Epoch 37/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0519
Epoch 38/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0512
Epoch 39/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0512
Epoch 40/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0513
Epoch 41/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0512
Epoch 42/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0513
Epoch 43/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0510
Epoch 44/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0510
Epoch 45/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0511
Epoch 46/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0515
Epoch 47/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0516
Epoch 48/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0509
Epoch 49/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0508
Epoch 50/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0521
Epoch 51/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0515
Epoch 52/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0518
Epoch 53/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0512
Epoch 54/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0515
Epoch 55/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0508
Epoch 56/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0511
Epoch 57/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0511
Epoch 58/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0520
Epoch 59/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0512
Epoch 60/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0521
Epoch 61/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0520
Epoch 62/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0519
Epoch 63/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0519
Epoch 64/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0511
Epoch 65/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0511
Epoch 66/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0509
Epoch 67/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0508
Epoch 68/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0522
Epoch 69/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0521
Epoch 70/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0515
Epoch 71/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0515
Epoch 72/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0508
Epoch 73/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0509
Epoch 74/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0516
Epoch 75/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0511
Epoch 76/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0508
Epoch 77/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0508
Epoch 78/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0513
Epoch 79/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0514
Epoch 80/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0514
Epoch 81/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0514
Epoch 82/200
3/3 [==============================] - 0s 58ms/step - loss: 0.0509
Epoch 83/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0510
Epoch 84/200
3/3 [==============================] - 0s 57ms/step - loss: 0.0513
Epoch 85/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0510
Epoch 86/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0508
Epoch 87/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0514
Epoch 88/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0510
Epoch 89/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0513
Epoch 90/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0508
Epoch 91/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0508
Epoch 92/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0513
Epoch 93/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0512
Epoch 94/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0513
Epoch 95/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0519
Epoch 96/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0514
Epoch 97/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0508
Epoch 98/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0506
Epoch 99/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0507
Epoch 100/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0525
Epoch 101/200
3/3 [==============================] - 0s 58ms/step - loss: 0.0520
Epoch 102/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0516
Epoch 103/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0508
Epoch 104/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0511
Epoch 105/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0510
Epoch 106/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0511
Epoch 107/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0511
Epoch 108/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0509
Epoch 109/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0509
Epoch 110/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0511
Epoch 111/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0512
Epoch 112/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0519
Epoch 113/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0513
Epoch 114/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0515
Epoch 115/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0520
Epoch 116/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0514
Epoch 117/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0510
Epoch 118/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0508
Epoch 119/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0516
Epoch 120/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0509
Epoch 121/200
3/3 [==============================] - 0s 57ms/step - loss: 0.0511
Epoch 122/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0510
Epoch 123/200
3/3 [==============================] - 0s 57ms/step - loss: 0.0509
Epoch 124/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0515
Epoch 125/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0519
Epoch 126/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0508
Epoch 127/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0507
Epoch 128/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0512
Epoch 129/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0511
Epoch 130/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0506
Epoch 131/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0508
Epoch 132/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0514
Epoch 133/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0521
Epoch 134/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0516
Epoch 135/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0509
Epoch 136/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0504
Epoch 137/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0506
Epoch 138/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0505
Epoch 139/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0510
Epoch 140/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0510
Epoch 141/200
3/3 [==============================] - 0s 58ms/step - loss: 0.0504
Epoch 142/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0511
Epoch 143/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0524
Epoch 144/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0518
Epoch 145/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0512
Epoch 146/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0508
Epoch 147/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0507
Epoch 148/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0510
Epoch 149/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0507
Epoch 150/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0517
Epoch 151/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0508
Epoch 152/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0509
Epoch 153/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0508
Epoch 154/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0504
Epoch 155/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0520
Epoch 156/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0518
Epoch 157/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0510
Epoch 158/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0527
Epoch 159/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0508
Epoch 160/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0506
Epoch 161/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0512
Epoch 162/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0506
Epoch 163/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0502
Epoch 164/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0501
Epoch 165/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0503
Epoch 166/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0504
Epoch 167/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0511
Epoch 168/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0512
Epoch 169/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0506
Epoch 170/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0502
Epoch 171/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0506
Epoch 172/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0506
Epoch 173/200
3/3 [==============================] - 0s 58ms/step - loss: 0.0503
Epoch 174/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0501
Epoch 175/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0501
Epoch 176/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0502
Epoch 177/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0498
Epoch 178/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0519
Epoch 179/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0514
Epoch 180/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0510
Epoch 181/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0500
Epoch 182/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0501
Epoch 183/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0508
Epoch 184/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0506
Epoch 185/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0508
Epoch 186/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0509
Epoch 187/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0509
Epoch 188/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0507
Epoch 189/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0509
Epoch 190/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0510
Epoch 191/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0504
Epoch 192/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0503
Epoch 193/200
3/3 [==============================] - 0s 58ms/step - loss: 0.0514
Epoch 194/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0523
Epoch 195/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0524
Epoch 196/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0505
Epoch 197/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0506
Epoch 198/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0507
Epoch 199/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0503
Epoch 200/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0508
Epoch 1/200
3/3 [==============================] - 1s 292ms/step - loss: 0.2231
Epoch 2/200
3/3 [==============================] - 0s 63ms/step - loss: 0.1988
Epoch 3/200
3/3 [==============================] - 0s 64ms/step - loss: 0.1740
Epoch 4/200
3/3 [==============================] - 0s 66ms/step - loss: 0.1469
Epoch 5/200
3/3 [==============================] - 0s 63ms/step - loss: 0.1097
Epoch 6/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0802
Epoch 7/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0503
Epoch 8/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0630
Epoch 9/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0666
Epoch 10/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0584
Epoch 11/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0504
Epoch 12/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0518
Epoch 13/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0520
Epoch 14/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0516
Epoch 15/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0511
Epoch 16/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0515
Epoch 17/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0520
Epoch 18/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0523
Epoch 19/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0528
Epoch 20/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0520
Epoch 21/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0511
Epoch 22/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0511
Epoch 23/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0515
Epoch 24/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0520
Epoch 25/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0510
Epoch 26/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0510
Epoch 27/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0510
Epoch 28/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0507
Epoch 29/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0506
Epoch 30/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0509
Epoch 31/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0510
Epoch 32/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0520
Epoch 33/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0520
Epoch 34/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0516
Epoch 35/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0513
Epoch 36/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0525
Epoch 37/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0509
Epoch 38/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0511
Epoch 39/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0514
Epoch 40/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0519
Epoch 41/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0517
Epoch 42/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0510
Epoch 43/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0510
Epoch 44/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0515
Epoch 45/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0512
Epoch 46/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0515
Epoch 47/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0509
Epoch 48/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0520
Epoch 49/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0515
Epoch 50/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0522
Epoch 51/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0516
Epoch 52/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0509
Epoch 53/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0508
Epoch 54/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0507
Epoch 55/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0509
Epoch 56/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0516
Epoch 57/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0514
Epoch 58/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0515
Epoch 59/200
3/3 [==============================] - 0s 78ms/step - loss: 0.0521
Epoch 60/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0512
Epoch 61/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0513
Epoch 62/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0515
Epoch 63/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0519
Epoch 64/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0514
Epoch 65/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0517
Epoch 66/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0510
Epoch 67/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0524
Epoch 68/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0518
Epoch 69/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0513
Epoch 70/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0507
Epoch 71/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0515
Epoch 72/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0512
Epoch 73/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0519
Epoch 74/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0518
Epoch 75/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0514
Epoch 76/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0508
Epoch 77/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0517
Epoch 78/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0509
Epoch 79/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0510
Epoch 80/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0512
Epoch 81/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0506
Epoch 82/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0518
Epoch 83/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0514
Epoch 84/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0512
Epoch 85/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0512
Epoch 86/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0514
Epoch 87/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0520
Epoch 88/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0512
Epoch 89/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0512
Epoch 90/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0511
Epoch 91/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0517
Epoch 92/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0520
Epoch 93/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0510
Epoch 94/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0518
Epoch 95/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0511
Epoch 96/200
3/3 [==============================] - 0s 77ms/step - loss: 0.0517
Epoch 97/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0516
Epoch 98/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0513
Epoch 99/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0509
Epoch 100/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0518
Epoch 101/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0512
Epoch 102/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0512
Epoch 103/200
3/3 [==============================] - 0s 80ms/step - loss: 0.0509
Epoch 104/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0506
Epoch 105/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0505
Epoch 106/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0511
Epoch 107/200
3/3 [==============================] - 0s 78ms/step - loss: 0.0521
Epoch 108/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0526
Epoch 109/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0512
Epoch 110/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0512
Epoch 111/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0513
Epoch 112/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0513
Epoch 113/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0509
Epoch 114/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0514
Epoch 115/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0510
Epoch 116/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0509
Epoch 117/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0515
Epoch 118/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0522
Epoch 119/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0516
Epoch 120/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0525
Epoch 121/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0513
Epoch 122/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0516
Epoch 123/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0510
Epoch 124/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0510
Epoch 125/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0513
Epoch 126/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0509
Epoch 127/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0512
Epoch 128/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0515
Epoch 129/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0522
Epoch 130/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0517
Epoch 131/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0515
Epoch 132/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0511
Epoch 133/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0512
Epoch 134/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0508
Epoch 135/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0510
Epoch 136/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0514
Epoch 137/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0513
Epoch 138/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0509
Epoch 139/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0512
Epoch 140/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0519
Epoch 141/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0514
Epoch 142/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0509
Epoch 143/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0512
Epoch 144/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0509
Epoch 145/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0511
Epoch 146/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0510
Epoch 147/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0508
Epoch 148/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0512
Epoch 149/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0510
Epoch 150/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0519
Epoch 151/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0517
Epoch 152/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0519
Epoch 153/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0514
Epoch 154/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0511
Epoch 155/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0519
Epoch 156/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0518
Epoch 157/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0518
Epoch 158/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0510
Epoch 159/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0508
Epoch 160/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0519
Epoch 161/200
3/3 [==============================] - 0s 58ms/step - loss: 0.0519
Epoch 162/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0513
Epoch 163/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0523
Epoch 164/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0509
Epoch 165/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0509
Epoch 166/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0508
Epoch 167/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0513
Epoch 168/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0509
Epoch 169/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0512
Epoch 170/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0516
Epoch 171/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0510
Epoch 172/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0511
Epoch 173/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0512
Epoch 174/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0513
Epoch 175/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0512
Epoch 176/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0511
Epoch 177/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0519
Epoch 178/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0516
Epoch 179/200
3/3 [==============================] - 0s 77ms/step - loss: 0.0512
Epoch 180/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0510
Epoch 181/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0510
Epoch 182/200
3/3 [==============================] - 0s 57ms/step - loss: 0.0516
Epoch 183/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0511
Epoch 184/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0513
Epoch 185/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0513
Epoch 186/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0513
Epoch 187/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0508
Epoch 188/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0507
Epoch 189/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0513
Epoch 190/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0515
Epoch 191/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0510
Epoch 192/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0505
Epoch 193/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0517
Epoch 194/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0512
Epoch 195/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0522
Epoch 196/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0526
Epoch 197/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0508
Epoch 198/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0510
Epoch 199/200
3/3 [==============================] - 0s 77ms/step - loss: 0.0509
Epoch 200/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0508
Epoch 1/200
3/3 [==============================] - 1s 301ms/step - loss: 0.2172
Epoch 2/200
3/3 [==============================] - 0s 61ms/step - loss: 0.1835
Epoch 3/200
3/3 [==============================] - 0s 66ms/step - loss: 0.1541
Epoch 4/200
3/3 [==============================] - 0s 70ms/step - loss: 0.1071
Epoch 5/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0782
Epoch 6/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0457
Epoch 7/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0718
Epoch 8/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0718
Epoch 9/200
3/3 [==============================] - 0s 81ms/step - loss: 0.0532
Epoch 10/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0497
Epoch 11/200
3/3 [==============================] - 0s 78ms/step - loss: 0.0513
Epoch 12/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0558
Epoch 13/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0555
Epoch 14/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0532
Epoch 15/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0531
Epoch 16/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0504
Epoch 17/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0508
Epoch 18/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0522
Epoch 19/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0524
Epoch 20/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0519
Epoch 21/200
3/3 [==============================] - 0s 57ms/step - loss: 0.0509
Epoch 22/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0505
Epoch 23/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0505
Epoch 24/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0508
Epoch 25/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0510
Epoch 26/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0509
Epoch 27/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0510
Epoch 28/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0514
Epoch 29/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0514
Epoch 30/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0515
Epoch 31/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0510
Epoch 32/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0512
Epoch 33/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0510
Epoch 34/200
3/3 [==============================] - 0s 78ms/step - loss: 0.0517
Epoch 35/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0512
Epoch 36/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0510
Epoch 37/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0517
Epoch 38/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0510
Epoch 39/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0510
Epoch 40/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0506
Epoch 41/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0508
Epoch 42/200
3/3 [==============================] - 0s 79ms/step - loss: 0.0509
Epoch 43/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0513
Epoch 44/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0515
Epoch 45/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0516
Epoch 46/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0523
Epoch 47/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0516
Epoch 48/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0511
Epoch 49/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0512
Epoch 50/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0509
Epoch 51/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0506
Epoch 52/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0518
Epoch 53/200
3/3 [==============================] - 0s 80ms/step - loss: 0.0515
Epoch 54/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0514
Epoch 55/200
3/3 [==============================] - 0s 81ms/step - loss: 0.0517
Epoch 56/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0512
Epoch 57/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0509
Epoch 58/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0521
Epoch 59/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0512
Epoch 60/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0509
Epoch 61/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0514
Epoch 62/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0521
Epoch 63/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0515
Epoch 64/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0512
Epoch 65/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0517
Epoch 66/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0512
Epoch 67/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0509
Epoch 68/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0510
Epoch 69/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0512
Epoch 70/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0514
Epoch 71/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0508
Epoch 72/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0507
Epoch 73/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0518
Epoch 74/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0516
Epoch 75/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0512
Epoch 76/200
3/3 [==============================] - 0s 58ms/step - loss: 0.0515
Epoch 77/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0516
Epoch 78/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0511
Epoch 79/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0510
Epoch 80/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0520
Epoch 81/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0515
Epoch 82/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0516
Epoch 83/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0508
Epoch 84/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0514
Epoch 85/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0513
Epoch 86/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0511
Epoch 87/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0523
Epoch 88/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0515
Epoch 89/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0512
Epoch 90/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0511
Epoch 91/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0521
Epoch 92/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0511
Epoch 93/200
3/3 [==============================] - 0s 81ms/step - loss: 0.0511
Epoch 94/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0506
Epoch 95/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0506
Epoch 96/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0508
Epoch 97/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0508
Epoch 98/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0512
Epoch 99/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0512
Epoch 100/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0515
Epoch 101/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0509
Epoch 102/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0520
Epoch 103/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0519
Epoch 104/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0512
Epoch 105/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0512
Epoch 106/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0514
Epoch 107/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0509
Epoch 108/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0510
Epoch 109/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0510
Epoch 110/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0507
Epoch 111/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0508
Epoch 112/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0517
Epoch 113/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0518
Epoch 114/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0523
Epoch 115/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0516
Epoch 116/200
3/3 [==============================] - 0s 77ms/step - loss: 0.0508
Epoch 117/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0507
Epoch 118/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0506
Epoch 119/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0516
Epoch 120/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0517
Epoch 121/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0523
Epoch 122/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0511
Epoch 123/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0510
Epoch 124/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0512
Epoch 125/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0512
Epoch 126/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0517
Epoch 127/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0511
Epoch 128/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0515
Epoch 129/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0509
Epoch 130/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0509
Epoch 131/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0509
Epoch 132/200
3/3 [==============================] - 0s 58ms/step - loss: 0.0504
Epoch 133/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0507
Epoch 134/200
3/3 [==============================] - 0s 77ms/step - loss: 0.0519
Epoch 135/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0518
Epoch 136/200
3/3 [==============================] - 0s 79ms/step - loss: 0.0513
Epoch 137/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0514
Epoch 138/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0513
Epoch 139/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0515
Epoch 140/200
3/3 [==============================] - 0s 79ms/step - loss: 0.0510
Epoch 141/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0512
Epoch 142/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0510
Epoch 143/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0508
Epoch 144/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0508
Epoch 145/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0506
Epoch 146/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0507
Epoch 147/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0508
Epoch 148/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0510
Epoch 149/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0522
Epoch 150/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0519
Epoch 151/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0518
Epoch 152/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0507
Epoch 153/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0506
Epoch 154/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0513
Epoch 155/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0508
Epoch 156/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0507
Epoch 157/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0512
Epoch 158/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0510
Epoch 159/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0510
Epoch 160/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0508
Epoch 161/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0511
Epoch 162/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0508
Epoch 163/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0522
Epoch 164/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0516
Epoch 165/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0518
Epoch 166/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0515
Epoch 167/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0516
Epoch 168/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0512
Epoch 169/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0508
Epoch 170/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0512
Epoch 171/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0511
Epoch 172/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0510
Epoch 173/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0513
Epoch 174/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0514
Epoch 175/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0512
Epoch 176/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0511
Epoch 177/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0512
Epoch 178/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0517
Epoch 179/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0512
Epoch 180/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0505
Epoch 181/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0503
Epoch 182/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0507
Epoch 183/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0511
Epoch 184/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0508
Epoch 185/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0514
Epoch 186/200
3/3 [==============================] - 0s 77ms/step - loss: 0.0519
Epoch 187/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0510
Epoch 188/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0506
Epoch 189/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0517
Epoch 190/200
3/3 [==============================] - 0s 77ms/step - loss: 0.0507
Epoch 191/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0514
Epoch 192/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0508
Epoch 193/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0510
Epoch 194/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0509
Epoch 195/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0508
Epoch 196/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0510
Epoch 197/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0511
Epoch 198/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0509
Epoch 199/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0516
Epoch 200/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0518
Epoch 1/200
3/3 [==============================] - 1s 277ms/step - loss: 0.2285
Epoch 2/200
3/3 [==============================] - 0s 72ms/step - loss: 0.2050
Epoch 3/200
3/3 [==============================] - 0s 67ms/step - loss: 0.1814
Epoch 4/200
3/3 [==============================] - 0s 64ms/step - loss: 0.1553
Epoch 5/200
3/3 [==============================] - 0s 69ms/step - loss: 0.1278
Epoch 6/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0876
Epoch 7/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0589
Epoch 8/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0636
Epoch 9/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0642
Epoch 10/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0591
Epoch 11/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0571
Epoch 12/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0519
Epoch 13/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0526
Epoch 14/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0531
Epoch 15/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0514
Epoch 16/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0507
Epoch 17/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0527
Epoch 18/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0529
Epoch 19/200
3/3 [==============================] - 0s 58ms/step - loss: 0.0523
Epoch 20/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0517
Epoch 21/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0509
Epoch 22/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0509
Epoch 23/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0511
Epoch 24/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0511
Epoch 25/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0510
Epoch 26/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0515
Epoch 27/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0513
Epoch 28/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0516
Epoch 29/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0509
Epoch 30/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0520
Epoch 31/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0520
Epoch 32/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0515
Epoch 33/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0515
Epoch 34/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0509
Epoch 35/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0509
Epoch 36/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0510
Epoch 37/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0510
Epoch 38/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0514
Epoch 39/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0514
Epoch 40/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0509
Epoch 41/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0509
Epoch 42/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0511
Epoch 43/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0515
Epoch 44/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0521
Epoch 45/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0524
Epoch 46/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0513
Epoch 47/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0520
Epoch 48/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0515
Epoch 49/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0510
Epoch 50/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0506
Epoch 51/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0505
Epoch 52/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0507
Epoch 53/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0510
Epoch 54/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0518
Epoch 55/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0522
Epoch 56/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0511
Epoch 57/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0510
Epoch 58/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0515
Epoch 59/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0514
Epoch 60/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0514
Epoch 61/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0510
Epoch 62/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0519
Epoch 63/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0510
Epoch 64/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0519
Epoch 65/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0513
Epoch 66/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0508
Epoch 67/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0512
Epoch 68/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0514
Epoch 69/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0518
Epoch 70/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0525
Epoch 71/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0508
Epoch 72/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0510
Epoch 73/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0513
Epoch 74/200
3/3 [==============================] - 0s 58ms/step - loss: 0.0512
Epoch 75/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0512
Epoch 76/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0514
Epoch 77/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0509
Epoch 78/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0520
Epoch 79/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0514
Epoch 80/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0511
Epoch 81/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0514
Epoch 82/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0515
Epoch 83/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0510
Epoch 84/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0508
Epoch 85/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0507
Epoch 86/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0508
Epoch 87/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0508
Epoch 88/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0510
Epoch 89/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0508
Epoch 90/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0508
Epoch 91/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0513
Epoch 92/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0512
Epoch 93/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0511
Epoch 94/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0513
Epoch 95/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0507
Epoch 96/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0505
Epoch 97/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0507
Epoch 98/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0524
Epoch 99/200
3/3 [==============================] - 0s 77ms/step - loss: 0.0515
Epoch 100/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0513
Epoch 101/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0515
Epoch 102/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0512
Epoch 103/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0511
Epoch 104/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0511
Epoch 105/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0508
Epoch 106/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0516
Epoch 107/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0511
Epoch 108/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0514
Epoch 109/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0508
Epoch 110/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0514
Epoch 111/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0511
Epoch 112/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0508
Epoch 113/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0509
Epoch 114/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0509
Epoch 115/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0511
Epoch 116/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0510
Epoch 117/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0511
Epoch 118/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0512
Epoch 119/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0507
Epoch 120/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0514
Epoch 121/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0508
Epoch 122/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0504
Epoch 123/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0503
Epoch 124/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0502
Epoch 125/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0516
Epoch 126/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0515
Epoch 127/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0515
Epoch 128/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0507
Epoch 129/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0505
Epoch 130/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0502
Epoch 131/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0513
Epoch 132/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0513
Epoch 133/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0508
Epoch 134/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0509
Epoch 135/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0506
Epoch 136/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0507
Epoch 137/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0503
Epoch 138/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0504
Epoch 139/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0512
Epoch 140/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0516
Epoch 141/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0512
Epoch 142/200
3/3 [==============================] - 0s 79ms/step - loss: 0.0519
Epoch 143/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0519
Epoch 144/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0510
Epoch 145/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0507
Epoch 146/200
3/3 [==============================] - 0s 84ms/step - loss: 0.0513
Epoch 147/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0519
Epoch 148/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0512
Epoch 149/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0507
Epoch 150/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0505
Epoch 151/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0507
Epoch 152/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0503
Epoch 153/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0510
Epoch 154/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0515
Epoch 155/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0525
Epoch 156/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0516
Epoch 157/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0512
Epoch 158/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0517
Epoch 159/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0502
Epoch 160/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0503
Epoch 161/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0501
Epoch 162/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0501
Epoch 163/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0499
Epoch 164/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0511
Epoch 165/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0515
Epoch 166/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0523
Epoch 167/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0513
Epoch 168/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0506
Epoch 169/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0507
Epoch 170/200
3/3 [==============================] - 0s 77ms/step - loss: 0.0502
Epoch 171/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0503
Epoch 172/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0505
Epoch 173/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0503
Epoch 174/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0503
Epoch 175/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0514
Epoch 176/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0515
Epoch 177/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0508
Epoch 178/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0507
Epoch 179/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0505
Epoch 180/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0503
Epoch 181/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0501
Epoch 182/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0504
Epoch 183/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0504
Epoch 184/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0520
Epoch 185/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0515
Epoch 186/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0512
Epoch 187/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0513
Epoch 188/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0509
Epoch 189/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0507
Epoch 190/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0507
Epoch 191/200
3/3 [==============================] - 0s 77ms/step - loss: 0.0508
Epoch 192/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0509
Epoch 193/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0506
Epoch 194/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0508
Epoch 195/200
3/3 [==============================] - 0s 78ms/step - loss: 0.0505
Epoch 196/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0512
Epoch 197/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0518
Epoch 198/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0516
Epoch 199/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0510
Epoch 200/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0508
Epoch 1/200
3/3 [==============================] - 1s 272ms/step - loss: 0.2181
Epoch 2/200
3/3 [==============================] - 0s 67ms/step - loss: 0.1866
Epoch 3/200
3/3 [==============================] - 0s 65ms/step - loss: 0.1565
Epoch 4/200
3/3 [==============================] - 0s 65ms/step - loss: 0.1144
Epoch 5/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0843
Epoch 6/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0528
Epoch 7/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0548
Epoch 8/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0682
Epoch 9/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0590
Epoch 10/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0507
Epoch 11/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0503
Epoch 12/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0533
Epoch 13/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0543
Epoch 14/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0545
Epoch 15/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0522
Epoch 16/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0503
Epoch 17/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0520
Epoch 18/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0525
Epoch 19/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0529
Epoch 20/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0511
Epoch 21/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0513
Epoch 22/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0510
Epoch 23/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0511
Epoch 24/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0514
Epoch 25/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0508
Epoch 26/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0507
Epoch 27/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0526
Epoch 28/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0520
Epoch 29/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0520
Epoch 30/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0515
Epoch 31/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0516
Epoch 32/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0509
Epoch 33/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0516
Epoch 34/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0510
Epoch 35/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0516
Epoch 36/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0516
Epoch 37/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0513
Epoch 38/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0511
Epoch 39/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0513
Epoch 40/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0514
Epoch 41/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0512
Epoch 42/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0512
Epoch 43/200
3/3 [==============================] - 0s 81ms/step - loss: 0.0514
Epoch 44/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0514
Epoch 45/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0514
Epoch 46/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0511
Epoch 47/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0518
Epoch 48/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0514
Epoch 49/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0509
Epoch 50/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0526
Epoch 51/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0518
Epoch 52/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0518
Epoch 53/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0513
Epoch 54/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0511
Epoch 55/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0511
Epoch 56/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0510
Epoch 57/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0510
Epoch 58/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0509
Epoch 59/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0514
Epoch 60/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0515
Epoch 61/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0510
Epoch 62/200
3/3 [==============================] - 0s 78ms/step - loss: 0.0514
Epoch 63/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0508
Epoch 64/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0527
Epoch 65/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0521
Epoch 66/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0528
Epoch 67/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0511
Epoch 68/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0512
Epoch 69/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0517
Epoch 70/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0517
Epoch 71/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0511
Epoch 72/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0514
Epoch 73/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0518
Epoch 74/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0509
Epoch 75/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0523
Epoch 76/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0509
Epoch 77/200
3/3 [==============================] - 0s 85ms/step - loss: 0.0512
Epoch 78/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0509
Epoch 79/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0509
Epoch 80/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0510
Epoch 81/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0522
Epoch 82/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0517
Epoch 83/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0519
Epoch 84/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0509
Epoch 85/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0508
Epoch 86/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0523
Epoch 87/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0513
Epoch 88/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0514
Epoch 89/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0518
Epoch 90/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0510
Epoch 91/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0514
Epoch 92/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0514
Epoch 93/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0513
Epoch 94/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0509
Epoch 95/200
3/3 [==============================] - 0s 58ms/step - loss: 0.0507
Epoch 96/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0516
Epoch 97/200
3/3 [==============================] - 0s 81ms/step - loss: 0.0516
Epoch 98/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0510
Epoch 99/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0510
Epoch 100/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0512
Epoch 101/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0513
Epoch 102/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0516
Epoch 103/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0512
Epoch 104/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0518
Epoch 105/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0511
Epoch 106/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0515
Epoch 107/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0524
Epoch 108/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0507
Epoch 109/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0508
Epoch 110/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0510
Epoch 111/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0513
Epoch 112/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0508
Epoch 113/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0522
Epoch 114/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0516
Epoch 115/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0513
Epoch 116/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0511
Epoch 117/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0517
Epoch 118/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0508
Epoch 119/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0520
Epoch 120/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0511
Epoch 121/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0518
Epoch 122/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0512
Epoch 123/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0515
Epoch 124/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0510
Epoch 125/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0508
Epoch 126/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0507
Epoch 127/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0505
Epoch 128/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0507
Epoch 129/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0508
Epoch 130/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0525
Epoch 131/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0523
Epoch 132/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0513
Epoch 133/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0516
Epoch 134/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0517
Epoch 135/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0517
Epoch 136/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0510
Epoch 137/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0518
Epoch 138/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0512
Epoch 139/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0512
Epoch 140/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0510
Epoch 141/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0510
Epoch 142/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0508
Epoch 143/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0508
Epoch 144/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0512
Epoch 145/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0509
Epoch 146/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0514
Epoch 147/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0514
Epoch 148/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0515
Epoch 149/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0509
Epoch 150/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0524
Epoch 151/200
3/3 [==============================] - 0s 58ms/step - loss: 0.0511
Epoch 152/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0511
Epoch 153/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0508
Epoch 154/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0509
Epoch 155/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0506
Epoch 156/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0507
Epoch 157/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0526
Epoch 158/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0517
Epoch 159/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0514
Epoch 160/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0509
Epoch 161/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0509
Epoch 162/200
3/3 [==============================] - 0s 79ms/step - loss: 0.0507
Epoch 163/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0514
Epoch 164/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0511
Epoch 165/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0512
Epoch 166/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0511
Epoch 167/200
3/3 [==============================] - 0s 79ms/step - loss: 0.0509
Epoch 168/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0514
Epoch 169/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0509
Epoch 170/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0509
Epoch 171/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0509
Epoch 172/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0508
Epoch 173/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0509
Epoch 174/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0508
Epoch 175/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0508
Epoch 176/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0517
Epoch 177/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0511
Epoch 178/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0507
Epoch 179/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0506
Epoch 180/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0513
Epoch 181/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0520
Epoch 182/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0524
Epoch 183/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0516
Epoch 184/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0516
Epoch 185/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0508
Epoch 186/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0508
Epoch 187/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0506
Epoch 188/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0514
Epoch 189/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0511
Epoch 190/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0510
Epoch 191/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0516
Epoch 192/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0510
Epoch 193/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0508
Epoch 194/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0514
Epoch 195/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0507
Epoch 196/200
3/3 [==============================] - 0s 83ms/step - loss: 0.0507
Epoch 197/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0509
Epoch 198/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0507
Epoch 199/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0508
Epoch 200/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0504
Epoch 1/200
3/3 [==============================] - 1s 312ms/step - loss: 0.2104
Epoch 2/200
3/3 [==============================] - 0s 68ms/step - loss: 0.1812
Epoch 3/200
3/3 [==============================] - 0s 64ms/step - loss: 0.1520
Epoch 4/200
3/3 [==============================] - 0s 80ms/step - loss: 0.1210
Epoch 5/200
3/3 [==============================] - 0s 77ms/step - loss: 0.0830
Epoch 6/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0549
Epoch 7/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0606
Epoch 8/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0674
Epoch 9/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0586
Epoch 10/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0510
Epoch 11/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0532
Epoch 12/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0540
Epoch 13/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0539
Epoch 14/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0517
Epoch 15/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0533
Epoch 16/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0504
Epoch 17/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0509
Epoch 18/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0514
Epoch 19/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0516
Epoch 20/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0516
Epoch 21/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0516
Epoch 22/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0519
Epoch 23/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0508
Epoch 24/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0512
Epoch 25/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0510
Epoch 26/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0510
Epoch 27/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0510
Epoch 28/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0518
Epoch 29/200
3/3 [==============================] - 0s 77ms/step - loss: 0.0517
Epoch 30/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0510
Epoch 31/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0513
Epoch 32/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0512
Epoch 33/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0513
Epoch 34/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0513
Epoch 35/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0516
Epoch 36/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0510
Epoch 37/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0523
Epoch 38/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0511
Epoch 39/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0515
Epoch 40/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0509
Epoch 41/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0513
Epoch 42/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0511
Epoch 43/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0515
Epoch 44/200
3/3 [==============================] - 0s 81ms/step - loss: 0.0523
Epoch 45/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0519
Epoch 46/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0511
Epoch 47/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0528
Epoch 48/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0513
Epoch 49/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0514
Epoch 50/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0514
Epoch 51/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0506
Epoch 52/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0508
Epoch 53/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0508
Epoch 54/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0518
Epoch 55/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0519
Epoch 56/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0526
Epoch 57/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0514
Epoch 58/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0510
Epoch 59/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0509
Epoch 60/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0512
Epoch 61/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0514
Epoch 62/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0513
Epoch 63/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0518
Epoch 64/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0516
Epoch 65/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0513
Epoch 66/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0514
Epoch 67/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0510
Epoch 68/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0506
Epoch 69/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0527
Epoch 70/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0521
Epoch 71/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0519
Epoch 72/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0513
Epoch 73/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0508
Epoch 74/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0508
Epoch 75/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0508
Epoch 76/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0509
Epoch 77/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0510
Epoch 78/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0511
Epoch 79/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0512
Epoch 80/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0509
Epoch 81/200
3/3 [==============================] - 0s 58ms/step - loss: 0.0509
Epoch 82/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0510
Epoch 83/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0512
Epoch 84/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0513
Epoch 85/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0516
Epoch 86/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0516
Epoch 87/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0511
Epoch 88/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0515
Epoch 89/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0511
Epoch 90/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0510
Epoch 91/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0512
Epoch 92/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0516
Epoch 93/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0509
Epoch 94/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0507
Epoch 95/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0517
Epoch 96/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0514
Epoch 97/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0513
Epoch 98/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0514
Epoch 99/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0513
Epoch 100/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0510
Epoch 101/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0515
Epoch 102/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0514
Epoch 103/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0509
Epoch 104/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0516
Epoch 105/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0513
Epoch 106/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0512
Epoch 107/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0512
Epoch 108/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0521
Epoch 109/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0517
Epoch 110/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0512
Epoch 111/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0515
Epoch 112/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0511
Epoch 113/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0523
Epoch 114/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0523
Epoch 115/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0521
Epoch 116/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0519
Epoch 117/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0522
Epoch 118/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0511
Epoch 119/200
3/3 [==============================] - 0s 79ms/step - loss: 0.0509
Epoch 120/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0516
Epoch 121/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0516
Epoch 122/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0514
Epoch 123/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0513
Epoch 124/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0515
Epoch 125/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0511
Epoch 126/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0510
Epoch 127/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0513
Epoch 128/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0520
Epoch 129/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0513
Epoch 130/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0511
Epoch 131/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0513
Epoch 132/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0512
Epoch 133/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0515
Epoch 134/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0522
Epoch 135/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0510
Epoch 136/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0509
Epoch 137/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0511
Epoch 138/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0508
Epoch 139/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0519
Epoch 140/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0514
Epoch 141/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0513
Epoch 142/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0513
Epoch 143/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0517
Epoch 144/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0513
Epoch 145/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0508
Epoch 146/200
3/3 [==============================] - 0s 88ms/step - loss: 0.0514
Epoch 147/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0527
Epoch 148/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0527
Epoch 149/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0525
Epoch 150/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0523
Epoch 151/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0513
Epoch 152/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0510
Epoch 153/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0507
Epoch 154/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0514
Epoch 155/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0519
Epoch 156/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0518
Epoch 157/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0513
Epoch 158/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0512
Epoch 159/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0524
Epoch 160/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0511
Epoch 161/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0511
Epoch 162/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0509
Epoch 163/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0510
Epoch 164/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0510
Epoch 165/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0509
Epoch 166/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0508
Epoch 167/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0510
Epoch 168/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0512
Epoch 169/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0519
Epoch 170/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0513
Epoch 171/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0510
Epoch 172/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0513
Epoch 173/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0509
Epoch 174/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0514
Epoch 175/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0514
Epoch 176/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0514
Epoch 177/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0514
Epoch 178/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0517
Epoch 179/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0511
Epoch 180/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0509
Epoch 181/200
3/3 [==============================] - 0s 77ms/step - loss: 0.0512
Epoch 182/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0512
Epoch 183/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0512
Epoch 184/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0513
Epoch 185/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0507
Epoch 186/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0507
Epoch 187/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0511
Epoch 188/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0507
Epoch 189/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0508
Epoch 190/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0506
Epoch 191/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0505
Epoch 192/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0503
Epoch 193/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0516
Epoch 194/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0519
Epoch 195/200
3/3 [==============================] - 0s 58ms/step - loss: 0.0525
Epoch 196/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0507
Epoch 197/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0512
Epoch 198/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0507
Epoch 199/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0510
Epoch 200/200
3/3 [==============================] - 0s 58ms/step - loss: 0.0506
Epoch 1/200
3/3 [==============================] - 1s 295ms/step - loss: 0.2203
Epoch 2/200
3/3 [==============================] - 0s 66ms/step - loss: 0.1959
Epoch 3/200
3/3 [==============================] - 0s 78ms/step - loss: 0.1689
Epoch 4/200
3/3 [==============================] - 0s 62ms/step - loss: 0.1430
Epoch 5/200
3/3 [==============================] - 0s 64ms/step - loss: 0.1075
Epoch 6/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0683
Epoch 7/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0452
Epoch 8/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0680
Epoch 9/200
3/3 [==============================] - 0s 78ms/step - loss: 0.0673
Epoch 10/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0532
Epoch 11/200
3/3 [==============================] - 0s 77ms/step - loss: 0.0555
Epoch 12/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0559
Epoch 13/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0553
Epoch 14/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0539
Epoch 15/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0518
Epoch 16/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0505
Epoch 17/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0507
Epoch 18/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0513
Epoch 19/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0521
Epoch 20/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0523
Epoch 21/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0522
Epoch 22/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0513
Epoch 23/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0512
Epoch 24/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0509
Epoch 25/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0510
Epoch 26/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0509
Epoch 27/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0512
Epoch 28/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0514
Epoch 29/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0510
Epoch 30/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0507
Epoch 31/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0507
Epoch 32/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0516
Epoch 33/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0516
Epoch 34/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0514
Epoch 35/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0517
Epoch 36/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0516
Epoch 37/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0511
Epoch 38/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0511
Epoch 39/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0509
Epoch 40/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0515
Epoch 41/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0513
Epoch 42/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0509
Epoch 43/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0511
Epoch 44/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0508
Epoch 45/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0510
Epoch 46/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0512
Epoch 47/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0511
Epoch 48/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0509
Epoch 49/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0509
Epoch 50/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0516
Epoch 51/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0516
Epoch 52/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0514
Epoch 53/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0518
Epoch 54/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0508
Epoch 55/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0509
Epoch 56/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0509
Epoch 57/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0510
Epoch 58/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0511
Epoch 59/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0517
Epoch 60/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0511
Epoch 61/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0511
Epoch 62/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0511
Epoch 63/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0513
Epoch 64/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0511
Epoch 65/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0516
Epoch 66/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0518
Epoch 67/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0511
Epoch 68/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0517
Epoch 69/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0512
Epoch 70/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0512
Epoch 71/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0512
Epoch 72/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0509
Epoch 73/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0521
Epoch 74/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0514
Epoch 75/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0514
Epoch 76/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0514
Epoch 77/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0514
Epoch 78/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0515
Epoch 79/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0509
Epoch 80/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0520
Epoch 81/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0512
Epoch 82/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0512
Epoch 83/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0514
Epoch 84/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0519
Epoch 85/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0516
Epoch 86/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0519
Epoch 87/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0509
Epoch 88/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0508
Epoch 89/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0509
Epoch 90/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0505
Epoch 91/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0508
Epoch 92/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0511
Epoch 93/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0508
Epoch 94/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0515
Epoch 95/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0514
Epoch 96/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0516
Epoch 97/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0510
Epoch 98/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0508
Epoch 99/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0508
Epoch 100/200
3/3 [==============================] - 0s 77ms/step - loss: 0.0507
Epoch 101/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0513
Epoch 102/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0514
Epoch 103/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0512
Epoch 104/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0512
Epoch 105/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0510
Epoch 106/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0510
Epoch 107/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0510
Epoch 108/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0512
Epoch 109/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0513
Epoch 110/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0519
Epoch 111/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0522
Epoch 112/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0508
Epoch 113/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0508
Epoch 114/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0516
Epoch 115/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0507
Epoch 116/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0506
Epoch 117/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0505
Epoch 118/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0513
Epoch 119/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0516
Epoch 120/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0516
Epoch 121/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0510
Epoch 122/200
3/3 [==============================] - 0s 78ms/step - loss: 0.0510
Epoch 123/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0507
Epoch 124/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0506
Epoch 125/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0513
Epoch 126/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0513
Epoch 127/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0512
Epoch 128/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0509
Epoch 129/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0513
Epoch 130/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0517
Epoch 131/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0516
Epoch 132/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0511
Epoch 133/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0507
Epoch 134/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0505
Epoch 135/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0513
Epoch 136/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0514
Epoch 137/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0505
Epoch 138/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0510
Epoch 139/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0513
Epoch 140/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0515
Epoch 141/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0514
Epoch 142/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0506
Epoch 143/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0508
Epoch 144/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0506
Epoch 145/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0510
Epoch 146/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0508
Epoch 147/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0508
Epoch 148/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0508
Epoch 149/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0513
Epoch 150/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0510
Epoch 151/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0511
Epoch 152/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0511
Epoch 153/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0506
Epoch 154/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0504
Epoch 155/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0509
Epoch 156/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0511
Epoch 157/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0510
Epoch 158/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0513
Epoch 159/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0503
Epoch 160/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0503
Epoch 161/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0506
Epoch 162/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0505
Epoch 163/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0513
Epoch 164/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0510
Epoch 165/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0496
Epoch 166/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0551
Epoch 167/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0498
Epoch 168/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0499
Epoch 169/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0516
Epoch 170/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0511
Epoch 171/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0511
Epoch 172/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0508
Epoch 173/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0507
Epoch 174/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0507
Epoch 175/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0502
Epoch 176/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0504
Epoch 177/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0502
Epoch 178/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0500
Epoch 179/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0500
Epoch 180/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0504
Epoch 181/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0510
Epoch 182/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0508
Epoch 183/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0503
Epoch 184/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0507
Epoch 185/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0504
Epoch 186/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0499
Epoch 187/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0504
Epoch 188/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0509
Epoch 189/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0513
Epoch 190/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0502
Epoch 191/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0500
Epoch 192/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0501
Epoch 193/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0506
Epoch 194/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0507
Epoch 195/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0503
Epoch 196/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0500
Epoch 197/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0510
Epoch 198/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0509
Epoch 199/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0503
Epoch 200/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0509
Epoch 1/200
3/3 [==============================] - 1s 273ms/step - loss: 0.2291
Epoch 2/200
3/3 [==============================] - 0s 68ms/step - loss: 0.1716
Epoch 3/200
3/3 [==============================] - 0s 62ms/step - loss: 0.1225
Epoch 4/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0898
Epoch 5/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0633
Epoch 6/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0494
Epoch 7/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0588
Epoch 8/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0599
Epoch 9/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0537
Epoch 10/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0522
Epoch 11/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0525
Epoch 12/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0522
Epoch 13/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0511
Epoch 14/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0508
Epoch 15/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0504
Epoch 16/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0519
Epoch 17/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0514
Epoch 18/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0519
Epoch 19/200
3/3 [==============================] - 0s 77ms/step - loss: 0.0519
Epoch 20/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0511
Epoch 21/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0514
Epoch 22/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0511
Epoch 23/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0512
Epoch 24/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0513
Epoch 25/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0512
Epoch 26/200
3/3 [==============================] - 0s 57ms/step - loss: 0.0511
Epoch 27/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0514
Epoch 28/200
3/3 [==============================] - 0s 77ms/step - loss: 0.0509
Epoch 29/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0508
Epoch 30/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0516
Epoch 31/200
3/3 [==============================] - 0s 77ms/step - loss: 0.0513
Epoch 32/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0513
Epoch 33/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0513
Epoch 34/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0513
Epoch 35/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0511
Epoch 36/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0514
Epoch 37/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0518
Epoch 38/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0510
Epoch 39/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0509
Epoch 40/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0507
Epoch 41/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0506
Epoch 42/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0508
Epoch 43/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0520
Epoch 44/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0522
Epoch 45/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0518
Epoch 46/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0510
Epoch 47/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0507
Epoch 48/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0507
Epoch 49/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0511
Epoch 50/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0511
Epoch 51/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0511
Epoch 52/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0510
Epoch 53/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0510
Epoch 54/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0514
Epoch 55/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0516
Epoch 56/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0517
Epoch 57/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0515
Epoch 58/200
3/3 [==============================] - 0s 78ms/step - loss: 0.0525
Epoch 59/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0511
Epoch 60/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0511
Epoch 61/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0519
Epoch 62/200
3/3 [==============================] - 0s 80ms/step - loss: 0.0511
Epoch 63/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0515
Epoch 64/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0511
Epoch 65/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0516
Epoch 66/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0510
Epoch 67/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0510
Epoch 68/200
3/3 [==============================] - 0s 57ms/step - loss: 0.0521
Epoch 69/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0515
Epoch 70/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0517
Epoch 71/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0513
Epoch 72/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0512
Epoch 73/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0510
Epoch 74/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0513
Epoch 75/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0514
Epoch 76/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0519
Epoch 77/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0514
Epoch 78/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0519
Epoch 79/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0511
Epoch 80/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0513
Epoch 81/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0511
Epoch 82/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0510
Epoch 83/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0518
Epoch 84/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0514
Epoch 85/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0512
Epoch 86/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0509
Epoch 87/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0512
Epoch 88/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0518
Epoch 89/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0520
Epoch 90/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0514
Epoch 91/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0510
Epoch 92/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0514
Epoch 93/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0509
Epoch 94/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0509
Epoch 95/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0511
Epoch 96/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0511
Epoch 97/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0509
Epoch 98/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0512
Epoch 99/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0506
Epoch 100/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0507
Epoch 101/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0506
Epoch 102/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0508
Epoch 103/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0508
Epoch 104/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0511
Epoch 105/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0508
Epoch 106/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0511
Epoch 107/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0511
Epoch 108/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0519
Epoch 109/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0512
Epoch 110/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0524
Epoch 111/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0516
Epoch 112/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0510
Epoch 113/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0504
Epoch 114/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0526
Epoch 115/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0519
Epoch 116/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0519
Epoch 117/200
3/3 [==============================] - 0s 83ms/step - loss: 0.0510
Epoch 118/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0505
Epoch 119/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0521
Epoch 120/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0510
Epoch 121/200
3/3 [==============================] - 0s 81ms/step - loss: 0.0514
Epoch 122/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0506
Epoch 123/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0503
Epoch 124/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0503
Epoch 125/200
3/3 [==============================] - 0s 77ms/step - loss: 0.0524
Epoch 126/200
3/3 [==============================] - 0s 80ms/step - loss: 0.0518
Epoch 127/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0510
Epoch 128/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0507
Epoch 129/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0506
Epoch 130/200
3/3 [==============================] - 0s 56ms/step - loss: 0.0502
Epoch 131/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0512
Epoch 132/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0507
Epoch 133/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0517
Epoch 134/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0508
Epoch 135/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0514
Epoch 136/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0511
Epoch 137/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0515
Epoch 138/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0505
Epoch 139/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0507
Epoch 140/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0505
Epoch 141/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0508
Epoch 142/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0502
Epoch 143/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0500
Epoch 144/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0515
Epoch 145/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0520
Epoch 146/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0510
Epoch 147/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0520
Epoch 148/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0510
Epoch 149/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0508
Epoch 150/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0512
Epoch 151/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0514
Epoch 152/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0512
Epoch 153/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0517
Epoch 154/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0515
Epoch 155/200
3/3 [==============================] - 0s 78ms/step - loss: 0.0508
Epoch 156/200
3/3 [==============================] - 0s 77ms/step - loss: 0.0515
Epoch 157/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0504
Epoch 158/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0504
Epoch 159/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0506
Epoch 160/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0505
Epoch 161/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0507
Epoch 162/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0504
Epoch 163/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0518
Epoch 164/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0505
Epoch 165/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0503
Epoch 166/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0506
Epoch 167/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0506
Epoch 168/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0503
Epoch 169/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0502
Epoch 170/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0500
Epoch 171/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0499
Epoch 172/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0508
Epoch 173/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0508
Epoch 174/200
3/3 [==============================] - 0s 57ms/step - loss: 0.0501
Epoch 175/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0503
Epoch 176/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0508
Epoch 177/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0502
Epoch 178/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0509
Epoch 179/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0510
Epoch 180/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0511
Epoch 181/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0500
Epoch 182/200
3/3 [==============================] - 0s 58ms/step - loss: 0.0503
Epoch 183/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0498
Epoch 184/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0499
Epoch 185/200
3/3 [==============================] - 0s 58ms/step - loss: 0.0497
Epoch 186/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0506
Epoch 187/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0505
Epoch 188/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0501
Epoch 189/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0502
Epoch 190/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0504
Epoch 191/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0501
Epoch 192/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0508
Epoch 193/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0497
Epoch 194/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0494
Epoch 195/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0493
Epoch 196/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0494
Epoch 197/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0499
Epoch 198/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0504
Epoch 199/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0512
Epoch 200/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0503
Epoch 1/200
3/3 [==============================] - 1s 274ms/step - loss: 0.2310
Epoch 2/200
3/3 [==============================] - 0s 66ms/step - loss: 0.1959
Epoch 3/200
3/3 [==============================] - 0s 64ms/step - loss: 0.1671
Epoch 4/200
3/3 [==============================] - 0s 61ms/step - loss: 0.1345
Epoch 5/200
3/3 [==============================] - 0s 63ms/step - loss: 0.1039
Epoch 6/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0749
Epoch 7/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0496
Epoch 8/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0519
Epoch 9/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0679
Epoch 10/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0599
Epoch 11/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0502
Epoch 12/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0497
Epoch 13/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0537
Epoch 14/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0537
Epoch 15/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0527
Epoch 16/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0515
Epoch 17/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0518
Epoch 18/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0505
Epoch 19/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0513
Epoch 20/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0523
Epoch 21/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0524
Epoch 22/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0517
Epoch 23/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0510
Epoch 24/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0510
Epoch 25/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0512
Epoch 26/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0513
Epoch 27/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0516
Epoch 28/200
3/3 [==============================] - 0s 58ms/step - loss: 0.0510
Epoch 29/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0521
Epoch 30/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0515
Epoch 31/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0520
Epoch 32/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0524
Epoch 33/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0513
Epoch 34/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0513
Epoch 35/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0509
Epoch 36/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0515
Epoch 37/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0511
Epoch 38/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0511
Epoch 39/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0513
Epoch 40/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0515
Epoch 41/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0516
Epoch 42/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0519
Epoch 43/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0512
Epoch 44/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0525
Epoch 45/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0514
Epoch 46/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0510
Epoch 47/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0509
Epoch 48/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0507
Epoch 49/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0507
Epoch 50/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0510
Epoch 51/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0517
Epoch 52/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0519
Epoch 53/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0516
Epoch 54/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0520
Epoch 55/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0509
Epoch 56/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0512
Epoch 57/200
3/3 [==============================] - 0s 77ms/step - loss: 0.0514
Epoch 58/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0510
Epoch 59/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0509
Epoch 60/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0508
Epoch 61/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0508
Epoch 62/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0517
Epoch 63/200
3/3 [==============================] - 0s 58ms/step - loss: 0.0526
Epoch 64/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0520
Epoch 65/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0513
Epoch 66/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0525
Epoch 67/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0512
Epoch 68/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0513
Epoch 69/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0510
Epoch 70/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0513
Epoch 71/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0512
Epoch 72/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0510
Epoch 73/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0508
Epoch 74/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0507
Epoch 75/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0518
Epoch 76/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0511
Epoch 77/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0508
Epoch 78/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0521
Epoch 79/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0515
Epoch 80/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0512
Epoch 81/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0508
Epoch 82/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0508
Epoch 83/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0508
Epoch 84/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0509
Epoch 85/200
3/3 [==============================] - 0s 58ms/step - loss: 0.0512
Epoch 86/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0508
Epoch 87/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0513
Epoch 88/200
3/3 [==============================] - 0s 57ms/step - loss: 0.0520
Epoch 89/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0513
Epoch 90/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0509
Epoch 91/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0516
Epoch 92/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0513
Epoch 93/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0511
Epoch 94/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0515
Epoch 95/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0522
Epoch 96/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0516
Epoch 97/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0516
Epoch 98/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0511
Epoch 99/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0509
Epoch 100/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0509
Epoch 101/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0512
Epoch 102/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0514
Epoch 103/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0508
Epoch 104/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0520
Epoch 105/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0514
Epoch 106/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0517
Epoch 107/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0508
Epoch 108/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0510
Epoch 109/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0506
Epoch 110/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0503
Epoch 111/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0505
Epoch 112/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0508
Epoch 113/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0512
Epoch 114/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0514
Epoch 115/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0514
Epoch 116/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0516
Epoch 117/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0507
Epoch 118/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0506
Epoch 119/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0506
Epoch 120/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0515
Epoch 121/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0511
Epoch 122/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0514
Epoch 123/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0512
Epoch 124/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0509
Epoch 125/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0506
Epoch 126/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0506
Epoch 127/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0518
Epoch 128/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0513
Epoch 129/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0511
Epoch 130/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0508
Epoch 131/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0511
Epoch 132/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0516
Epoch 133/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0510
Epoch 134/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0511
Epoch 135/200
3/3 [==============================] - 0s 57ms/step - loss: 0.0507
Epoch 136/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0512
Epoch 137/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0508
Epoch 138/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0509
Epoch 139/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0513
Epoch 140/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0508
Epoch 141/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0512
Epoch 142/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0506
Epoch 143/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0507
Epoch 144/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0508
Epoch 145/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0506
Epoch 146/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0508
Epoch 147/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0507
Epoch 148/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0511
Epoch 149/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0505
Epoch 150/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0513
Epoch 151/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0514
Epoch 152/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0517
Epoch 153/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0509
Epoch 154/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0515
Epoch 155/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0517
Epoch 156/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0518
Epoch 157/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0516
Epoch 158/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0509
Epoch 159/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0508
Epoch 160/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0514
Epoch 161/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0510
Epoch 162/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0506
Epoch 163/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0509
Epoch 164/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0509
Epoch 165/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0508
Epoch 166/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0507
Epoch 167/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0508
Epoch 168/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0509
Epoch 169/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0507
Epoch 170/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0504
Epoch 171/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0517
Epoch 172/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0512
Epoch 173/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0514
Epoch 174/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0505
Epoch 175/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0514
Epoch 176/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0506
Epoch 177/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0504
Epoch 178/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0500
Epoch 179/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0503
Epoch 180/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0523
Epoch 181/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0516
Epoch 182/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0508
Epoch 183/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0502
Epoch 184/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0513
Epoch 185/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0512
Epoch 186/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0518
Epoch 187/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0510
Epoch 188/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0510
Epoch 189/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0507
Epoch 190/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0507
Epoch 191/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0506
Epoch 192/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0506
Epoch 193/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0505
Epoch 194/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0501
Epoch 195/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0515
Epoch 196/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0508
Epoch 197/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0508
Epoch 198/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0508
Epoch 199/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0502
Epoch 200/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0501
Epoch 1/200
3/3 [==============================] - 1s 272ms/step - loss: 0.2198
Epoch 2/200
3/3 [==============================] - 0s 65ms/step - loss: 0.1847
Epoch 3/200
3/3 [==============================] - 0s 67ms/step - loss: 0.1474
Epoch 4/200
3/3 [==============================] - 0s 66ms/step - loss: 0.1176
Epoch 5/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0807
Epoch 6/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0589
Epoch 7/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0582
Epoch 8/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0623
Epoch 9/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0576
Epoch 10/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0534
Epoch 11/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0505
Epoch 12/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0528
Epoch 13/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0520
Epoch 14/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0511
Epoch 15/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0527
Epoch 16/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0510
Epoch 17/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0513
Epoch 18/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0514
Epoch 19/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0514
Epoch 20/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0517
Epoch 21/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0523
Epoch 22/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0513
Epoch 23/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0514
Epoch 24/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0512
Epoch 25/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0513
Epoch 26/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0521
Epoch 27/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0515
Epoch 28/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0518
Epoch 29/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0512
Epoch 30/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0512
Epoch 31/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0512
Epoch 32/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0517
Epoch 33/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0510
Epoch 34/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0513
Epoch 35/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0518
Epoch 36/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0513
Epoch 37/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0514
Epoch 38/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0518
Epoch 39/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0510
Epoch 40/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0508
Epoch 41/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0507
Epoch 42/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0507
Epoch 43/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0526
Epoch 44/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0518
Epoch 45/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0520
Epoch 46/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0516
Epoch 47/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0511
Epoch 48/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0514
Epoch 49/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0510
Epoch 50/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0517
Epoch 51/200
3/3 [==============================] - 0s 79ms/step - loss: 0.0514
Epoch 52/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0509
Epoch 53/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0509
Epoch 54/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0507
Epoch 55/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0509
Epoch 56/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0509
Epoch 57/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0516
Epoch 58/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0519
Epoch 59/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0511
Epoch 60/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0510
Epoch 61/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0518
Epoch 62/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0513
Epoch 63/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0512
Epoch 64/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0509
Epoch 65/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0508
Epoch 66/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0508
Epoch 67/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0508
Epoch 68/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0512
Epoch 69/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0512
Epoch 70/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0509
Epoch 71/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0513
Epoch 72/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0518
Epoch 73/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0516
Epoch 74/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0517
Epoch 75/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0512
Epoch 76/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0513
Epoch 77/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0513
Epoch 78/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0513
Epoch 79/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0508
Epoch 80/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0508
Epoch 81/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0509
Epoch 82/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0513
Epoch 83/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0519
Epoch 84/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0523
Epoch 85/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0509
Epoch 86/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0512
Epoch 87/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0509
Epoch 88/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0510
Epoch 89/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0508
Epoch 90/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0518
Epoch 91/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0510
Epoch 92/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0514
Epoch 93/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0520
Epoch 94/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0513
Epoch 95/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0511
Epoch 96/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0510
Epoch 97/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0508
Epoch 98/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0511
Epoch 99/200
3/3 [==============================] - 0s 57ms/step - loss: 0.0510
Epoch 100/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0508
Epoch 101/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0510
Epoch 102/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0510
Epoch 103/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0513
Epoch 104/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0518
Epoch 105/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0512
Epoch 106/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0511
Epoch 107/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0509
Epoch 108/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0519
Epoch 109/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0514
Epoch 110/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0514
Epoch 111/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0511
Epoch 112/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0512
Epoch 113/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0507
Epoch 114/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0519
Epoch 115/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0513
Epoch 116/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0511
Epoch 117/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0508
Epoch 118/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0509
Epoch 119/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0513
Epoch 120/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0508
Epoch 121/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0506
Epoch 122/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0514
Epoch 123/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0515
Epoch 124/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0507
Epoch 125/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0511
Epoch 126/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0509
Epoch 127/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0511
Epoch 128/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0514
Epoch 129/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0518
Epoch 130/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0517
Epoch 131/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0514
Epoch 132/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0505
Epoch 133/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0505
Epoch 134/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0506
Epoch 135/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0506
Epoch 136/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0508
Epoch 137/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0508
Epoch 138/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0506
Epoch 139/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0507
Epoch 140/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0515
Epoch 141/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0509
Epoch 142/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0516
Epoch 143/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0511
Epoch 144/200
3/3 [==============================] - 0s 77ms/step - loss: 0.0509
Epoch 145/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0506
Epoch 146/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0512
Epoch 147/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0505
Epoch 148/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0503
Epoch 149/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0502
Epoch 150/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0502
Epoch 151/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0504
Epoch 152/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0520
Epoch 153/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0519
Epoch 154/200
3/3 [==============================] - 0s 78ms/step - loss: 0.0528
Epoch 155/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0506
Epoch 156/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0505
Epoch 157/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0507
Epoch 158/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0508
Epoch 159/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0507
Epoch 160/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0516
Epoch 161/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0511
Epoch 162/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0510
Epoch 163/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0511
Epoch 164/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0512
Epoch 165/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0514
Epoch 166/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0513
Epoch 167/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0504
Epoch 168/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0510
Epoch 169/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0504
Epoch 170/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0505
Epoch 171/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0506
Epoch 172/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0502
Epoch 173/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0501
Epoch 174/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0503
Epoch 175/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0501
Epoch 176/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0503
Epoch 177/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0501
Epoch 178/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0509
Epoch 179/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0506
Epoch 180/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0514
Epoch 181/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0515
Epoch 182/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0510
Epoch 183/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0504
Epoch 184/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0498
Epoch 185/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0503
Epoch 186/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0504
Epoch 187/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0502
Epoch 188/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0501
Epoch 189/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0503
Epoch 190/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0501
Epoch 191/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0506
Epoch 192/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0506
Epoch 193/200
3/3 [==============================] - 0s 77ms/step - loss: 0.0503
Epoch 194/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0502
Epoch 195/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0506
Epoch 196/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0510
Epoch 197/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0511
Epoch 198/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0508
Epoch 199/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0508
Epoch 200/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0510
Epoch 1/200
3/3 [==============================] - 1s 304ms/step - loss: 0.2277
Epoch 2/200
3/3 [==============================] - 0s 68ms/step - loss: 0.2074
Epoch 3/200
3/3 [==============================] - 0s 69ms/step - loss: 0.1868
Epoch 4/200
3/3 [==============================] - 0s 66ms/step - loss: 0.1625
Epoch 5/200
3/3 [==============================] - 0s 70ms/step - loss: 0.1386
Epoch 6/200
3/3 [==============================] - 0s 67ms/step - loss: 0.1108
Epoch 7/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0705
Epoch 8/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0471
Epoch 9/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0739
Epoch 10/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0717
Epoch 11/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0555
Epoch 12/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0526
Epoch 13/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0527
Epoch 14/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0551
Epoch 15/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0548
Epoch 16/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0523
Epoch 17/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0504
Epoch 18/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0522
Epoch 19/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0524
Epoch 20/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0529
Epoch 21/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0527
Epoch 22/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0512
Epoch 23/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0522
Epoch 24/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0510
Epoch 25/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0513
Epoch 26/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0509
Epoch 27/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0510
Epoch 28/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0510
Epoch 29/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0510
Epoch 30/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0511
Epoch 31/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0517
Epoch 32/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0513
Epoch 33/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0510
Epoch 34/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0510
Epoch 35/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0511
Epoch 36/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0514
Epoch 37/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0514
Epoch 38/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0510
Epoch 39/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0514
Epoch 40/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0509
Epoch 41/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0511
Epoch 42/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0510
Epoch 43/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0512
Epoch 44/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0508
Epoch 45/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0515
Epoch 46/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0514
Epoch 47/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0512
Epoch 48/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0509
Epoch 49/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0509
Epoch 50/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0511
Epoch 51/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0521
Epoch 52/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0521
Epoch 53/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0514
Epoch 54/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0509
Epoch 55/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0517
Epoch 56/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0514
Epoch 57/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0513
Epoch 58/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0512
Epoch 59/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0510
Epoch 60/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0512
Epoch 61/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0511
Epoch 62/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0512
Epoch 63/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0512
Epoch 64/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0511
Epoch 65/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0513
Epoch 66/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0522
Epoch 67/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0509
Epoch 68/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0509
Epoch 69/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0512
Epoch 70/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0508
Epoch 71/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0524
Epoch 72/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0525
Epoch 73/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0524
Epoch 74/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0512
Epoch 75/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0510
Epoch 76/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0510
Epoch 77/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0517
Epoch 78/200
3/3 [==============================] - 0s 60ms/step - loss: 0.0510
Epoch 79/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0518
Epoch 80/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0512
Epoch 81/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0512
Epoch 82/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0519
Epoch 83/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0514
Epoch 84/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0514
Epoch 85/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0519
Epoch 86/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0510
Epoch 87/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0511
Epoch 88/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0509
Epoch 89/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0519
Epoch 90/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0511
Epoch 91/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0511
Epoch 92/200
3/3 [==============================] - 0s 77ms/step - loss: 0.0517
Epoch 93/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0516
Epoch 94/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0511
Epoch 95/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0510
Epoch 96/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0523
Epoch 97/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0508
Epoch 98/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0511
Epoch 99/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0509
Epoch 100/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0511
Epoch 101/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0518
Epoch 102/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0513
Epoch 103/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0511
Epoch 104/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0513
Epoch 105/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0512
Epoch 106/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0513
Epoch 107/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0511
Epoch 108/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0507
Epoch 109/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0509
Epoch 110/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0508
Epoch 111/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0506
Epoch 112/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0508
Epoch 113/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0523
Epoch 114/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0523
Epoch 115/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0511
Epoch 116/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0510
Epoch 117/200
3/3 [==============================] - 0s 80ms/step - loss: 0.0513
Epoch 118/200
3/3 [==============================] - 0s 85ms/step - loss: 0.0509
Epoch 119/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0510
Epoch 120/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0511
Epoch 121/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0507
Epoch 122/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0507
Epoch 123/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0508
Epoch 124/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0513
Epoch 125/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0515
Epoch 126/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0514
Epoch 127/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0514
Epoch 128/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0513
Epoch 129/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0514
Epoch 130/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0509
Epoch 131/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0509
Epoch 132/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0511
Epoch 133/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0509
Epoch 134/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0510
Epoch 135/200
3/3 [==============================] - 0s 59ms/step - loss: 0.0510
Epoch 136/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0512
Epoch 137/200
3/3 [==============================] - 0s 78ms/step - loss: 0.0507
Epoch 138/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0514
Epoch 139/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0511
Epoch 140/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0512
Epoch 141/200
3/3 [==============================] - 0s 75ms/step - loss: 0.0516
Epoch 142/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0511
Epoch 143/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0509
Epoch 144/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0515
Epoch 145/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0510
Epoch 146/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0510
Epoch 147/200
3/3 [==============================] - 0s 77ms/step - loss: 0.0507
Epoch 148/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0507
Epoch 149/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0512
Epoch 150/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0515
Epoch 151/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0515
Epoch 152/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0521
Epoch 153/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0508
Epoch 154/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0512
Epoch 155/200
3/3 [==============================] - 0s 86ms/step - loss: 0.0509
Epoch 156/200
3/3 [==============================] - 0s 78ms/step - loss: 0.0517
Epoch 157/200
3/3 [==============================] - 0s 76ms/step - loss: 0.0509
Epoch 158/200
3/3 [==============================] - 0s 73ms/step - loss: 0.0515
Epoch 159/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0515
Epoch 160/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0519
Epoch 161/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0510
Epoch 162/200
3/3 [==============================] - 0s 80ms/step - loss: 0.0507
Epoch 163/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0509
Epoch 164/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0506
Epoch 165/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0513
Epoch 166/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0510
Epoch 167/200
3/3 [==============================] - 0s 82ms/step - loss: 0.0511
Epoch 168/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0514
Epoch 169/200
3/3 [==============================] - 0s 70ms/step - loss: 0.0508
Epoch 170/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0518
Epoch 171/200
3/3 [==============================] - 0s 62ms/step - loss: 0.0516
Epoch 172/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0515
Epoch 173/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0511
Epoch 174/200
3/3 [==============================] - 0s 81ms/step - loss: 0.0509
Epoch 175/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0508
Epoch 176/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0509
Epoch 177/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0511
Epoch 178/200
3/3 [==============================] - 0s 77ms/step - loss: 0.0506
Epoch 179/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0507
Epoch 180/200
3/3 [==============================] - 0s 80ms/step - loss: 0.0514
Epoch 181/200
3/3 [==============================] - 0s 74ms/step - loss: 0.0515
Epoch 182/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0509
Epoch 183/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0510
Epoch 184/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0515
Epoch 185/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0513
Epoch 186/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0507
Epoch 187/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0511
Epoch 188/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0509
Epoch 189/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0511
Epoch 190/200
3/3 [==============================] - 0s 63ms/step - loss: 0.0509
Epoch 191/200
3/3 [==============================] - 0s 61ms/step - loss: 0.0506
Epoch 192/200
3/3 [==============================] - 0s 66ms/step - loss: 0.0511
Epoch 193/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0509
Epoch 194/200
3/3 [==============================] - 0s 72ms/step - loss: 0.0512
Epoch 195/200
3/3 [==============================] - 0s 64ms/step - loss: 0.0520
Epoch 196/200
3/3 [==============================] - 0s 65ms/step - loss: 0.0513
Epoch 197/200
3/3 [==============================] - 0s 69ms/step - loss: 0.0523
Epoch 198/200
3/3 [==============================] - 0s 71ms/step - loss: 0.0511
Epoch 199/200
3/3 [==============================] - 0s 68ms/step - loss: 0.0508
Epoch 200/200
3/3 [==============================] - 0s 67ms/step - loss: 0.0508
[[1053.45296748 1105.42930902 1089.93646095 1057.60278368 1094.10231684
1060.13253583 1073.65492227 1068.52087102 1123.15011519 1035.32847745
1088.42356151 1075.12384708 1050.5367015 1085.68120253 1086.44475708
1006.33654895 1135.58912182 1095.86415466 1064.91166824 1050.15099503]
[1084.68291927 1142.75165753 1122.05327925 1087.94457716 1134.15017726
1112.94525648 1115.73880258 1103.08600498 1157.51098512 1085.23558938
1124.19145806 1106.8316529 1083.41567491 1116.02724815 1111.99326231
1099.94878937 1182.22289593 1126.09017161 1100.91117167 1082.67429606]
[1082.25747903 1140.44258588 1128.48697721 1086.81227086 1133.0225537
1110.48859802 1112.94670975 1101.53171449 1158.14170078 1083.02668515
1122.16254301 1105.45412212 1084.14801125 1115.53238557 1113.26255199
1097.1272007 1181.5845372 1126.42146149 1099.77671239 1079.19717864]
[1082.21732594 1142.69201997 1134.64579339 1088.10179857 1134.60596325
1111.55141687 1114.56785028 1103.14219777 1162.62958874 1083.5579331
1123.86985659 1107.11896816 1086.57576595 1117.84339489 1110.41335135
1097.41209385 1185.83904207 1127.84237484 1102.11581812 1078.84661958]
[1090.04050373 1155.51344977 1145.90652758 1096.10609585 1145.74720702
1120.82737212 1126.8335958 1113.71893005 1175.94082162 1091.21463168
1135.22268453 1116.52830055 1094.66133825 1127.09938125 1118.46743631
1107.66539462 1201.25513639 1138.2263077 1112.59351329 1087.41435187]
[1072.40770064 1137.88193846 1134.56064301 1080.4422473 1132.21986872
1104.06792559 1108.03538433 1095.82023385 1163.51693968 1074.61773518
1116.77460152 1100.99648353 1078.79301037 1113.73970631 1109.1072457
1086.50294138 1185.34654777 1126.34955194 1094.95312094 1068.32468066]
[1075.37563816 1146.01342307 1138.83624709 1084.02512989 1141.48807324
1109.48913062 1115.14743264 1101.35021823 1173.85490641 1078.43674591
1123.6799637 1106.43507388 1081.80734462 1119.43288661 1116.64326971
1091.64603515 1197.42121626 1130.78070887 1101.20774474 1072.07188949]
[1083.79228504 1161.12670067 1148.24757099 1091.94696801 1151.51342719
1109.93485142 1126.73945672 1112.84433552 1189.84756892 1077.69622825
1137.39880962 1116.88246585 1088.96121458 1129.50652116 1122.62753299
1078.34443687 1213.45004884 1141.00160728 1112.6695135 1081.75384305]
[1102.14800518 1189.77802764 1164.94404284 1108.28157766 1179.66827685
1142.66230883 1155.58654346 1134.77077391 1215.28234294 1104.61246819
1163.52447511 1136.53955508 1104.5569213 1148.07113423 1132.12400726
1129.09788545 1249.32161141 1161.05091575 1134.58550993 1102.76499558]
[1094.96237875 1187.34257604 1161.43694517 1100.48552742 1174.06880503
1137.44186923 1149.85143385 1128.85255331 1212.98661978 1096.70510886
1159.34672399 1130.20731633 1096.59083942 1142.52462573 1128.16069301
1121.59512498 1249.16874979 1156.74678468 1127.04431877 1095.52909706]
[1062.78118633 1152.2323074 1141.09666138 1070.42066106 1141.03799266
1105.2758015 1111.85665569 1094.60713696 1184.81443862 1065.02007081
1123.36008462 1099.35758091 1068.04457789 1115.15168478 1108.18388616
1082.18669979 1215.49075146 1133.45067388 1091.6830126 1059.74682936]
[1063.64297062 1157.91832905 1146.16004104 1071.99556633 1146.35660817
1108.27576461 1115.62431784 1097.41047912 1192.80178118 1066.28241713
1127.50058917 1102.3720228 1069.67395358 1118.77003773 1111.35802539
1084.71128479 1224.96537299 1136.8590574 1094.74891073 1060.48438668]]
The model expects the input to be in the form:
[samples, timesteps, features]
In this model:
In [0]:
# Creating a matrix the size of the output matrix used during training
final_result = np.zeros((result.shape[0],1))
In [0]:
# Loop to make final predictions (takeing the mean from each repetition's prediction)
for i in range(result.shape[0]):
final_result[i] = np.mean(result[i,:])
In [0]:
# Final predictions
final_result
Out[0]:
array([[1075.01866591],
[1114.0202935 ],
[1113.09119896],
[1114.77945866],
[1125.049149 ],
[1109.22292534],
[1115.25715392],
[1123.81426932],
[1147.96856893],
[1142.55240456],
[1111.28993469],
[1114.89559582]])
In [0]:
# Adjusting shape
final_result = final_result.reshape((12,))
In [0]:
# Final predictions
final_result
Out[0]:
array([1075.01866591, 1114.0202935 , 1113.09119896, 1114.77945866,
1125.049149 , 1109.22292534, 1115.25715392, 1123.81426932,
1147.96856893, 1142.55240456, 1111.28993469, 1114.89559582])
In [0]:
# Plot
plt.figure(figsize = (20, 6))
# Original Series
plt.plot(sales_technology_monthly_mean.index,
sales_technology_monthly_mean.values,
label = 'Observed Values',
color = 'Blue')
# Predictions
plt.plot(sales_technology_monthly_mean[36:].index,
final_result,
label = 'Stacked LSTM Model Predictions',
color = 'Red')
plt.title('Stacked LSTM Model Predictions')
plt.xlabel('Data')
plt.ylabel('Sales')
plt.legend()
plt.show()
In [0]:
# Measugin model's performance
lstm_model_performance = performance(testset, final_result)
lstm_model_performance
The prediction MSE is 155874.09
The prediction RMSE is 394.81
The prediction MAPE is 35.56
Model comparison:
ARMA (3,1):
ARIMA (6,0,4):
SARIMA (0,0,1)x(1,1,0,12):
SARIMA (1,1,1)x(1,1,0,12):
SARIMAX (1,1,1)x(1,1,0,12):
Prophet:
Stacked LSTM:
Part 3: https://colab.research.google.com/drive/1s_zYkNY7x3TJw2ApRFGU-C1DfwuhNaZD
Part 2: https://colab.research.google.com/drive/10jJOdDusaRTQfSkKTyj3BM2OGVy_CP3N
This model will use differentiation in the time series, which mean that instead of predicting the value of each month's sales, the model will predict the change in sales from month to month.
Loading Packages
In [1]:
# Deactivating the multiple warning messages produced by the newest versions of Pandas and Matplotlib.
import sys
import warnings
import matplotlib.cbook
if not sys.warnoptions:
warnings.simplefilter("ignore")
warnings.simplefilter(action='ignore', category=FutureWarning)
warnings.filterwarnings("ignore", category=FutureWarning)
warnings.filterwarnings("ignore", category=matplotlib.cbook.mplDeprecation)
# Data manipulation imports
import numpy as np
import pandas as pd
import itertools
from pandas import Series
from pandas.tseries.offsets import DateOffset
# Data visualization imports
import matplotlib.pyplot as plt
import matplotlib as m
import seaborn as sns
# Predictive modeling imports
import sklearn
import keras
from sklearn.preprocessing import MinMaxScaler
from keras.preprocessing.sequence import TimeseriesGenerator
from keras.models import Sequential
from keras.layers.core import Dense, Activation
from keras.layers import LSTM
from keras.layers import Dropout
from keras import optimizers
import statsmodels
import statsmodels.api as sm
import statsmodels.tsa.api as smt
import statsmodels.stats as sms
from statsmodels.tsa.seasonal import seasonal_decompose
from statsmodels.tsa.stattools import adfuller
# Graphics formatting imports
m.rcParams['axes.labelsize'] = 14
m.rcParams['xtick.labelsize'] = 12
m.rcParams['ytick.labelsize'] = 12
m.rcParams['text.color'] = 'k'
from matplotlib.pylab import rcParams
rcParams['figure.figsize'] = 15,7
matplotlib.style.use('ggplot')
%matplotlib inline
Using TensorFlow backend.
Data
The dataset used is available publicly in Tableau's website, and represents the historic sales from the startup in which HappyMoonVC is considering investing.
Dataset source: https://community.tableau.com/docs/DOC-1236
HappyMoonVC wants to analyze and predict all data the in the "technology" category
In [0]:
# Load data
data = pd.read_csv('https://raw.githubusercontent.com/Matheus-Schmitz/Datasets/master/tableau_superstore_sales.csv')
In [3]:
# Shape
data.shape
Out[3]:
(9994, 21)
In [4]:
# Columns
data.columns
Out[4]:
Index(['Row ID', 'Order ID', 'Order Date', 'Ship Date', 'Ship Mode',
'Customer ID', 'Customer Name', 'Segment', 'Country', 'City', 'State',
'Postal Code', 'Region', 'Product ID', 'Category', 'Sub-Category',
'Product Name', 'Sales', 'Quantity', 'Discount', 'Profit'],
dtype='object')
Exploratory Analysis
In [5]:
# Visualizing data
data.head()
Out[5]:
| Row ID | Order ID | Order Date | Ship Date | Ship Mode | Customer ID | Customer Name | Segment | Country | City | State | Postal Code | Region | Product ID | Category | Sub-Category | Product Name | Sales | Quantity | Discount | Profit |
0 | 1 | CA-2016-152156 | 2016-11-08 | 2016-11-11 | Second Class | CG-12520 | Claire Gute | Consumer | United States | Henderson | Kentucky | 42420 | South | FUR-BO-10001798 | Furniture | Bookcases | Bush Somerset Collection Bookcase | 261.9600 | 2 | 0.00 | 41.9136 |
1 | 2 | CA-2016-152156 | 2016-11-08 | 2016-11-11 | Second Class | CG-12520 | Claire Gute | Consumer | United States | Henderson | Kentucky | 42420 | South | FUR-CH-10000454 | Furniture | Chairs | Hon Deluxe Fabric Upholstered Stacking Chairs,... | 731.9400 | 3 | 0.00 | 219.5820 |
2 | 3 | CA-2016-138688 | 2016-06-12 | 2016-06-16 | Second Class | DV-13045 | Darrin Van Huff | Corporate | United States | Los Angeles | California | 90036 | West | OFF-LA-10000240 | Office Supplies | Labels | Self-Adhesive Address Labels for Typewriters b... | 14.6200 | 2 | 0.00 | 6.8714 |
3 | 4 | US-2015-108966 | 2015-10-11 | 2015-10-18 | Standard Class | SO-20335 | Sean O'Donnell | Consumer | United States | Fort Lauderdale | Florida | 33311 | South | FUR-TA-10000577 | Furniture | Tables | Bretford CR4500 Series Slim Rectangular Table | 957.5775 | 5 | 0.45 | -383.0310 |
4 | 5 | US-2015-108966 | 2015-10-11 | 2015-10-18 | Standard Class | SO-20335 | Sean O'Donnell | Consumer | United States | Fort Lauderdale | Florida | 33311 | South | OFF-ST-10000760 | Office Supplies | Storage | Eldon Fold 'N Roll Cart System | 22.3680 | 2 | 0.20 | 2.5164 |
In [6]:
# Statistic summaries
data.describe()
Out[6]:
| Row ID | Postal Code | Sales | Quantity | Discount | Profit |
count | 9994.000000 | 9994.000000 | 9994.000000 | 9994.000000 | 9994.000000 | 9994.000000 |
mean | 4997.500000 | 55190.379428 | 229.858001 | 3.789574 | 0.156203 | 28.656896 |
std | 2885.163629 | 32063.693350 | 623.245101 | 2.225110 | 0.206452 | 234.260108 |
min | 1.000000 | 1040.000000 | 0.444000 | 1.000000 | 0.000000 | -6599.978000 |
25% | 2499.250000 | 23223.000000 | 17.280000 | 2.000000 | 0.000000 | 1.728750 |
50% | 4997.500000 | 56430.500000 | 54.490000 | 3.000000 | 0.200000 | 8.666500 |
75% | 7495.750000 | 90008.000000 | 209.940000 | 5.000000 | 0.200000 | 29.364000 |
max | 9994.000000 | 99301.000000 | 22638.480000 | 14.000000 | 0.800000 | 8399.976000 |
In [7]:
# Checking for missing values
data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 9994 entries, 0 to 9993
Data columns (total 21 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Row ID 9994 non-null int64
1 Order ID 9994 non-null object
2 Order Date 9994 non-null object
3 Ship Date 9994 non-null object
4 Ship Mode 9994 non-null object
5 Customer ID 9994 non-null object
6 Customer Name 9994 non-null object
7 Segment 9994 non-null object
8 Country 9994 non-null object
9 City 9994 non-null object
10 State 9994 non-null object
11 Postal Code 9994 non-null int64
12 Region 9994 non-null object
13 Product ID 9994 non-null object
14 Category 9994 non-null object
15 Sub-Category 9994 non-null object
16 Product Name 9994 non-null object
17 Sales 9994 non-null float64
18 Quantity 9994 non-null int64
19 Discount 9994 non-null float64
20 Profit 9994 non-null float64
dtypes: float64(3), int64(3), object(15)
memory usage: 1.6+ MB
In [0]:
# Setting column names to lowercase
data.columns = map(str.lower, data.columns)
In [0]:
# Substituting espaces and dashes in the column names by underscores
data.columns = data.columns.str.replace(" ", "_")
data.columns = data.columns.str.replace("-", "_")
In [10]:
# Checking
data.columns
Out[10]:
Index(['row_id', 'order_id', 'order_date', 'ship_date', 'ship_mode',
'customer_id', 'customer_name', 'segment', 'country', 'city', 'state',
'postal_code', 'region', 'product_id', 'category', 'sub_category',
'product_name', 'sales', 'quantity', 'discount', 'profit'],
dtype='object')
In [11]:
# Assess the unique values per column (to know whether a variable is categorical or not)
for c in data.columns:
if len(set(data[c])) < 20:
print(c,set(data[c]))
ship_mode {'Second Class', 'Standard Class', 'Same Day', 'First Class'}
segment {'Home Office', 'Consumer', 'Corporate'}
country {'United States'}
region {'Central', 'East', 'South', 'West'}
category {'Technology', 'Furniture', 'Office Supplies'}
sub_category {'Tables', 'Labels', 'Appliances', 'Fasteners', 'Copiers', 'Phones', 'Art', 'Storage', 'Bookcases', 'Binders', 'Furnishings', 'Envelopes', 'Chairs', 'Supplies', 'Machines', 'Accessories', 'Paper'}
quantity {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14}
discount {0.0, 0.8, 0.2, 0.3, 0.45, 0.5, 0.7, 0.6, 0.32, 0.1, 0.4, 0.15}
In [0]:
# Splitting data by category
df_technology = data.loc[data['category'] == 'Technology']
df_furniture = data.loc[data['category'] == 'Furniture']
df_office = data.loc[data['category'] == 'Office Supplies']
In [0]:
# Aggregating sales by order date
ts_technology = df_technology.groupby('order_date')['sales'].sum().reset_index()
ts_furniture = df_furniture.groupby('order_date')['sales'].sum().reset_index()
ts_office = df_office.groupby('order_date')['sales'].sum().reset_index()
In [14]:
# Checking dataset
ts_technology
Out[14]:
| order_date | sales |
0 | 2014-01-06 | 1147.940 |
1 | 2014-01-09 | 31.200 |
2 | 2014-01-13 | 646.740 |
3 | 2014-01-15 | 149.950 |
4 | 2014-01-16 | 124.200 |
... | ... | ... |
819 | 2017-12-25 | 401.208 |
820 | 2017-12-27 | 164.388 |
821 | 2017-12-28 | 14.850 |
822 | 2017-12-29 | 302.376 |
823 | 2017-12-30 | 90.930 |
824 rows × 2 columns
In [0]:
# Setting the date as index
ts_technology = ts_technology.set_index('order_date')
ts_furniture = ts_furniture.set_index('order_date')
ts_office = ts_office.set_index('order_date')
In [16]:
# Visualizing the series
ts_technology
Out[16]:
| sales |
order_date |
|
2014-01-06 | 1147.940 |
2014-01-09 | 31.200 |
2014-01-13 | 646.740 |
2014-01-15 | 149.950 |
2014-01-16 | 124.200 |
... | ... |
2017-12-25 | 401.208 |
2017-12-27 | 164.388 |
2017-12-28 | 14.850 |
2017-12-29 | 302.376 |
2017-12-30 | 90.930 |
824 rows × 1 columns
In [17]:
# Plotting sales in the technology category
sales_technology = ts_technology[['sales']]
ax = sales_technology.plot(color = 'b', figsize = (18,6))
plt.xlabel("Data")
plt.ylabel('Sales')
plt.title("Technology Category Sales")
plt.show()
In [18]:
# Plotting sales in the furniture category
sales_furniture = ts_furniture[['sales']]
ax = sales_furniture.plot(color = 'g', figsize = (18,6))
plt.xlabel("Data")
plt.ylabel('Sales')
plt.title("Furniture Category Sales")
plt.show()
In [19]:
# Plotting sales in the office category
sales_office = ts_office[['sales']]
ax = sales_office.plot(color = 'r', figsize = (18,6))
plt.xlabel("Data")
plt.ylabel('Sales')
plt.title("Office Category Sales")
plt.show()
Adjusting the index type to DateTimeIndex (which characterizes a time series), so that it's possible to aggregate monthly and obtain the mean monthly sales.
In [20]:
# Checking index type
type(sales_technology.index)
Out[20]:
pandas.core.indexes.base.Index
In [0]:
# Changing index type
sales_technology.index = pd.to_datetime(sales_technology.index)
sales_furniture.index = pd.to_datetime(sales_furniture.index)
sales_office.index = pd.to_datetime(sales_office.index)
In [22]:
# Checking index type
type(sales_technology.index)
Out[22]:
pandas.core.indexes.datetimes.DatetimeIndex
In [0]:
# Resampling data to a monthly frequency
# Done by setting the month as index and then calculating the mean of daily sales over the month
sales_technology_monthly_mean = sales_technology['sales'].resample('MS').mean()
sales_furniture_monthly_mean = sales_furniture['sales'].resample('MS').mean()
sales_office_monthly_mean = sales_office['sales'].resample('MS').mean()
In [24]:
# Verifying the resulting type
type(sales_technology_monthly_mean)
Out[24]:
pandas.core.series.Series
In [25]:
# Checking the data
sales_technology_monthly_mean
Out[25]:
order_date
2014-01-01 449.041429
2014-02-01 229.787143
2014-03-01 2031.948375
2014-04-01 613.028933
2014-05-01 564.698588
2014-06-01 766.905909
2014-07-01 533.608933
2014-08-01 708.435385
2014-09-01 2035.838133
2014-10-01 596.900900
2014-11-01 1208.056320
2014-12-01 1160.732889
2015-01-01 925.070800
2015-02-01 431.121250
2015-03-01 574.662333
2015-04-01 697.559500
2015-05-01 831.642857
2015-06-01 429.024400
2015-07-01 691.397733
2015-08-01 1108.902286
2015-09-01 950.856400
2015-10-01 594.716111
2015-11-01 1037.982652
2015-12-01 1619.637636
2016-01-01 374.671067
2016-02-01 1225.891400
2016-03-01 1135.150105
2016-04-01 875.911882
2016-05-01 1601.816167
2016-06-01 1023.259500
2016-07-01 829.312500
2016-08-01 483.620100
2016-09-01 1144.170300
2016-10-01 1970.835875
2016-11-01 1085.642360
2016-12-01 970.554870
2017-01-01 1195.218071
2017-02-01 430.501714
2017-03-01 1392.859250
2017-04-01 825.559133
2017-05-01 678.329400
2017-06-01 853.055000
2017-07-01 1054.996636
2017-08-01 978.842333
2017-09-01 1077.704120
2017-10-01 1493.439227
2017-11-01 1996.750920
2017-12-01 955.865652
Freq: MS, Name: sales, dtype: float64
In [26]:
# Plotting the monthly mean daily sales of technology products
sales_technology_monthly_mean.plot(figsize = (18, 6), color = 'blue')
plt.xlabel("Purchase Date")
plt.ylabel('Sales')
plt.title("Technology: Average Daily Sales per Month")
plt.show()
In [27]:
# Plotting the monthly mean daily sales of furniture products
sales_furniture_monthly_mean.plot(figsize = (18, 6), color = 'green')
plt.xlabel("Purchase Date")
plt.ylabel('Sales')
plt.title("Furniture: Average Daily Sales per Month")
plt.show()
In [28]:
# Plotting the monthly mean daily sales of office products
sales_office_monthly_mean.plot(figsize = (20, 6), color = 'red')
plt.xlabel("Purchase Date")
plt.ylabel('Sales')
plt.title("Office: Average Daily Sales per Month")
plt.show()
Decomposing the series to analyze its componentes.
In [29]:
# Decomposing the time series with the monthly mean daily sales of technology products
decomposition = seasonal_decompose(sales_technology_monthly_mean, freq = 12)
rcParams['figure.figsize'] = 18, 12
# Components
trend = decomposition.trend
seasonal = decomposition.seasonal
residual = decomposition.resid
# Plot
plt.subplot(411)
plt.plot(sales_technology_monthly_mean, label = 'Original Series')
plt.legend(loc = 'best')
plt.subplot(412)
plt.plot(trend, label = 'Trend')
plt.legend(loc = 'best')
plt.subplot(413)
plt.plot(seasonal, label = 'Seasonality')
plt.legend(loc = 'best')
plt.subplot(414)
plt.plot(residual, label = 'Residuals')
plt.legend(loc = 'best')
plt.tight_layout()
Stationarity test:
In [0]:
# Function to test stationarity
def stationarity_test(serie):
# Calculating moving statistics
rolmean = serie.rolling(window = 12).mean()
rolstd = serie.rolling(window = 12).std()
# Plot of moving statistics
orig = plt.plot(serie, color = 'blue', label = 'Original')
mean = plt.plot(rolmean, color = 'red', label = 'Moving Average')
std = plt.plot(rolstd, color = 'black', label = 'Standard Deviation')
plt.legend(loc = 'best')
plt.title('Moving Statistics - Mean and Standard Deviation')
plt.show()
# Dickey-Fuller test:
print('\nDickey-Fuller Test Result:\n')
# Test
dftest = adfuller(serie, autolag = 'AIC')
# Formatting the output
df_output = pd.Series(dftest[0:4], index = ['Test Statistic',
'P-value',
'Number of Lags Considered',
'Number of Observations Used'])
# Loop through each item in the test output
for key, value in dftest[4].items():
df_output['Critical Value (%s)'%key] = value
print (df_output)
# Testing p-value
print ('\nConclusion:')
if df_output[1] > 0.05:
print('\nThe p-value is above 0.05, therefore there are no evidences to reject the null hypothesis.')
print('This series probably is not stationary.')
else:
print('\nThe p-value is below 0.05, therefore there are evidences to reject the null hypothesis.')
print('This series probably is stationary.')
In [31]:
# Verifying if the series is stationary
stationarity_test(sales_technology_monthly_mean)
Dickey-Fuller Test Result:
Test Statistic -7.187969e+00
P-value 2.547334e-10
Number of Lags Considered 0.000000e+00
Number of Observations Used 4.700000e+01
Critical Value (1%) -3.577848e+00
Critical Value (5%) -2.925338e+00
Critical Value (10%) -2.600774e+00
dtype: float64
Conclusion:
The p-value is below 0.05, therefore there are evidences to reject the null hypothesis.
This series probably is stationary.
Function to Calculate Accuracy
In [0]:
# Function
def performance(y_true, y_pred):
mse = ((y_pred - y_true) ** 2).mean()
mape = np.mean(np.abs((y_true - y_pred) / y_true)) * 100
return( print('The prediction MSE is {}'.format(round(mse, 2))+
'\nThe prediction RMSE is {}'.format(round(np.sqrt(mse), 2))+
'\nThe prediction MAPE is {}'.format(round(mape, 2))))
Integrated LSTM Model
In [0]:
# Convert the time series into a dataset for supervised learning
# This is done by having a dataset where X is a given month's sales and Y is as the following month's sales
def timeseries_to_supervised(data, lag = 1):
df = pd.DataFrame(data)
columns = [df.shift(i) for i in range(1, lag + 1)]
columns.append(df)
df = pd.concat(columns, axis = 1)
df.fillna(0, inplace = True)
return df
In [0]:
# Create a differentiated series to make the time series stationary
def difference(dataset, interval = 1):
diff = list()
for i in range(interval, len(dataset)):
value = dataset[i] - dataset[i - interval]
diff.append(value)
return Series(diff)
In [0]:
# Invert the differentiated value
def inverse_difference(history, yhat, interval = 1):
return yhat + history[-interval]
In [0]:
# Differentiating the time series
raw_values = sales_technology_monthly_mean.values
diff_values = difference(raw_values, 1)
In [0]:
# Converting the time series to a supervised learning dataset
supervised = timeseries_to_supervised(diff_values, 1)
supervised_values = supervised.values
In [0]:
# Creating the training and testing datasets
trainset, testset = supervised_values[0:-12], supervised_values[-12:]
In [0]:
# Normalizing the data applying a scale on the [-1, 1] interval
# This interval was chosen since the differentiated series has both positive and negative values
def scale(train, test):
scaler = MinMaxScaler(feature_range = (-1, 1))
scaler = scaler.fit(train)
# Transform the training data
train = train.reshape(train.shape[0], train.shape[1])
train_scaled = scaler.transform(train)
# Transform the testing data
test = test.reshape(test.shape[0], test.shape[1])
test_scaled = scaler.transform(test)
return scaler, train_scaled, test_scaled
In [0]:
# Reserve the prediction's scale back to the original scale
def invert_scale(scaler, X, value):
new_row = [x for x in X] + [value]
array = np.array(new_row)
array = array.reshape(1, len(array))
inverted = scaler.inverse_transform(array)
return inverted[0, -1]
In [0]:
# Scaling the data
scaler, train_scaled, test_scaled = scale(trainset, testset)
In [0]:
# Number of repetitions
n_rep = 20
# Number of epochs
num_epochs = 200
# Number of inputs
# In a differentiated model the last difference is used to predict the next difference
# Hence n_input = 1
n_input = 1
# Length of the output sequency
# In a differentiated model the last difference is used to predict the next difference
# Hence n_output = 1
n_output = 1
# This series is univariate, therefore only 1 feature
n_features = 1
# Number of time series samples in each batch
size_batch = 10
In [0]:
# Function for the differentiated LSTM model
def train_lstm(train, nb_epoch):
# Adjusting the dataset shape
X, y = train[:, 0:-1], train[:, -1]
X = X.reshape(X.shape[0], 1, X.shape[1])
# Starting the model (Keras Sequential())
lstm_model = Sequential()
# Input LSTM layer
# Need return_sequences = True since I need the output to be another sequency which I can feed to the stacked layer
lstm_model.add(LSTM(40, activation = 'tanh', return_sequences = True, input_shape = (n_input, n_features)))
# Stacked LSTM layer
lstm_model.add(LSTM(40, activation = 'relu'))
# First hidden layer
lstm_model.add(Dense(50, activation = 'relu'))
# Second hidden layer
lstm_model.add(Dense(50, activation = 'relu'))
# Output layer
# Only need 1 neuron since this is a regression problem (aka I'm now merging the information to come up with a final prediction value)
lstm_model.add(Dense(1))
# Defining the loss function as MSE
# Defininf the optimization algorithm as ADAM
adam = optimizers.Adam(learning_rate = 0.001)
lstm_model.compile(optimizer = adam, loss = 'mean_squared_error')
lstm_model.fit(X, y, epochs = nb_epoch, verbose = 1)
return lstm_model
Training for 5000 epochs
In [44]:
# Training
lstm_model = train_lstm(train_scaled, 5000)
Streaming output truncated to the last 5000 lines.
35/35 [==============================] - 0s 536us/step - loss: 0.1122
Epoch 2502/5000
35/35 [==============================] - 0s 618us/step - loss: 0.1121
Epoch 2503/5000
35/35 [==============================] - 0s 627us/step - loss: 0.1120
Epoch 2504/5000
35/35 [==============================] - 0s 558us/step - loss: 0.1121
Epoch 2505/5000
35/35 [==============================] - 0s 624us/step - loss: 0.1123
Epoch 2506/5000
35/35 [==============================] - 0s 633us/step - loss: 0.1124
Epoch 2507/5000
35/35 [==============================] - 0s 593us/step - loss: 0.1122
Epoch 2508/5000
35/35 [==============================] - 0s 616us/step - loss: 0.1124
Epoch 2509/5000
35/35 [==============================] - 0s 629us/step - loss: 0.1124
Epoch 2510/5000
35/35 [==============================] - 0s 563us/step - loss: 0.1135
Epoch 2511/5000
35/35 [==============================] - 0s 577us/step - loss: 0.1150
Epoch 2512/5000
35/35 [==============================] - 0s 602us/step - loss: 0.1151
Epoch 2513/5000
35/35 [==============================] - 0s 588us/step - loss: 0.1151
Epoch 2514/5000
35/35 [==============================] - 0s 597us/step - loss: 0.1157
Epoch 2515/5000
35/35 [==============================] - 0s 600us/step - loss: 0.1146
Epoch 2516/5000
35/35 [==============================] - 0s 629us/step - loss: 0.1135
Epoch 2517/5000
35/35 [==============================] - 0s 559us/step - loss: 0.1126
Epoch 2518/5000
35/35 [==============================] - 0s 588us/step - loss: 0.1125
Epoch 2519/5000
35/35 [==============================] - 0s 605us/step - loss: 0.1124
Epoch 2520/5000
35/35 [==============================] - 0s 595us/step - loss: 0.1124
Epoch 2521/5000
35/35 [==============================] - 0s 590us/step - loss: 0.1124
Epoch 2522/5000
35/35 [==============================] - 0s 565us/step - loss: 0.1123
Epoch 2523/5000
35/35 [==============================] - 0s 635us/step - loss: 0.1123
Epoch 2524/5000
35/35 [==============================] - 0s 638us/step - loss: 0.1123
Epoch 2525/5000
35/35 [==============================] - 0s 652us/step - loss: 0.1124
Epoch 2526/5000
35/35 [==============================] - 0s 630us/step - loss: 0.1125
Epoch 2527/5000
35/35 [==============================] - 0s 643us/step - loss: 0.1127
Epoch 2528/5000
35/35 [==============================] - 0s 621us/step - loss: 0.1129
Epoch 2529/5000
35/35 [==============================] - 0s 563us/step - loss: 0.1133
Epoch 2530/5000
35/35 [==============================] - 0s 652us/step - loss: 0.1133
Epoch 2531/5000
35/35 [==============================] - 0s 586us/step - loss: 0.1130
Epoch 2532/5000
35/35 [==============================] - 0s 555us/step - loss: 0.1126
Epoch 2533/5000
35/35 [==============================] - 0s 713us/step - loss: 0.1125
Epoch 2534/5000
35/35 [==============================] - 0s 755us/step - loss: 0.1124
Epoch 2535/5000
35/35 [==============================] - 0s 884us/step - loss: 0.1122
Epoch 2536/5000
35/35 [==============================] - 0s 692us/step - loss: 0.1119
Epoch 2537/5000
35/35 [==============================] - 0s 622us/step - loss: 0.1118
Epoch 2538/5000
35/35 [==============================] - 0s 581us/step - loss: 0.1122
Epoch 2539/5000
35/35 [==============================] - 0s 588us/step - loss: 0.1119
Epoch 2540/5000
35/35 [==============================] - 0s 563us/step - loss: 0.1119
Epoch 2541/5000
35/35 [==============================] - 0s 572us/step - loss: 0.1120
Epoch 2542/5000
35/35 [==============================] - 0s 557us/step - loss: 0.1120
Epoch 2543/5000
35/35 [==============================] - 0s 568us/step - loss: 0.1120
Epoch 2544/5000
35/35 [==============================] - 0s 525us/step - loss: 0.1122
Epoch 2545/5000
35/35 [==============================] - 0s 659us/step - loss: 0.1122
Epoch 2546/5000
35/35 [==============================] - 0s 575us/step - loss: 0.1122
Epoch 2547/5000
35/35 [==============================] - 0s 615us/step - loss: 0.1124
Epoch 2548/5000
35/35 [==============================] - 0s 645us/step - loss: 0.1122
Epoch 2549/5000
35/35 [==============================] - 0s 626us/step - loss: 0.1122
Epoch 2550/5000
35/35 [==============================] - 0s 649us/step - loss: 0.1118
Epoch 2551/5000
35/35 [==============================] - 0s 596us/step - loss: 0.1118
Epoch 2552/5000
35/35 [==============================] - 0s 842us/step - loss: 0.1117
Epoch 2553/5000
35/35 [==============================] - 0s 509us/step - loss: 0.1115
Epoch 2554/5000
35/35 [==============================] - 0s 580us/step - loss: 0.1114
Epoch 2555/5000
35/35 [==============================] - 0s 572us/step - loss: 0.1124
Epoch 2556/5000
35/35 [==============================] - 0s 586us/step - loss: 0.1134
Epoch 2557/5000
35/35 [==============================] - 0s 580us/step - loss: 0.1144
Epoch 2558/5000
35/35 [==============================] - 0s 585us/step - loss: 0.1156
Epoch 2559/5000
35/35 [==============================] - 0s 587us/step - loss: 0.1166
Epoch 2560/5000
35/35 [==============================] - 0s 547us/step - loss: 0.1158
Epoch 2561/5000
35/35 [==============================] - 0s 574us/step - loss: 0.1142
Epoch 2562/5000
35/35 [==============================] - 0s 570us/step - loss: 0.1134
Epoch 2563/5000
35/35 [==============================] - 0s 557us/step - loss: 0.1142
Epoch 2564/5000
35/35 [==============================] - 0s 542us/step - loss: 0.1137
Epoch 2565/5000
35/35 [==============================] - 0s 597us/step - loss: 0.1139
Epoch 2566/5000
35/35 [==============================] - 0s 590us/step - loss: 0.1137
Epoch 2567/5000
35/35 [==============================] - 0s 601us/step - loss: 0.1135
Epoch 2568/5000
35/35 [==============================] - 0s 552us/step - loss: 0.1135
Epoch 2569/5000
35/35 [==============================] - 0s 576us/step - loss: 0.1133
Epoch 2570/5000
35/35 [==============================] - 0s 588us/step - loss: 0.1132
Epoch 2571/5000
35/35 [==============================] - 0s 711us/step - loss: 0.1130
Epoch 2572/5000
35/35 [==============================] - 0s 676us/step - loss: 0.1128
Epoch 2573/5000
35/35 [==============================] - 0s 619us/step - loss: 0.1127
Epoch 2574/5000
35/35 [==============================] - 0s 647us/step - loss: 0.1128
Epoch 2575/5000
35/35 [==============================] - 0s 719us/step - loss: 0.1127
Epoch 2576/5000
35/35 [==============================] - 0s 607us/step - loss: 0.1127
Epoch 2577/5000
35/35 [==============================] - 0s 571us/step - loss: 0.1125
Epoch 2578/5000
35/35 [==============================] - 0s 623us/step - loss: 0.1123
Epoch 2579/5000
35/35 [==============================] - 0s 782us/step - loss: 0.1120
Epoch 2580/5000
35/35 [==============================] - 0s 549us/step - loss: 0.1119
Epoch 2581/5000
35/35 [==============================] - 0s 604us/step - loss: 0.1117
Epoch 2582/5000
35/35 [==============================] - 0s 793us/step - loss: 0.1125
Epoch 2583/5000
35/35 [==============================] - 0s 724us/step - loss: 0.1125
Epoch 2584/5000
35/35 [==============================] - 0s 586us/step - loss: 0.1131
Epoch 2585/5000
35/35 [==============================] - 0s 591us/step - loss: 0.1138
Epoch 2586/5000
35/35 [==============================] - 0s 619us/step - loss: 0.1141
Epoch 2587/5000
35/35 [==============================] - 0s 519us/step - loss: 0.1143
Epoch 2588/5000
35/35 [==============================] - 0s 554us/step - loss: 0.1138
Epoch 2589/5000
35/35 [==============================] - 0s 557us/step - loss: 0.1133
Epoch 2590/5000
35/35 [==============================] - 0s 556us/step - loss: 0.1127
Epoch 2591/5000
35/35 [==============================] - 0s 564us/step - loss: 0.1125
Epoch 2592/5000
35/35 [==============================] - 0s 517us/step - loss: 0.1125
Epoch 2593/5000
35/35 [==============================] - 0s 614us/step - loss: 0.1134
Epoch 2594/5000
35/35 [==============================] - 0s 580us/step - loss: 0.1138
Epoch 2595/5000
35/35 [==============================] - 0s 587us/step - loss: 0.1138
Epoch 2596/5000
35/35 [==============================] - 0s 613us/step - loss: 0.1137
Epoch 2597/5000
35/35 [==============================] - 0s 570us/step - loss: 0.1135
Epoch 2598/5000
35/35 [==============================] - 0s 549us/step - loss: 0.1134
Epoch 2599/5000
35/35 [==============================] - 0s 627us/step - loss: 0.1133
Epoch 2600/5000
35/35 [==============================] - 0s 570us/step - loss: 0.1128
Epoch 2601/5000
35/35 [==============================] - 0s 553us/step - loss: 0.1125
Epoch 2602/5000
35/35 [==============================] - 0s 625us/step - loss: 0.1121
Epoch 2603/5000
35/35 [==============================] - 0s 583us/step - loss: 0.1122
Epoch 2604/5000
35/35 [==============================] - 0s 703us/step - loss: 0.1120
Epoch 2605/5000
35/35 [==============================] - 0s 673us/step - loss: 0.1119
Epoch 2606/5000
35/35 [==============================] - 0s 568us/step - loss: 0.1130
Epoch 2607/5000
35/35 [==============================] - 0s 586us/step - loss: 0.1126
Epoch 2608/5000
35/35 [==============================] - 0s 586us/step - loss: 0.1126
Epoch 2609/5000
35/35 [==============================] - 0s 580us/step - loss: 0.1126
Epoch 2610/5000
35/35 [==============================] - 0s 587us/step - loss: 0.1131
Epoch 2611/5000
35/35 [==============================] - 0s 530us/step - loss: 0.1138
Epoch 2612/5000
35/35 [==============================] - 0s 578us/step - loss: 0.1144
Epoch 2613/5000
35/35 [==============================] - 0s 600us/step - loss: 0.1150
Epoch 2614/5000
35/35 [==============================] - 0s 600us/step - loss: 0.1152
Epoch 2615/5000
35/35 [==============================] - 0s 573us/step - loss: 0.1152
Epoch 2616/5000
35/35 [==============================] - 0s 564us/step - loss: 0.1169
Epoch 2617/5000
35/35 [==============================] - 0s 592us/step - loss: 0.1185
Epoch 2618/5000
35/35 [==============================] - 0s 607us/step - loss: 0.1204
Epoch 2619/5000
35/35 [==============================] - 0s 607us/step - loss: 0.1218
Epoch 2620/5000
35/35 [==============================] - 0s 558us/step - loss: 0.1219
Epoch 2621/5000
35/35 [==============================] - 0s 614us/step - loss: 0.1211
Epoch 2622/5000
35/35 [==============================] - 0s 641us/step - loss: 0.1196
Epoch 2623/5000
35/35 [==============================] - 0s 593us/step - loss: 0.1175
Epoch 2624/5000
35/35 [==============================] - 0s 602us/step - loss: 0.1158
Epoch 2625/5000
35/35 [==============================] - 0s 596us/step - loss: 0.1145
Epoch 2626/5000
35/35 [==============================] - 0s 794us/step - loss: 0.1138
Epoch 2627/5000
35/35 [==============================] - 0s 530us/step - loss: 0.1134
Epoch 2628/5000
35/35 [==============================] - 0s 617us/step - loss: 0.1131
Epoch 2629/5000
35/35 [==============================] - 0s 701us/step - loss: 0.1133
Epoch 2630/5000
35/35 [==============================] - 0s 711us/step - loss: 0.1134
Epoch 2631/5000
35/35 [==============================] - 0s 644us/step - loss: 0.1134
Epoch 2632/5000
35/35 [==============================] - 0s 572us/step - loss: 0.1134
Epoch 2633/5000
35/35 [==============================] - 0s 576us/step - loss: 0.1134
Epoch 2634/5000
35/35 [==============================] - 0s 581us/step - loss: 0.1130
Epoch 2635/5000
35/35 [==============================] - 0s 550us/step - loss: 0.1128
Epoch 2636/5000
35/35 [==============================] - 0s 600us/step - loss: 0.1131
Epoch 2637/5000
35/35 [==============================] - 0s 579us/step - loss: 0.1128
Epoch 2638/5000
35/35 [==============================] - 0s 564us/step - loss: 0.1126
Epoch 2639/5000
35/35 [==============================] - 0s 637us/step - loss: 0.1126
Epoch 2640/5000
35/35 [==============================] - 0s 615us/step - loss: 0.1124
Epoch 2641/5000
35/35 [==============================] - 0s 517us/step - loss: 0.1124
Epoch 2642/5000
35/35 [==============================] - 0s 587us/step - loss: 0.1123
Epoch 2643/5000
35/35 [==============================] - 0s 596us/step - loss: 0.1132
Epoch 2644/5000
35/35 [==============================] - 0s 682us/step - loss: 0.1136
Epoch 2645/5000
35/35 [==============================] - 0s 685us/step - loss: 0.1143
Epoch 2646/5000
35/35 [==============================] - 0s 635us/step - loss: 0.1157
Epoch 2647/5000
35/35 [==============================] - 0s 598us/step - loss: 0.1173
Epoch 2648/5000
35/35 [==============================] - 0s 616us/step - loss: 0.1181
Epoch 2649/5000
35/35 [==============================] - 0s 620us/step - loss: 0.1181
Epoch 2650/5000
35/35 [==============================] - 0s 697us/step - loss: 0.1167
Epoch 2651/5000
35/35 [==============================] - 0s 656us/step - loss: 0.1149
Epoch 2652/5000
35/35 [==============================] - 0s 645us/step - loss: 0.1142
Epoch 2653/5000
35/35 [==============================] - 0s 607us/step - loss: 0.1140
Epoch 2654/5000
35/35 [==============================] - 0s 617us/step - loss: 0.1142
Epoch 2655/5000
35/35 [==============================] - 0s 583us/step - loss: 0.1155
Epoch 2656/5000
35/35 [==============================] - 0s 571us/step - loss: 0.1157
Epoch 2657/5000
35/35 [==============================] - 0s 547us/step - loss: 0.1158
Epoch 2658/5000
35/35 [==============================] - 0s 612us/step - loss: 0.1161
Epoch 2659/5000
35/35 [==============================] - 0s 592us/step - loss: 0.1163
Epoch 2660/5000
35/35 [==============================] - 0s 583us/step - loss: 0.1174
Epoch 2661/5000
35/35 [==============================] - 0s 589us/step - loss: 0.1191
Epoch 2662/5000
35/35 [==============================] - 0s 520us/step - loss: 0.1212
Epoch 2663/5000
35/35 [==============================] - 0s 610us/step - loss: 0.1219
Epoch 2664/5000
35/35 [==============================] - 0s 602us/step - loss: 0.1207
Epoch 2665/5000
35/35 [==============================] - 0s 568us/step - loss: 0.1178
Epoch 2666/5000
35/35 [==============================] - 0s 603us/step - loss: 0.1159
Epoch 2667/5000
35/35 [==============================] - 0s 539us/step - loss: 0.1149
Epoch 2668/5000
35/35 [==============================] - 0s 583us/step - loss: 0.1151
Epoch 2669/5000
35/35 [==============================] - 0s 572us/step - loss: 0.1146
Epoch 2670/5000
35/35 [==============================] - 0s 580us/step - loss: 0.1144
Epoch 2671/5000
35/35 [==============================] - 0s 671us/step - loss: 0.1145
Epoch 2672/5000
35/35 [==============================] - 0s 875us/step - loss: 0.1145
Epoch 2673/5000
35/35 [==============================] - 0s 541us/step - loss: 0.1144
Epoch 2674/5000
35/35 [==============================] - 0s 581us/step - loss: 0.1146
Epoch 2675/5000
35/35 [==============================] - 0s 585us/step - loss: 0.1145
Epoch 2676/5000
35/35 [==============================] - 0s 886us/step - loss: 0.1142
Epoch 2677/5000
35/35 [==============================] - 0s 589us/step - loss: 0.1134
Epoch 2678/5000
35/35 [==============================] - 0s 533us/step - loss: 0.1127
Epoch 2679/5000
35/35 [==============================] - 0s 650us/step - loss: 0.1127
Epoch 2680/5000
35/35 [==============================] - 0s 515us/step - loss: 0.1136
Epoch 2681/5000
35/35 [==============================] - 0s 598us/step - loss: 0.1144
Epoch 2682/5000
35/35 [==============================] - 0s 552us/step - loss: 0.1139
Epoch 2683/5000
35/35 [==============================] - 0s 563us/step - loss: 0.1134
Epoch 2684/5000
35/35 [==============================] - 0s 698us/step - loss: 0.1131
Epoch 2685/5000
35/35 [==============================] - 0s 585us/step - loss: 0.1129
Epoch 2686/5000
35/35 [==============================] - 0s 531us/step - loss: 0.1128
Epoch 2687/5000
35/35 [==============================] - 0s 564us/step - loss: 0.1128
Epoch 2688/5000
35/35 [==============================] - 0s 652us/step - loss: 0.1129
Epoch 2689/5000
35/35 [==============================] - 0s 614us/step - loss: 0.1130
Epoch 2690/5000
35/35 [==============================] - 0s 617us/step - loss: 0.1133
Epoch 2691/5000
35/35 [==============================] - 0s 623us/step - loss: 0.1136
Epoch 2692/5000
35/35 [==============================] - 0s 586us/step - loss: 0.1135
Epoch 2693/5000
35/35 [==============================] - 0s 586us/step - loss: 0.1134
Epoch 2694/5000
35/35 [==============================] - 0s 610us/step - loss: 0.1129
Epoch 2695/5000
35/35 [==============================] - 0s 606us/step - loss: 0.1122
Epoch 2696/5000
35/35 [==============================] - 0s 577us/step - loss: 0.1119
Epoch 2697/5000
35/35 [==============================] - 0s 716us/step - loss: 0.1115
Epoch 2698/5000
35/35 [==============================] - 0s 773us/step - loss: 0.1112
Epoch 2699/5000
35/35 [==============================] - 0s 652us/step - loss: 0.1112
Epoch 2700/5000
35/35 [==============================] - 0s 640us/step - loss: 0.1115
Epoch 2701/5000
35/35 [==============================] - 0s 618us/step - loss: 0.1117
Epoch 2702/5000
35/35 [==============================] - 0s 575us/step - loss: 0.1117
Epoch 2703/5000
35/35 [==============================] - 0s 648us/step - loss: 0.1118
Epoch 2704/5000
35/35 [==============================] - 0s 564us/step - loss: 0.1117
Epoch 2705/5000
35/35 [==============================] - 0s 569us/step - loss: 0.1117
Epoch 2706/5000
35/35 [==============================] - 0s 608us/step - loss: 0.1115
Epoch 2707/5000
35/35 [==============================] - 0s 686us/step - loss: 0.1112
Epoch 2708/5000
35/35 [==============================] - 0s 599us/step - loss: 0.1110
Epoch 2709/5000
35/35 [==============================] - 0s 590us/step - loss: 0.1110
Epoch 2710/5000
35/35 [==============================] - 0s 573us/step - loss: 0.1113
Epoch 2711/5000
35/35 [==============================] - 0s 573us/step - loss: 0.1113
Epoch 2712/5000
35/35 [==============================] - 0s 586us/step - loss: 0.1115
Epoch 2713/5000
35/35 [==============================] - 0s 595us/step - loss: 0.1120
Epoch 2714/5000
35/35 [==============================] - 0s 862us/step - loss: 0.1124
Epoch 2715/5000
35/35 [==============================] - 0s 717us/step - loss: 0.1126
Epoch 2716/5000
35/35 [==============================] - 0s 609us/step - loss: 0.1127
Epoch 2717/5000
35/35 [==============================] - 0s 685us/step - loss: 0.1125
Epoch 2718/5000
35/35 [==============================] - 0s 628us/step - loss: 0.1128
Epoch 2719/5000
35/35 [==============================] - 0s 601us/step - loss: 0.1125
Epoch 2720/5000
35/35 [==============================] - 0s 634us/step - loss: 0.1126
Epoch 2721/5000
35/35 [==============================] - 0s 810us/step - loss: 0.1124
Epoch 2722/5000
35/35 [==============================] - 0s 725us/step - loss: 0.1120
Epoch 2723/5000
35/35 [==============================] - 0s 589us/step - loss: 0.1119
Epoch 2724/5000
35/35 [==============================] - 0s 553us/step - loss: 0.1119
Epoch 2725/5000
35/35 [==============================] - 0s 593us/step - loss: 0.1120
Epoch 2726/5000
35/35 [==============================] - 0s 582us/step - loss: 0.1118
Epoch 2727/5000
35/35 [==============================] - 0s 566us/step - loss: 0.1114
Epoch 2728/5000
35/35 [==============================] - 0s 608us/step - loss: 0.1112
Epoch 2729/5000
35/35 [==============================] - 0s 618us/step - loss: 0.1112
Epoch 2730/5000
35/35 [==============================] - 0s 575us/step - loss: 0.1109
Epoch 2731/5000
35/35 [==============================] - 0s 604us/step - loss: 0.1107
Epoch 2732/5000
35/35 [==============================] - 0s 593us/step - loss: 0.1109
Epoch 2733/5000
35/35 [==============================] - 0s 552us/step - loss: 0.1112
Epoch 2734/5000
35/35 [==============================] - 0s 546us/step - loss: 0.1123
Epoch 2735/5000
35/35 [==============================] - 0s 630us/step - loss: 0.1136
Epoch 2736/5000
35/35 [==============================] - 0s 537us/step - loss: 0.1131
Epoch 2737/5000
35/35 [==============================] - 0s 555us/step - loss: 0.1120
Epoch 2738/5000
35/35 [==============================] - 0s 602us/step - loss: 0.1111
Epoch 2739/5000
35/35 [==============================] - 0s 569us/step - loss: 0.1111
Epoch 2740/5000
35/35 [==============================] - 0s 610us/step - loss: 0.1129
Epoch 2741/5000
35/35 [==============================] - 0s 643us/step - loss: 0.1155
Epoch 2742/5000
35/35 [==============================] - 0s 555us/step - loss: 0.1187
Epoch 2743/5000
35/35 [==============================] - 0s 543us/step - loss: 0.1201
Epoch 2744/5000
35/35 [==============================] - 0s 620us/step - loss: 0.1191
Epoch 2745/5000
35/35 [==============================] - 0s 534us/step - loss: 0.1169
Epoch 2746/5000
35/35 [==============================] - 0s 579us/step - loss: 0.1156
Epoch 2747/5000
35/35 [==============================] - 0s 539us/step - loss: 0.1142
Epoch 2748/5000
35/35 [==============================] - 0s 603us/step - loss: 0.1134
Epoch 2749/5000
35/35 [==============================] - 0s 543us/step - loss: 0.1129
Epoch 2750/5000
35/35 [==============================] - 0s 618us/step - loss: 0.1127
Epoch 2751/5000
35/35 [==============================] - 0s 555us/step - loss: 0.1128
Epoch 2752/5000
35/35 [==============================] - 0s 556us/step - loss: 0.1124
Epoch 2753/5000
35/35 [==============================] - 0s 570us/step - loss: 0.1124
Epoch 2754/5000
35/35 [==============================] - 0s 608us/step - loss: 0.1119
Epoch 2755/5000
35/35 [==============================] - 0s 545us/step - loss: 0.1118
Epoch 2756/5000
35/35 [==============================] - 0s 584us/step - loss: 0.1116
Epoch 2757/5000
35/35 [==============================] - 0s 614us/step - loss: 0.1117
Epoch 2758/5000
35/35 [==============================] - 0s 653us/step - loss: 0.1120
Epoch 2759/5000
35/35 [==============================] - 0s 678us/step - loss: 0.1119
Epoch 2760/5000
35/35 [==============================] - 0s 564us/step - loss: 0.1115
Epoch 2761/5000
35/35 [==============================] - 0s 561us/step - loss: 0.1117
Epoch 2762/5000
35/35 [==============================] - 0s 642us/step - loss: 0.1121
Epoch 2763/5000
35/35 [==============================] - 0s 578us/step - loss: 0.1128
Epoch 2764/5000
35/35 [==============================] - 0s 686us/step - loss: 0.1135
Epoch 2765/5000
35/35 [==============================] - 0s 598us/step - loss: 0.1137
Epoch 2766/5000
35/35 [==============================] - 0s 590us/step - loss: 0.1137
Epoch 2767/5000
35/35 [==============================] - 0s 614us/step - loss: 0.1134
Epoch 2768/5000
35/35 [==============================] - 0s 587us/step - loss: 0.1132
Epoch 2769/5000
35/35 [==============================] - 0s 728us/step - loss: 0.1126
Epoch 2770/5000
35/35 [==============================] - 0s 615us/step - loss: 0.1119
Epoch 2771/5000
35/35 [==============================] - 0s 586us/step - loss: 0.1116
Epoch 2772/5000
35/35 [==============================] - 0s 576us/step - loss: 0.1118
Epoch 2773/5000
35/35 [==============================] - 0s 568us/step - loss: 0.1118
Epoch 2774/5000
35/35 [==============================] - 0s 606us/step - loss: 0.1117
Epoch 2775/5000
35/35 [==============================] - 0s 559us/step - loss: 0.1119
Epoch 2776/5000
35/35 [==============================] - 0s 640us/step - loss: 0.1117
Epoch 2777/5000
35/35 [==============================] - 0s 688us/step - loss: 0.1116
Epoch 2778/5000
35/35 [==============================] - 0s 638us/step - loss: 0.1114
Epoch 2779/5000
35/35 [==============================] - 0s 592us/step - loss: 0.1118
Epoch 2780/5000
35/35 [==============================] - 0s 716us/step - loss: 0.1120
Epoch 2781/5000
35/35 [==============================] - 0s 533us/step - loss: 0.1123
Epoch 2782/5000
35/35 [==============================] - 0s 580us/step - loss: 0.1122
Epoch 2783/5000
35/35 [==============================] - 0s 639us/step - loss: 0.1118
Epoch 2784/5000
35/35 [==============================] - 0s 536us/step - loss: 0.1114
Epoch 2785/5000
35/35 [==============================] - 0s 569us/step - loss: 0.1112
Epoch 2786/5000
35/35 [==============================] - 0s 665us/step - loss: 0.1109
Epoch 2787/5000
35/35 [==============================] - 0s 630us/step - loss: 0.1105
Epoch 2788/5000
35/35 [==============================] - 0s 608us/step - loss: 0.1109
Epoch 2789/5000
35/35 [==============================] - 0s 589us/step - loss: 0.1111
Epoch 2790/5000
35/35 [==============================] - 0s 638us/step - loss: 0.1117
Epoch 2791/5000
35/35 [==============================] - 0s 609us/step - loss: 0.1116
Epoch 2792/5000
35/35 [==============================] - 0s 568us/step - loss: 0.1117
Epoch 2793/5000
35/35 [==============================] - 0s 584us/step - loss: 0.1120
Epoch 2794/5000
35/35 [==============================] - 0s 682us/step - loss: 0.1129
Epoch 2795/5000
35/35 [==============================] - 0s 681us/step - loss: 0.1133
Epoch 2796/5000
35/35 [==============================] - 0s 527us/step - loss: 0.1131
Epoch 2797/5000
35/35 [==============================] - 0s 598us/step - loss: 0.1126
Epoch 2798/5000
35/35 [==============================] - 0s 629us/step - loss: 0.1123
Epoch 2799/5000
35/35 [==============================] - 0s 577us/step - loss: 0.1120
Epoch 2800/5000
35/35 [==============================] - 0s 665us/step - loss: 0.1119
Epoch 2801/5000
35/35 [==============================] - 0s 587us/step - loss: 0.1118
Epoch 2802/5000
35/35 [==============================] - 0s 590us/step - loss: 0.1116
Epoch 2803/5000
35/35 [==============================] - 0s 591us/step - loss: 0.1114
Epoch 2804/5000
35/35 [==============================] - 0s 585us/step - loss: 0.1112
Epoch 2805/5000
35/35 [==============================] - 0s 595us/step - loss: 0.1110
Epoch 2806/5000
35/35 [==============================] - 0s 569us/step - loss: 0.1110
Epoch 2807/5000
35/35 [==============================] - 0s 552us/step - loss: 0.1111
Epoch 2808/5000
35/35 [==============================] - 0s 508us/step - loss: 0.1111
Epoch 2809/5000
35/35 [==============================] - 0s 653us/step - loss: 0.1111
Epoch 2810/5000
35/35 [==============================] - 0s 528us/step - loss: 0.1112
Epoch 2811/5000
35/35 [==============================] - 0s 652us/step - loss: 0.1113
Epoch 2812/5000
35/35 [==============================] - 0s 522us/step - loss: 0.1115
Epoch 2813/5000
35/35 [==============================] - 0s 618us/step - loss: 0.1113
Epoch 2814/5000
35/35 [==============================] - 0s 514us/step - loss: 0.1113
Epoch 2815/5000
35/35 [==============================] - 0s 606us/step - loss: 0.1111
Epoch 2816/5000
35/35 [==============================] - 0s 595us/step - loss: 0.1110
Epoch 2817/5000
35/35 [==============================] - 0s 710us/step - loss: 0.1108
Epoch 2818/5000
35/35 [==============================] - 0s 604us/step - loss: 0.1108
Epoch 2819/5000
35/35 [==============================] - 0s 525us/step - loss: 0.1107
Epoch 2820/5000
35/35 [==============================] - 0s 581us/step - loss: 0.1107
Epoch 2821/5000
35/35 [==============================] - 0s 553us/step - loss: 0.1106
Epoch 2822/5000
35/35 [==============================] - 0s 675us/step - loss: 0.1105
Epoch 2823/5000
35/35 [==============================] - 0s 595us/step - loss: 0.1106
Epoch 2824/5000
35/35 [==============================] - 0s 598us/step - loss: 0.1107
Epoch 2825/5000
35/35 [==============================] - 0s 576us/step - loss: 0.1110
Epoch 2826/5000
35/35 [==============================] - 0s 567us/step - loss: 0.1115
Epoch 2827/5000
35/35 [==============================] - 0s 539us/step - loss: 0.1117
Epoch 2828/5000
35/35 [==============================] - 0s 641us/step - loss: 0.1112
Epoch 2829/5000
35/35 [==============================] - 0s 592us/step - loss: 0.1111
Epoch 2830/5000
35/35 [==============================] - 0s 576us/step - loss: 0.1109
Epoch 2831/5000
35/35 [==============================] - 0s 619us/step - loss: 0.1107
Epoch 2832/5000
35/35 [==============================] - 0s 608us/step - loss: 0.1109
Epoch 2833/5000
35/35 [==============================] - 0s 516us/step - loss: 0.1104
Epoch 2834/5000
35/35 [==============================] - 0s 593us/step - loss: 0.1109
Epoch 2835/5000
35/35 [==============================] - 0s 617us/step - loss: 0.1113
Epoch 2836/5000
35/35 [==============================] - 0s 560us/step - loss: 0.1116
Epoch 2837/5000
35/35 [==============================] - 0s 567us/step - loss: 0.1109
Epoch 2838/5000
35/35 [==============================] - 0s 518us/step - loss: 0.1103
Epoch 2839/5000
35/35 [==============================] - 0s 560us/step - loss: 0.1102
Epoch 2840/5000
35/35 [==============================] - 0s 543us/step - loss: 0.1103
Epoch 2841/5000
35/35 [==============================] - 0s 587us/step - loss: 0.1107
Epoch 2842/5000
35/35 [==============================] - 0s 634us/step - loss: 0.1113
Epoch 2843/5000
35/35 [==============================] - 0s 537us/step - loss: 0.1118
Epoch 2844/5000
35/35 [==============================] - 0s 582us/step - loss: 0.1122
Epoch 2845/5000
35/35 [==============================] - 0s 633us/step - loss: 0.1122
Epoch 2846/5000
35/35 [==============================] - 0s 630us/step - loss: 0.1121
Epoch 2847/5000
35/35 [==============================] - 0s 575us/step - loss: 0.1127
Epoch 2848/5000
35/35 [==============================] - 0s 582us/step - loss: 0.1134
Epoch 2849/5000
35/35 [==============================] - 0s 587us/step - loss: 0.1144
Epoch 2850/5000
35/35 [==============================] - 0s 577us/step - loss: 0.1152
Epoch 2851/5000
35/35 [==============================] - 0s 583us/step - loss: 0.1155
Epoch 2852/5000
35/35 [==============================] - 0s 530us/step - loss: 0.1157
Epoch 2853/5000
35/35 [==============================] - 0s 539us/step - loss: 0.1149
Epoch 2854/5000
35/35 [==============================] - 0s 596us/step - loss: 0.1138
Epoch 2855/5000
35/35 [==============================] - 0s 528us/step - loss: 0.1126
Epoch 2856/5000
35/35 [==============================] - 0s 669us/step - loss: 0.1120
Epoch 2857/5000
35/35 [==============================] - 0s 597us/step - loss: 0.1115
Epoch 2858/5000
35/35 [==============================] - 0s 701us/step - loss: 0.1111
Epoch 2859/5000
35/35 [==============================] - 0s 634us/step - loss: 0.1104
Epoch 2860/5000
35/35 [==============================] - 0s 587us/step - loss: 0.1107
Epoch 2861/5000
35/35 [==============================] - 0s 591us/step - loss: 0.1119
Epoch 2862/5000
35/35 [==============================] - 0s 595us/step - loss: 0.1115
Epoch 2863/5000
35/35 [==============================] - 0s 583us/step - loss: 0.1112
Epoch 2864/5000
35/35 [==============================] - 0s 1ms/step - loss: 0.1108
Epoch 2865/5000
35/35 [==============================] - 0s 590us/step - loss: 0.1110
Epoch 2866/5000
35/35 [==============================] - 0s 618us/step - loss: 0.1111
Epoch 2867/5000
35/35 [==============================] - 0s 525us/step - loss: 0.1117
Epoch 2868/5000
35/35 [==============================] - 0s 588us/step - loss: 0.1124
Epoch 2869/5000
35/35 [==============================] - 0s 651us/step - loss: 0.1132
Epoch 2870/5000
35/35 [==============================] - 0s 560us/step - loss: 0.1138
Epoch 2871/5000
35/35 [==============================] - 0s 561us/step - loss: 0.1141
Epoch 2872/5000
35/35 [==============================] - 0s 573us/step - loss: 0.1140
Epoch 2873/5000
35/35 [==============================] - 0s 538us/step - loss: 0.1137
Epoch 2874/5000
35/35 [==============================] - 0s 527us/step - loss: 0.1131
Epoch 2875/5000
35/35 [==============================] - 0s 604us/step - loss: 0.1127
Epoch 2876/5000
35/35 [==============================] - 0s 591us/step - loss: 0.1124
Epoch 2877/5000
35/35 [==============================] - 0s 558us/step - loss: 0.1115
Epoch 2878/5000
35/35 [==============================] - 0s 671us/step - loss: 0.1107
Epoch 2879/5000
35/35 [==============================] - 0s 675us/step - loss: 0.1105
Epoch 2880/5000
35/35 [==============================] - 0s 541us/step - loss: 0.1106
Epoch 2881/5000
35/35 [==============================] - 0s 570us/step - loss: 0.1116
Epoch 2882/5000
35/35 [==============================] - 0s 617us/step - loss: 0.1116
Epoch 2883/5000
35/35 [==============================] - 0s 599us/step - loss: 0.1121
Epoch 2884/5000
35/35 [==============================] - 0s 617us/step - loss: 0.1123
Epoch 2885/5000
35/35 [==============================] - 0s 580us/step - loss: 0.1125
Epoch 2886/5000
35/35 [==============================] - 0s 581us/step - loss: 0.1111
Epoch 2887/5000
35/35 [==============================] - 0s 709us/step - loss: 0.1107
Epoch 2888/5000
35/35 [==============================] - 0s 675us/step - loss: 0.1107
Epoch 2889/5000
35/35 [==============================] - 0s 680us/step - loss: 0.1110
Epoch 2890/5000
35/35 [==============================] - 0s 641us/step - loss: 0.1115
Epoch 2891/5000
35/35 [==============================] - 0s 616us/step - loss: 0.1123
Epoch 2892/5000
35/35 [==============================] - 0s 648us/step - loss: 0.1127
Epoch 2893/5000
35/35 [==============================] - 0s 577us/step - loss: 0.1134
Epoch 2894/5000
35/35 [==============================] - 0s 613us/step - loss: 0.1138
Epoch 2895/5000
35/35 [==============================] - 0s 544us/step - loss: 0.1141
Epoch 2896/5000
35/35 [==============================] - 0s 590us/step - loss: 0.1142
Epoch 2897/5000
35/35 [==============================] - 0s 507us/step - loss: 0.1142
Epoch 2898/5000
35/35 [==============================] - 0s 582us/step - loss: 0.1139
Epoch 2899/5000
35/35 [==============================] - 0s 593us/step - loss: 0.1134
Epoch 2900/5000
35/35 [==============================] - 0s 636us/step - loss: 0.1128
Epoch 2901/5000
35/35 [==============================] - 0s 518us/step - loss: 0.1119
Epoch 2902/5000
35/35 [==============================] - 0s 576us/step - loss: 0.1114
Epoch 2903/5000
35/35 [==============================] - 0s 677us/step - loss: 0.1106
Epoch 2904/5000
35/35 [==============================] - 0s 731us/step - loss: 0.1102
Epoch 2905/5000
35/35 [==============================] - 0s 628us/step - loss: 0.1102
Epoch 2906/5000
35/35 [==============================] - 0s 645us/step - loss: 0.1101
Epoch 2907/5000
35/35 [==============================] - 0s 529us/step - loss: 0.1107
Epoch 2908/5000
35/35 [==============================] - 0s 652us/step - loss: 0.1107
Epoch 2909/5000
35/35 [==============================] - 0s 618us/step - loss: 0.1106
Epoch 2910/5000
35/35 [==============================] - 0s 601us/step - loss: 0.1106
Epoch 2911/5000
35/35 [==============================] - 0s 728us/step - loss: 0.1110
Epoch 2912/5000
35/35 [==============================] - 0s 632us/step - loss: 0.1112
Epoch 2913/5000
35/35 [==============================] - 0s 609us/step - loss: 0.1126
Epoch 2914/5000
35/35 [==============================] - 0s 771us/step - loss: 0.1131
Epoch 2915/5000
35/35 [==============================] - 0s 699us/step - loss: 0.1135
Epoch 2916/5000
35/35 [==============================] - 0s 525us/step - loss: 0.1141
Epoch 2917/5000
35/35 [==============================] - 0s 536us/step - loss: 0.1145
Epoch 2918/5000
35/35 [==============================] - 0s 575us/step - loss: 0.1145
Epoch 2919/5000
35/35 [==============================] - 0s 542us/step - loss: 0.1141
Epoch 2920/5000
35/35 [==============================] - 0s 536us/step - loss: 0.1134
Epoch 2921/5000
35/35 [==============================] - 0s 568us/step - loss: 0.1129
Epoch 2922/5000
35/35 [==============================] - 0s 581us/step - loss: 0.1124
Epoch 2923/5000
35/35 [==============================] - 0s 567us/step - loss: 0.1120
Epoch 2924/5000
35/35 [==============================] - 0s 513us/step - loss: 0.1113
Epoch 2925/5000
35/35 [==============================] - 0s 590us/step - loss: 0.1108
Epoch 2926/5000
35/35 [==============================] - 0s 614us/step - loss: 0.1106
Epoch 2927/5000
35/35 [==============================] - 0s 595us/step - loss: 0.1102
Epoch 2928/5000
35/35 [==============================] - 0s 528us/step - loss: 0.1112
Epoch 2929/5000
35/35 [==============================] - 0s 589us/step - loss: 0.1115
Epoch 2930/5000
35/35 [==============================] - 0s 520us/step - loss: 0.1120
Epoch 2931/5000
35/35 [==============================] - 0s 639us/step - loss: 0.1125
Epoch 2932/5000
35/35 [==============================] - 0s 568us/step - loss: 0.1140
Epoch 2933/5000
35/35 [==============================] - 0s 759us/step - loss: 0.1143
Epoch 2934/5000
35/35 [==============================] - 0s 594us/step - loss: 0.1136
Epoch 2935/5000
35/35 [==============================] - 0s 565us/step - loss: 0.1127
Epoch 2936/5000
35/35 [==============================] - 0s 573us/step - loss: 0.1117
Epoch 2937/5000
35/35 [==============================] - 0s 599us/step - loss: 0.1112
Epoch 2938/5000
35/35 [==============================] - 0s 554us/step - loss: 0.1105
Epoch 2939/5000
35/35 [==============================] - 0s 668us/step - loss: 0.1100
Epoch 2940/5000
35/35 [==============================] - 0s 622us/step - loss: 0.1103
Epoch 2941/5000
35/35 [==============================] - 0s 569us/step - loss: 0.1106
Epoch 2942/5000
35/35 [==============================] - 0s 577us/step - loss: 0.1113
Epoch 2943/5000
35/35 [==============================] - 0s 525us/step - loss: 0.1108
Epoch 2944/5000
35/35 [==============================] - 0s 527us/step - loss: 0.1105
Epoch 2945/5000
35/35 [==============================] - 0s 614us/step - loss: 0.1099
Epoch 2946/5000
35/35 [==============================] - 0s 616us/step - loss: 0.1098
Epoch 2947/5000
35/35 [==============================] - 0s 528us/step - loss: 0.1099
Epoch 2948/5000
35/35 [==============================] - 0s 555us/step - loss: 0.1101
Epoch 2949/5000
35/35 [==============================] - 0s 567us/step - loss: 0.1103
Epoch 2950/5000
35/35 [==============================] - 0s 568us/step - loss: 0.1109
Epoch 2951/5000
35/35 [==============================] - 0s 593us/step - loss: 0.1114
Epoch 2952/5000
35/35 [==============================] - 0s 927us/step - loss: 0.1124
Epoch 2953/5000
35/35 [==============================] - 0s 580us/step - loss: 0.1129
Epoch 2954/5000
35/35 [==============================] - 0s 713us/step - loss: 0.1130
Epoch 2955/5000
35/35 [==============================] - 0s 600us/step - loss: 0.1133
Epoch 2956/5000
35/35 [==============================] - 0s 532us/step - loss: 0.1128
Epoch 2957/5000
35/35 [==============================] - 0s 604us/step - loss: 0.1120
Epoch 2958/5000
35/35 [==============================] - 0s 774us/step - loss: 0.1116
Epoch 2959/5000
35/35 [==============================] - 0s 497us/step - loss: 0.1113
Epoch 2960/5000
35/35 [==============================] - 0s 572us/step - loss: 0.1111
Epoch 2961/5000
35/35 [==============================] - 0s 678us/step - loss: 0.1109
Epoch 2962/5000
35/35 [==============================] - 0s 588us/step - loss: 0.1110
Epoch 2963/5000
35/35 [==============================] - 0s 622us/step - loss: 0.1111
Epoch 2964/5000
35/35 [==============================] - 0s 596us/step - loss: 0.1115
Epoch 2965/5000
35/35 [==============================] - 0s 596us/step - loss: 0.1112
Epoch 2966/5000
35/35 [==============================] - 0s 587us/step - loss: 0.1112
Epoch 2967/5000
35/35 [==============================] - 0s 593us/step - loss: 0.1110
Epoch 2968/5000
35/35 [==============================] - 0s 610us/step - loss: 0.1118
Epoch 2969/5000
35/35 [==============================] - 0s 606us/step - loss: 0.1118
Epoch 2970/5000
35/35 [==============================] - 0s 567us/step - loss: 0.1121
Epoch 2971/5000
35/35 [==============================] - 0s 630us/step - loss: 0.1122
Epoch 2972/5000
35/35 [==============================] - 0s 578us/step - loss: 0.1124
Epoch 2973/5000
35/35 [==============================] - 0s 753us/step - loss: 0.1118
Epoch 2974/5000
35/35 [==============================] - 0s 783us/step - loss: 0.1120
Epoch 2975/5000
35/35 [==============================] - 0s 651us/step - loss: 0.1113
Epoch 2976/5000
35/35 [==============================] - 0s 612us/step - loss: 0.1103
Epoch 2977/5000
35/35 [==============================] - 0s 702us/step - loss: 0.1096
Epoch 2978/5000
35/35 [==============================] - 0s 517us/step - loss: 0.1094
Epoch 2979/5000
35/35 [==============================] - 0s 606us/step - loss: 0.1101
Epoch 2980/5000
35/35 [==============================] - 0s 542us/step - loss: 0.1111
Epoch 2981/5000
35/35 [==============================] - 0s 559us/step - loss: 0.1121
Epoch 2982/5000
35/35 [==============================] - 0s 540us/step - loss: 0.1141
Epoch 2983/5000
35/35 [==============================] - 0s 606us/step - loss: 0.1135
Epoch 2984/5000
35/35 [==============================] - 0s 626us/step - loss: 0.1127
Epoch 2985/5000
35/35 [==============================] - 0s 575us/step - loss: 0.1123
Epoch 2986/5000
35/35 [==============================] - 0s 521us/step - loss: 0.1118
Epoch 2987/5000
35/35 [==============================] - 0s 568us/step - loss: 0.1108
Epoch 2988/5000
35/35 [==============================] - 0s 559us/step - loss: 0.1103
Epoch 2989/5000
35/35 [==============================] - 0s 556us/step - loss: 0.1098
Epoch 2990/5000
35/35 [==============================] - 0s 500us/step - loss: 0.1096
Epoch 2991/5000
35/35 [==============================] - 0s 554us/step - loss: 0.1097
Epoch 2992/5000
35/35 [==============================] - 0s 522us/step - loss: 0.1097
Epoch 2993/5000
35/35 [==============================] - 0s 709us/step - loss: 0.1100
Epoch 2994/5000
35/35 [==============================] - 0s 573us/step - loss: 0.1099
Epoch 2995/5000
35/35 [==============================] - 0s 575us/step - loss: 0.1099
Epoch 2996/5000
35/35 [==============================] - 0s 536us/step - loss: 0.1098
Epoch 2997/5000
35/35 [==============================] - 0s 575us/step - loss: 0.1097
Epoch 2998/5000
35/35 [==============================] - 0s 722us/step - loss: 0.1098
Epoch 2999/5000
35/35 [==============================] - 0s 592us/step - loss: 0.1097
Epoch 3000/5000
35/35 [==============================] - 0s 547us/step - loss: 0.1099
Epoch 3001/5000
35/35 [==============================] - 0s 611us/step - loss: 0.1099
Epoch 3002/5000
35/35 [==============================] - 0s 597us/step - loss: 0.1100
Epoch 3003/5000
35/35 [==============================] - 0s 639us/step - loss: 0.1101
Epoch 3004/5000
35/35 [==============================] - 0s 596us/step - loss: 0.1100
Epoch 3005/5000
35/35 [==============================] - 0s 749us/step - loss: 0.1097
Epoch 3006/5000
35/35 [==============================] - 0s 603us/step - loss: 0.1097
Epoch 3007/5000
35/35 [==============================] - 0s 635us/step - loss: 0.1094
Epoch 3008/5000
35/35 [==============================] - 0s 588us/step - loss: 0.1092
Epoch 3009/5000
35/35 [==============================] - 0s 573us/step - loss: 0.1096
Epoch 3010/5000
35/35 [==============================] - 0s 535us/step - loss: 0.1096
Epoch 3011/5000
35/35 [==============================] - 0s 572us/step - loss: 0.1097
Epoch 3012/5000
35/35 [==============================] - 0s 586us/step - loss: 0.1098
Epoch 3013/5000
35/35 [==============================] - 0s 580us/step - loss: 0.1097
Epoch 3014/5000
35/35 [==============================] - 0s 577us/step - loss: 0.1096
Epoch 3015/5000
35/35 [==============================] - 0s 512us/step - loss: 0.1097
Epoch 3016/5000
35/35 [==============================] - 0s 639us/step - loss: 0.1098
Epoch 3017/5000
35/35 [==============================] - 0s 566us/step - loss: 0.1100
Epoch 3018/5000
35/35 [==============================] - 0s 560us/step - loss: 0.1103
Epoch 3019/5000
35/35 [==============================] - 0s 571us/step - loss: 0.1105
Epoch 3020/5000
35/35 [==============================] - 0s 510us/step - loss: 0.1109
Epoch 3021/5000
35/35 [==============================] - 0s 810us/step - loss: 0.1121
Epoch 3022/5000
35/35 [==============================] - 0s 647us/step - loss: 0.1131
Epoch 3023/5000
35/35 [==============================] - 0s 668us/step - loss: 0.1129
Epoch 3024/5000
35/35 [==============================] - 0s 591us/step - loss: 0.1121
Epoch 3025/5000
35/35 [==============================] - 0s 526us/step - loss: 0.1113
Epoch 3026/5000
35/35 [==============================] - 0s 596us/step - loss: 0.1101
Epoch 3027/5000
35/35 [==============================] - 0s 566us/step - loss: 0.1096
Epoch 3028/5000
35/35 [==============================] - 0s 561us/step - loss: 0.1091
Epoch 3029/5000
35/35 [==============================] - 0s 566us/step - loss: 0.1093
Epoch 3030/5000
35/35 [==============================] - 0s 572us/step - loss: 0.1092
Epoch 3031/5000
35/35 [==============================] - 0s 518us/step - loss: 0.1096
Epoch 3032/5000
35/35 [==============================] - 0s 556us/step - loss: 0.1098
Epoch 3033/5000
35/35 [==============================] - 0s 633us/step - loss: 0.1104
Epoch 3034/5000
35/35 [==============================] - 0s 692us/step - loss: 0.1100
Epoch 3035/5000
35/35 [==============================] - 0s 647us/step - loss: 0.1094
Epoch 3036/5000
35/35 [==============================] - 0s 593us/step - loss: 0.1095
Epoch 3037/5000
35/35 [==============================] - 0s 594us/step - loss: 0.1095
Epoch 3038/5000
35/35 [==============================] - 0s 553us/step - loss: 0.1093
Epoch 3039/5000
35/35 [==============================] - 0s 546us/step - loss: 0.1093
Epoch 3040/5000
35/35 [==============================] - 0s 579us/step - loss: 0.1098
Epoch 3041/5000
35/35 [==============================] - 0s 620us/step - loss: 0.1109
Epoch 3042/5000
35/35 [==============================] - 0s 723us/step - loss: 0.1118
Epoch 3043/5000
35/35 [==============================] - 0s 587us/step - loss: 0.1123
Epoch 3044/5000
35/35 [==============================] - 0s 678us/step - loss: 0.1119
Epoch 3045/5000
35/35 [==============================] - 0s 827us/step - loss: 0.1109
Epoch 3046/5000
35/35 [==============================] - 0s 660us/step - loss: 0.1105
Epoch 3047/5000
35/35 [==============================] - 0s 599us/step - loss: 0.1112
Epoch 3048/5000
35/35 [==============================] - 0s 551us/step - loss: 0.1118
Epoch 3049/5000
35/35 [==============================] - 0s 599us/step - loss: 0.1115
Epoch 3050/5000
35/35 [==============================] - 0s 592us/step - loss: 0.1113
Epoch 3051/5000
35/35 [==============================] - 0s 578us/step - loss: 0.1106
Epoch 3052/5000
35/35 [==============================] - 0s 709us/step - loss: 0.1100
Epoch 3053/5000
35/35 [==============================] - 0s 631us/step - loss: 0.1095
Epoch 3054/5000
35/35 [==============================] - 0s 524us/step - loss: 0.1094
Epoch 3055/5000
35/35 [==============================] - 0s 523us/step - loss: 0.1096
Epoch 3056/5000
35/35 [==============================] - 0s 830us/step - loss: 0.1095
Epoch 3057/5000
35/35 [==============================] - 0s 575us/step - loss: 0.1096
Epoch 3058/5000
35/35 [==============================] - 0s 534us/step - loss: 0.1096
Epoch 3059/5000
35/35 [==============================] - 0s 606us/step - loss: 0.1096
Epoch 3060/5000
35/35 [==============================] - 0s 587us/step - loss: 0.1098
Epoch 3061/5000
35/35 [==============================] - 0s 676us/step - loss: 0.1097
Epoch 3062/5000
35/35 [==============================] - 0s 568us/step - loss: 0.1098
Epoch 3063/5000
35/35 [==============================] - 0s 566us/step - loss: 0.1106
Epoch 3064/5000
35/35 [==============================] - 0s 674us/step - loss: 0.1102
Epoch 3065/5000
35/35 [==============================] - 0s 527us/step - loss: 0.1098
Epoch 3066/5000
35/35 [==============================] - 0s 541us/step - loss: 0.1097
Epoch 3067/5000
35/35 [==============================] - 0s 519us/step - loss: 0.1097
Epoch 3068/5000
35/35 [==============================] - 0s 545us/step - loss: 0.1095
Epoch 3069/5000
35/35 [==============================] - 0s 609us/step - loss: 0.1094
Epoch 3070/5000
35/35 [==============================] - 0s 603us/step - loss: 0.1091
Epoch 3071/5000
35/35 [==============================] - 0s 587us/step - loss: 0.1089
Epoch 3072/5000
35/35 [==============================] - 0s 582us/step - loss: 0.1093
Epoch 3073/5000
35/35 [==============================] - 0s 524us/step - loss: 0.1095
Epoch 3074/5000
35/35 [==============================] - 0s 608us/step - loss: 0.1096
Epoch 3075/5000
35/35 [==============================] - 0s 577us/step - loss: 0.1094
Epoch 3076/5000
35/35 [==============================] - 0s 530us/step - loss: 0.1091
Epoch 3077/5000
35/35 [==============================] - 0s 680us/step - loss: 0.1092
Epoch 3078/5000
35/35 [==============================] - 0s 586us/step - loss: 0.1095
Epoch 3079/5000
35/35 [==============================] - 0s 793us/step - loss: 0.1097
Epoch 3080/5000
35/35 [==============================] - 0s 603us/step - loss: 0.1098
Epoch 3081/5000
35/35 [==============================] - 0s 615us/step - loss: 0.1099
Epoch 3082/5000
35/35 [==============================] - 0s 587us/step - loss: 0.1101
Epoch 3083/5000
35/35 [==============================] - 0s 584us/step - loss: 0.1107
Epoch 3084/5000
35/35 [==============================] - 0s 669us/step - loss: 0.1109
Epoch 3085/5000
35/35 [==============================] - 0s 524us/step - loss: 0.1111
Epoch 3086/5000
35/35 [==============================] - 0s 571us/step - loss: 0.1108
Epoch 3087/5000
35/35 [==============================] - 0s 569us/step - loss: 0.1104
Epoch 3088/5000
35/35 [==============================] - 0s 607us/step - loss: 0.1100
Epoch 3089/5000
35/35 [==============================] - 0s 576us/step - loss: 0.1095
Epoch 3090/5000
35/35 [==============================] - 0s 505us/step - loss: 0.1092
Epoch 3091/5000
35/35 [==============================] - 0s 647us/step - loss: 0.1096
Epoch 3092/5000
35/35 [==============================] - 0s 658us/step - loss: 0.1096
Epoch 3093/5000
35/35 [==============================] - 0s 661us/step - loss: 0.1101
Epoch 3094/5000
35/35 [==============================] - 0s 751us/step - loss: 0.1106
Epoch 3095/5000
35/35 [==============================] - 0s 587us/step - loss: 0.1115
Epoch 3096/5000
35/35 [==============================] - 0s 572us/step - loss: 0.1115
Epoch 3097/5000
35/35 [==============================] - 0s 671us/step - loss: 0.1114
Epoch 3098/5000
35/35 [==============================] - 0s 674us/step - loss: 0.1116
Epoch 3099/5000
35/35 [==============================] - 0s 663us/step - loss: 0.1110
Epoch 3100/5000
35/35 [==============================] - 0s 530us/step - loss: 0.1110
Epoch 3101/5000
35/35 [==============================] - 0s 593us/step - loss: 0.1108
Epoch 3102/5000
35/35 [==============================] - 0s 587us/step - loss: 0.1107
Epoch 3103/5000
35/35 [==============================] - 0s 510us/step - loss: 0.1103
Epoch 3104/5000
35/35 [==============================] - 0s 615us/step - loss: 0.1102
Epoch 3105/5000
35/35 [==============================] - 0s 590us/step - loss: 0.1101
Epoch 3106/5000
35/35 [==============================] - 0s 575us/step - loss: 0.1097
Epoch 3107/5000
35/35 [==============================] - 0s 674us/step - loss: 0.1094
Epoch 3108/5000
35/35 [==============================] - 0s 628us/step - loss: 0.1096
Epoch 3109/5000
35/35 [==============================] - 0s 571us/step - loss: 0.1102
Epoch 3110/5000
35/35 [==============================] - 0s 588us/step - loss: 0.1109
Epoch 3111/5000
35/35 [==============================] - 0s 575us/step - loss: 0.1119
Epoch 3112/5000
35/35 [==============================] - 0s 620us/step - loss: 0.1124
Epoch 3113/5000
35/35 [==============================] - 0s 577us/step - loss: 0.1118
Epoch 3114/5000
35/35 [==============================] - 0s 611us/step - loss: 0.1104
Epoch 3115/5000
35/35 [==============================] - 0s 567us/step - loss: 0.1091
Epoch 3116/5000
35/35 [==============================] - 0s 574us/step - loss: 0.1087
Epoch 3117/5000
35/35 [==============================] - 0s 528us/step - loss: 0.1090
Epoch 3118/5000
35/35 [==============================] - 0s 539us/step - loss: 0.1096
Epoch 3119/5000
35/35 [==============================] - 0s 589us/step - loss: 0.1104
Epoch 3120/5000
35/35 [==============================] - 0s 565us/step - loss: 0.1108
Epoch 3121/5000
35/35 [==============================] - 0s 566us/step - loss: 0.1111
Epoch 3122/5000
35/35 [==============================] - 0s 571us/step - loss: 0.1110
Epoch 3123/5000
35/35 [==============================] - 0s 553us/step - loss: 0.1110
Epoch 3124/5000
35/35 [==============================] - 0s 577us/step - loss: 0.1107
Epoch 3125/5000
35/35 [==============================] - 0s 685us/step - loss: 0.1103
Epoch 3126/5000
35/35 [==============================] - 0s 616us/step - loss: 0.1100
Epoch 3127/5000
35/35 [==============================] - 0s 533us/step - loss: 0.1096
Epoch 3128/5000
35/35 [==============================] - 0s 505us/step - loss: 0.1093
Epoch 3129/5000
35/35 [==============================] - 0s 588us/step - loss: 0.1090
Epoch 3130/5000
35/35 [==============================] - 0s 609us/step - loss: 0.1087
Epoch 3131/5000
35/35 [==============================] - 0s 520us/step - loss: 0.1089
Epoch 3132/5000
35/35 [==============================] - 0s 620us/step - loss: 0.1095
Epoch 3133/5000
35/35 [==============================] - 0s 541us/step - loss: 0.1096
Epoch 3134/5000
35/35 [==============================] - 0s 578us/step - loss: 0.1099
Epoch 3135/5000
35/35 [==============================] - 0s 589us/step - loss: 0.1092
Epoch 3136/5000
35/35 [==============================] - 0s 558us/step - loss: 0.1092
Epoch 3137/5000
35/35 [==============================] - 0s 521us/step - loss: 0.1086
Epoch 3138/5000
35/35 [==============================] - 0s 557us/step - loss: 0.1086
Epoch 3139/5000
35/35 [==============================] - 0s 733us/step - loss: 0.1087
Epoch 3140/5000
35/35 [==============================] - 0s 625us/step - loss: 0.1088
Epoch 3141/5000
35/35 [==============================] - 0s 601us/step - loss: 0.1094
Epoch 3142/5000
35/35 [==============================] - 0s 517us/step - loss: 0.1100
Epoch 3143/5000
35/35 [==============================] - 0s 576us/step - loss: 0.1106
Epoch 3144/5000
35/35 [==============================] - 0s 518us/step - loss: 0.1105
Epoch 3145/5000
35/35 [==============================] - 0s 573us/step - loss: 0.1102
Epoch 3146/5000
35/35 [==============================] - 0s 574us/step - loss: 0.1097
Epoch 3147/5000
35/35 [==============================] - 0s 804us/step - loss: 0.1097
Epoch 3148/5000
35/35 [==============================] - 0s 577us/step - loss: 0.1096
Epoch 3149/5000
35/35 [==============================] - 0s 584us/step - loss: 0.1096
Epoch 3150/5000
35/35 [==============================] - 0s 648us/step - loss: 0.1099
Epoch 3151/5000
35/35 [==============================] - 0s 633us/step - loss: 0.1101
Epoch 3152/5000
35/35 [==============================] - 0s 635us/step - loss: 0.1102
Epoch 3153/5000
35/35 [==============================] - 0s 642us/step - loss: 0.1105
Epoch 3154/5000
35/35 [==============================] - 0s 621us/step - loss: 0.1106
Epoch 3155/5000
35/35 [==============================] - 0s 578us/step - loss: 0.1109
Epoch 3156/5000
35/35 [==============================] - 0s 508us/step - loss: 0.1109
Epoch 3157/5000
35/35 [==============================] - 0s 578us/step - loss: 0.1100
Epoch 3158/5000
35/35 [==============================] - 0s 634us/step - loss: 0.1095
Epoch 3159/5000
35/35 [==============================] - 0s 588us/step - loss: 0.1093
Epoch 3160/5000
35/35 [==============================] - 0s 546us/step - loss: 0.1095
Epoch 3161/5000
35/35 [==============================] - 0s 612us/step - loss: 0.1099
Epoch 3162/5000
35/35 [==============================] - 0s 672us/step - loss: 0.1101
Epoch 3163/5000
35/35 [==============================] - 0s 685us/step - loss: 0.1100
Epoch 3164/5000
35/35 [==============================] - 0s 595us/step - loss: 0.1095
Epoch 3165/5000
35/35 [==============================] - 0s 739us/step - loss: 0.1088
Epoch 3166/5000
35/35 [==============================] - 0s 615us/step - loss: 0.1085
Epoch 3167/5000
35/35 [==============================] - 0s 591us/step - loss: 0.1087
Epoch 3168/5000
35/35 [==============================] - 0s 696us/step - loss: 0.1093
Epoch 3169/5000
35/35 [==============================] - 0s 595us/step - loss: 0.1095
Epoch 3170/5000
35/35 [==============================] - 0s 575us/step - loss: 0.1095
Epoch 3171/5000
35/35 [==============================] - 0s 590us/step - loss: 0.1094
Epoch 3172/5000
35/35 [==============================] - 0s 636us/step - loss: 0.1094
Epoch 3173/5000
35/35 [==============================] - 0s 621us/step - loss: 0.1092
Epoch 3174/5000
35/35 [==============================] - 0s 525us/step - loss: 0.1090
Epoch 3175/5000
35/35 [==============================] - 0s 547us/step - loss: 0.1087
Epoch 3176/5000
35/35 [==============================] - 0s 592us/step - loss: 0.1088
Epoch 3177/5000
35/35 [==============================] - 0s 542us/step - loss: 0.1087
Epoch 3178/5000
35/35 [==============================] - 0s 552us/step - loss: 0.1091
Epoch 3179/5000
35/35 [==============================] - 0s 540us/step - loss: 0.1092
Epoch 3180/5000
35/35 [==============================] - 0s 585us/step - loss: 0.1092
Epoch 3181/5000
35/35 [==============================] - 0s 609us/step - loss: 0.1093
Epoch 3182/5000
35/35 [==============================] - 0s 545us/step - loss: 0.1097
Epoch 3183/5000
35/35 [==============================] - 0s 585us/step - loss: 0.1101
Epoch 3184/5000
35/35 [==============================] - 0s 609us/step - loss: 0.1107
Epoch 3185/5000
35/35 [==============================] - 0s 644us/step - loss: 0.1115
Epoch 3186/5000
35/35 [==============================] - 0s 520us/step - loss: 0.1112
Epoch 3187/5000
35/35 [==============================] - 0s 588us/step - loss: 0.1107
Epoch 3188/5000
35/35 [==============================] - 0s 648us/step - loss: 0.1110
Epoch 3189/5000
35/35 [==============================] - 0s 687us/step - loss: 0.1109
Epoch 3190/5000
35/35 [==============================] - 0s 629us/step - loss: 0.1109
Epoch 3191/5000
35/35 [==============================] - 0s 612us/step - loss: 0.1109
Epoch 3192/5000
35/35 [==============================] - 0s 688us/step - loss: 0.1110
Epoch 3193/5000
35/35 [==============================] - 0s 668us/step - loss: 0.1106
Epoch 3194/5000
35/35 [==============================] - 0s 695us/step - loss: 0.1103
Epoch 3195/5000
35/35 [==============================] - 0s 567us/step - loss: 0.1097
Epoch 3196/5000
35/35 [==============================] - 0s 609us/step - loss: 0.1094
Epoch 3197/5000
35/35 [==============================] - 0s 601us/step - loss: 0.1090
Epoch 3198/5000
35/35 [==============================] - 0s 562us/step - loss: 0.1083
Epoch 3199/5000
35/35 [==============================] - 0s 532us/step - loss: 0.1082
Epoch 3200/5000
35/35 [==============================] - 0s 521us/step - loss: 0.1089
Epoch 3201/5000
35/35 [==============================] - 0s 572us/step - loss: 0.1093
Epoch 3202/5000
35/35 [==============================] - 0s 624us/step - loss: 0.1100
Epoch 3203/5000
35/35 [==============================] - 0s 534us/step - loss: 0.1114
Epoch 3204/5000
35/35 [==============================] - 0s 606us/step - loss: 0.1138
Epoch 3205/5000
35/35 [==============================] - 0s 663us/step - loss: 0.1160
Epoch 3206/5000
35/35 [==============================] - 0s 696us/step - loss: 0.1171
Epoch 3207/5000
35/35 [==============================] - 0s 683us/step - loss: 0.1172
Epoch 3208/5000
35/35 [==============================] - 0s 745us/step - loss: 0.1162
Epoch 3209/5000
35/35 [==============================] - 0s 711us/step - loss: 0.1148
Epoch 3210/5000
35/35 [==============================] - 0s 698us/step - loss: 0.1135
Epoch 3211/5000
35/35 [==============================] - 0s 619us/step - loss: 0.1123
Epoch 3212/5000
35/35 [==============================] - 0s 589us/step - loss: 0.1118
Epoch 3213/5000
35/35 [==============================] - 0s 568us/step - loss: 0.1115
Epoch 3214/5000
35/35 [==============================] - 0s 539us/step - loss: 0.1107
Epoch 3215/5000
35/35 [==============================] - 0s 560us/step - loss: 0.1108
Epoch 3216/5000
35/35 [==============================] - 0s 535us/step - loss: 0.1111
Epoch 3217/5000
35/35 [==============================] - 0s 557us/step - loss: 0.1112
Epoch 3218/5000
35/35 [==============================] - 0s 572us/step - loss: 0.1115
Epoch 3219/5000
35/35 [==============================] - 0s 512us/step - loss: 0.1114
Epoch 3220/5000
35/35 [==============================] - 0s 646us/step - loss: 0.1114
Epoch 3221/5000
35/35 [==============================] - 0s 569us/step - loss: 0.1115
Epoch 3222/5000
35/35 [==============================] - 0s 612us/step - loss: 0.1120
Epoch 3223/5000
35/35 [==============================] - 0s 571us/step - loss: 0.1135
Epoch 3224/5000
35/35 [==============================] - 0s 581us/step - loss: 0.1144
Epoch 3225/5000
35/35 [==============================] - 0s 575us/step - loss: 0.1157
Epoch 3226/5000
35/35 [==============================] - 0s 580us/step - loss: 0.1169
Epoch 3227/5000
35/35 [==============================] - 0s 580us/step - loss: 0.1168
Epoch 3228/5000
35/35 [==============================] - 0s 579us/step - loss: 0.1163
Epoch 3229/5000
35/35 [==============================] - 0s 568us/step - loss: 0.1155
Epoch 3230/5000
35/35 [==============================] - 0s 588us/step - loss: 0.1148
Epoch 3231/5000
35/35 [==============================] - 0s 590us/step - loss: 0.1142
Epoch 3232/5000
35/35 [==============================] - 0s 756us/step - loss: 0.1136
Epoch 3233/5000
35/35 [==============================] - 0s 574us/step - loss: 0.1126
Epoch 3234/5000
35/35 [==============================] - 0s 623us/step - loss: 0.1116
Epoch 3235/5000
35/35 [==============================] - 0s 560us/step - loss: 0.1110
Epoch 3236/5000
35/35 [==============================] - 0s 576us/step - loss: 0.1111
Epoch 3237/5000
35/35 [==============================] - 0s 572us/step - loss: 0.1108
Epoch 3238/5000
35/35 [==============================] - 0s 670us/step - loss: 0.1108
Epoch 3239/5000
35/35 [==============================] - 0s 621us/step - loss: 0.1107
Epoch 3240/5000
35/35 [==============================] - 0s 686us/step - loss: 0.1111
Epoch 3241/5000
35/35 [==============================] - 0s 647us/step - loss: 0.1112
Epoch 3242/5000
35/35 [==============================] - 0s 720us/step - loss: 0.1122
Epoch 3243/5000
35/35 [==============================] - 0s 587us/step - loss: 0.1138
Epoch 3244/5000
35/35 [==============================] - 0s 570us/step - loss: 0.1154
Epoch 3245/5000
35/35 [==============================] - 0s 514us/step - loss: 0.1166
Epoch 3246/5000
35/35 [==============================] - 0s 809us/step - loss: 0.1177
Epoch 3247/5000
35/35 [==============================] - 0s 609us/step - loss: 0.1167
Epoch 3248/5000
35/35 [==============================] - 0s 740us/step - loss: 0.1152
Epoch 3249/5000
35/35 [==============================] - 0s 626us/step - loss: 0.1139
Epoch 3250/5000
35/35 [==============================] - 0s 553us/step - loss: 0.1132
Epoch 3251/5000
35/35 [==============================] - 0s 669us/step - loss: 0.1115
Epoch 3252/5000
35/35 [==============================] - 0s 606us/step - loss: 0.1104
Epoch 3253/5000
35/35 [==============================] - 0s 581us/step - loss: 0.1093
Epoch 3254/5000
35/35 [==============================] - 0s 537us/step - loss: 0.1086
Epoch 3255/5000
35/35 [==============================] - 0s 603us/step - loss: 0.1086
Epoch 3256/5000
35/35 [==============================] - 0s 534us/step - loss: 0.1088
Epoch 3257/5000
35/35 [==============================] - 0s 598us/step - loss: 0.1086
Epoch 3258/5000
35/35 [==============================] - 0s 580us/step - loss: 0.1085
Epoch 3259/5000
35/35 [==============================] - 0s 582us/step - loss: 0.1084
Epoch 3260/5000
35/35 [==============================] - 0s 549us/step - loss: 0.1083
Epoch 3261/5000
35/35 [==============================] - 0s 564us/step - loss: 0.1084
Epoch 3262/5000
35/35 [==============================] - 0s 663us/step - loss: 0.1097
Epoch 3263/5000
35/35 [==============================] - 0s 622us/step - loss: 0.1112
Epoch 3264/5000
35/35 [==============================] - 0s 522us/step - loss: 0.1121
Epoch 3265/5000
35/35 [==============================] - 0s 586us/step - loss: 0.1124
Epoch 3266/5000
35/35 [==============================] - 0s 528us/step - loss: 0.1120
Epoch 3267/5000
35/35 [==============================] - 0s 601us/step - loss: 0.1118
Epoch 3268/5000
35/35 [==============================] - 0s 560us/step - loss: 0.1113
Epoch 3269/5000
35/35 [==============================] - 0s 564us/step - loss: 0.1115
Epoch 3270/5000
35/35 [==============================] - 0s 517us/step - loss: 0.1111
Epoch 3271/5000
35/35 [==============================] - 0s 572us/step - loss: 0.1107
Epoch 3272/5000
35/35 [==============================] - 0s 649us/step - loss: 0.1104
Epoch 3273/5000
35/35 [==============================] - 0s 601us/step - loss: 0.1104
Epoch 3274/5000
35/35 [==============================] - 0s 503us/step - loss: 0.1105
Epoch 3275/5000
35/35 [==============================] - 0s 610us/step - loss: 0.1106
Epoch 3276/5000
35/35 [==============================] - 0s 580us/step - loss: 0.1106
Epoch 3277/5000
35/35 [==============================] - 0s 561us/step - loss: 0.1100
Epoch 3278/5000
35/35 [==============================] - 0s 693us/step - loss: 0.1096
Epoch 3279/5000
35/35 [==============================] - 0s 547us/step - loss: 0.1097
Epoch 3280/5000
35/35 [==============================] - 0s 630us/step - loss: 0.1093
Epoch 3281/5000
35/35 [==============================] - 0s 577us/step - loss: 0.1088
Epoch 3282/5000
35/35 [==============================] - 0s 518us/step - loss: 0.1084
Epoch 3283/5000
35/35 [==============================] - 0s 549us/step - loss: 0.1086
Epoch 3284/5000
35/35 [==============================] - 0s 522us/step - loss: 0.1083
Epoch 3285/5000
35/35 [==============================] - 0s 595us/step - loss: 0.1085
Epoch 3286/5000
35/35 [==============================] - 0s 606us/step - loss: 0.1087
Epoch 3287/5000
35/35 [==============================] - 0s 569us/step - loss: 0.1087
Epoch 3288/5000
35/35 [==============================] - 0s 803us/step - loss: 0.1085
Epoch 3289/5000
35/35 [==============================] - 0s 602us/step - loss: 0.1083
Epoch 3290/5000
35/35 [==============================] - 0s 595us/step - loss: 0.1088
Epoch 3291/5000
35/35 [==============================] - 0s 610us/step - loss: 0.1089
Epoch 3292/5000
35/35 [==============================] - 0s 622us/step - loss: 0.1089
Epoch 3293/5000
35/35 [==============================] - 0s 640us/step - loss: 0.1087
Epoch 3294/5000
35/35 [==============================] - 0s 721us/step - loss: 0.1083
Epoch 3295/5000
35/35 [==============================] - 0s 582us/step - loss: 0.1080
Epoch 3296/5000
35/35 [==============================] - 0s 568us/step - loss: 0.1078
Epoch 3297/5000
35/35 [==============================] - 0s 667us/step - loss: 0.1078
Epoch 3298/5000
35/35 [==============================] - 0s 561us/step - loss: 0.1079
Epoch 3299/5000
35/35 [==============================] - 0s 575us/step - loss: 0.1077
Epoch 3300/5000
35/35 [==============================] - 0s 562us/step - loss: 0.1081
Epoch 3301/5000
35/35 [==============================] - 0s 590us/step - loss: 0.1082
Epoch 3302/5000
35/35 [==============================] - 0s 538us/step - loss: 0.1082
Epoch 3303/5000
35/35 [==============================] - 0s 570us/step - loss: 0.1082
Epoch 3304/5000
35/35 [==============================] - 0s 579us/step - loss: 0.1084
Epoch 3305/5000
35/35 [==============================] - 0s 581us/step - loss: 0.1081
Epoch 3306/5000
35/35 [==============================] - 0s 585us/step - loss: 0.1080
Epoch 3307/5000
35/35 [==============================] - 0s 609us/step - loss: 0.1080
Epoch 3308/5000
35/35 [==============================] - 0s 536us/step - loss: 0.1079
Epoch 3309/5000
35/35 [==============================] - 0s 593us/step - loss: 0.1079
Epoch 3310/5000
35/35 [==============================] - 0s 566us/step - loss: 0.1078
Epoch 3311/5000
35/35 [==============================] - 0s 601us/step - loss: 0.1083
Epoch 3312/5000
35/35 [==============================] - 0s 582us/step - loss: 0.1091
Epoch 3313/5000
35/35 [==============================] - 0s 564us/step - loss: 0.1091
Epoch 3314/5000
35/35 [==============================] - 0s 563us/step - loss: 0.1090
Epoch 3315/5000
35/35 [==============================] - 0s 543us/step - loss: 0.1088
Epoch 3316/5000
35/35 [==============================] - 0s 557us/step - loss: 0.1087
Epoch 3317/5000
35/35 [==============================] - 0s 658us/step - loss: 0.1086
Epoch 3318/5000
35/35 [==============================] - 0s 546us/step - loss: 0.1085
Epoch 3319/5000
35/35 [==============================] - 0s 562us/step - loss: 0.1091
Epoch 3320/5000
35/35 [==============================] - 0s 625us/step - loss: 0.1101
Epoch 3321/5000
35/35 [==============================] - 0s 591us/step - loss: 0.1106
Epoch 3322/5000
35/35 [==============================] - 0s 558us/step - loss: 0.1104
Epoch 3323/5000
35/35 [==============================] - 0s 547us/step - loss: 0.1104
Epoch 3324/5000
35/35 [==============================] - 0s 554us/step - loss: 0.1104
Epoch 3325/5000
35/35 [==============================] - 0s 562us/step - loss: 0.1106
Epoch 3326/5000
35/35 [==============================] - 0s 736us/step - loss: 0.1110
Epoch 3327/5000
35/35 [==============================] - 0s 528us/step - loss: 0.1105
Epoch 3328/5000
35/35 [==============================] - 0s 512us/step - loss: 0.1099
Epoch 3329/5000
35/35 [==============================] - 0s 544us/step - loss: 0.1093
Epoch 3330/5000
35/35 [==============================] - 0s 555us/step - loss: 0.1088
Epoch 3331/5000
35/35 [==============================] - 0s 573us/step - loss: 0.1083
Epoch 3332/5000
35/35 [==============================] - 0s 641us/step - loss: 0.1078
Epoch 3333/5000
35/35 [==============================] - 0s 593us/step - loss: 0.1074
Epoch 3334/5000
35/35 [==============================] - 0s 554us/step - loss: 0.1075
Epoch 3335/5000
35/35 [==============================] - 0s 596us/step - loss: 0.1078
Epoch 3336/5000
35/35 [==============================] - 0s 709us/step - loss: 0.1079
Epoch 3337/5000
35/35 [==============================] - 0s 626us/step - loss: 0.1078
Epoch 3338/5000
35/35 [==============================] - 0s 549us/step - loss: 0.1076
Epoch 3339/5000
35/35 [==============================] - 0s 562us/step - loss: 0.1075
Epoch 3340/5000
35/35 [==============================] - 0s 560us/step - loss: 0.1072
Epoch 3341/5000
35/35 [==============================] - 0s 565us/step - loss: 0.1074
Epoch 3342/5000
35/35 [==============================] - 0s 503us/step - loss: 0.1078
Epoch 3343/5000
35/35 [==============================] - 0s 572us/step - loss: 0.1083
Epoch 3344/5000
35/35 [==============================] - 0s 557us/step - loss: 0.1091
Epoch 3345/5000
35/35 [==============================] - 0s 565us/step - loss: 0.1093
Epoch 3346/5000
35/35 [==============================] - 0s 603us/step - loss: 0.1094
Epoch 3347/5000
35/35 [==============================] - 0s 508us/step - loss: 0.1096
Epoch 3348/5000
35/35 [==============================] - 0s 604us/step - loss: 0.1100
Epoch 3349/5000
35/35 [==============================] - 0s 531us/step - loss: 0.1092
Epoch 3350/5000
35/35 [==============================] - 0s 518us/step - loss: 0.1088
Epoch 3351/5000
35/35 [==============================] - 0s 590us/step - loss: 0.1085
Epoch 3352/5000
35/35 [==============================] - 0s 615us/step - loss: 0.1085
Epoch 3353/5000
35/35 [==============================] - 0s 614us/step - loss: 0.1090
Epoch 3354/5000
35/35 [==============================] - 0s 780us/step - loss: 0.1092
Epoch 3355/5000
35/35 [==============================] - 0s 629us/step - loss: 0.1094
Epoch 3356/5000
35/35 [==============================] - 0s 576us/step - loss: 0.1092
Epoch 3357/5000
35/35 [==============================] - 0s 555us/step - loss: 0.1089
Epoch 3358/5000
35/35 [==============================] - 0s 567us/step - loss: 0.1087
Epoch 3359/5000
35/35 [==============================] - 0s 675us/step - loss: 0.1086
Epoch 3360/5000
35/35 [==============================] - 0s 584us/step - loss: 0.1086
Epoch 3361/5000
35/35 [==============================] - 0s 552us/step - loss: 0.1087
Epoch 3362/5000
35/35 [==============================] - 0s 539us/step - loss: 0.1089
Epoch 3363/5000
35/35 [==============================] - 0s 596us/step - loss: 0.1089
Epoch 3364/5000
35/35 [==============================] - 0s 675us/step - loss: 0.1089
Epoch 3365/5000
35/35 [==============================] - 0s 715us/step - loss: 0.1088
Epoch 3366/5000
35/35 [==============================] - 0s 562us/step - loss: 0.1086
Epoch 3367/5000
35/35 [==============================] - 0s 571us/step - loss: 0.1084
Epoch 3368/5000
35/35 [==============================] - 0s 649us/step - loss: 0.1084
Epoch 3369/5000
35/35 [==============================] - 0s 583us/step - loss: 0.1080
Epoch 3370/5000
35/35 [==============================] - 0s 558us/step - loss: 0.1080
Epoch 3371/5000
35/35 [==============================] - 0s 565us/step - loss: 0.1084
Epoch 3372/5000
35/35 [==============================] - 0s 616us/step - loss: 0.1095
Epoch 3373/5000
35/35 [==============================] - 0s 570us/step - loss: 0.1106
Epoch 3374/5000
35/35 [==============================] - 0s 737us/step - loss: 0.1111
Epoch 3375/5000
35/35 [==============================] - 0s 590us/step - loss: 0.1110
Epoch 3376/5000
35/35 [==============================] - 0s 558us/step - loss: 0.1108
Epoch 3377/5000
35/35 [==============================] - 0s 557us/step - loss: 0.1103
Epoch 3378/5000
35/35 [==============================] - 0s 576us/step - loss: 0.1099
Epoch 3379/5000
35/35 [==============================] - 0s 732us/step - loss: 0.1101
Epoch 3380/5000
35/35 [==============================] - 0s 566us/step - loss: 0.1100
Epoch 3381/5000
35/35 [==============================] - 0s 603us/step - loss: 0.1100
Epoch 3382/5000
35/35 [==============================] - 0s 677us/step - loss: 0.1101
Epoch 3383/5000
35/35 [==============================] - 0s 659us/step - loss: 0.1103
Epoch 3384/5000
35/35 [==============================] - 0s 619us/step - loss: 0.1103
Epoch 3385/5000
35/35 [==============================] - 0s 692us/step - loss: 0.1099
Epoch 3386/5000
35/35 [==============================] - 0s 698us/step - loss: 0.1091
Epoch 3387/5000
35/35 [==============================] - 0s 681us/step - loss: 0.1087
Epoch 3388/5000
35/35 [==============================] - 0s 548us/step - loss: 0.1080
Epoch 3389/5000
35/35 [==============================] - 0s 559us/step - loss: 0.1083
Epoch 3390/5000
35/35 [==============================] - 0s 778us/step - loss: 0.1077
Epoch 3391/5000
35/35 [==============================] - 0s 550us/step - loss: 0.1078
Epoch 3392/5000
35/35 [==============================] - 0s 655us/step - loss: 0.1080
Epoch 3393/5000
35/35 [==============================] - 0s 591us/step - loss: 0.1082
Epoch 3394/5000
35/35 [==============================] - 0s 597us/step - loss: 0.1081
Epoch 3395/5000
35/35 [==============================] - 0s 669us/step - loss: 0.1081
Epoch 3396/5000
35/35 [==============================] - 0s 611us/step - loss: 0.1080
Epoch 3397/5000
35/35 [==============================] - 0s 582us/step - loss: 0.1080
Epoch 3398/5000
35/35 [==============================] - 0s 563us/step - loss: 0.1077
Epoch 3399/5000
35/35 [==============================] - 0s 527us/step - loss: 0.1078
Epoch 3400/5000
35/35 [==============================] - 0s 577us/step - loss: 0.1082
Epoch 3401/5000
35/35 [==============================] - 0s 657us/step - loss: 0.1082
Epoch 3402/5000
35/35 [==============================] - 0s 632us/step - loss: 0.1080
Epoch 3403/5000
35/35 [==============================] - 0s 587us/step - loss: 0.1078
Epoch 3404/5000
35/35 [==============================] - 0s 677us/step - loss: 0.1076
Epoch 3405/5000
35/35 [==============================] - 0s 550us/step - loss: 0.1078
Epoch 3406/5000
35/35 [==============================] - 0s 579us/step - loss: 0.1082
Epoch 3407/5000
35/35 [==============================] - 0s 562us/step - loss: 0.1079
Epoch 3408/5000
35/35 [==============================] - 0s 552us/step - loss: 0.1078
Epoch 3409/5000
35/35 [==============================] - 0s 725us/step - loss: 0.1075
Epoch 3410/5000
35/35 [==============================] - 0s 667us/step - loss: 0.1074
Epoch 3411/5000
35/35 [==============================] - 0s 579us/step - loss: 0.1072
Epoch 3412/5000
35/35 [==============================] - 0s 579us/step - loss: 0.1074
Epoch 3413/5000
35/35 [==============================] - 0s 556us/step - loss: 0.1073
Epoch 3414/5000
35/35 [==============================] - 0s 667us/step - loss: 0.1074
Epoch 3415/5000
35/35 [==============================] - 0s 648us/step - loss: 0.1073
Epoch 3416/5000
35/35 [==============================] - 0s 598us/step - loss: 0.1068
Epoch 3417/5000
35/35 [==============================] - 0s 565us/step - loss: 0.1069
Epoch 3418/5000
35/35 [==============================] - 0s 534us/step - loss: 0.1073
Epoch 3419/5000
35/35 [==============================] - 0s 774us/step - loss: 0.1072
Epoch 3420/5000
35/35 [==============================] - 0s 612us/step - loss: 0.1071
Epoch 3421/5000
35/35 [==============================] - 0s 577us/step - loss: 0.1074
Epoch 3422/5000
35/35 [==============================] - 0s 602us/step - loss: 0.1075
Epoch 3423/5000
35/35 [==============================] - 0s 635us/step - loss: 0.1080
Epoch 3424/5000
35/35 [==============================] - 0s 604us/step - loss: 0.1080
Epoch 3425/5000
35/35 [==============================] - 0s 570us/step - loss: 0.1079
Epoch 3426/5000
35/35 [==============================] - 0s 631us/step - loss: 0.1076
Epoch 3427/5000
35/35 [==============================] - 0s 597us/step - loss: 0.1073
Epoch 3428/5000
35/35 [==============================] - 0s 600us/step - loss: 0.1072
Epoch 3429/5000
35/35 [==============================] - 0s 782us/step - loss: 0.1071
Epoch 3430/5000
35/35 [==============================] - 0s 568us/step - loss: 0.1069
Epoch 3431/5000
35/35 [==============================] - 0s 570us/step - loss: 0.1068
Epoch 3432/5000
35/35 [==============================] - 0s 658us/step - loss: 0.1068
Epoch 3433/5000
35/35 [==============================] - 0s 716us/step - loss: 0.1068
Epoch 3434/5000
35/35 [==============================] - 0s 565us/step - loss: 0.1073
Epoch 3435/5000
35/35 [==============================] - 0s 681us/step - loss: 0.1079
Epoch 3436/5000
35/35 [==============================] - 0s 684us/step - loss: 0.1086
Epoch 3437/5000
35/35 [==============================] - 0s 756us/step - loss: 0.1093
Epoch 3438/5000
35/35 [==============================] - 0s 599us/step - loss: 0.1097
Epoch 3439/5000
35/35 [==============================] - 0s 633us/step - loss: 0.1097
Epoch 3440/5000
35/35 [==============================] - 0s 576us/step - loss: 0.1092
Epoch 3441/5000
35/35 [==============================] - 0s 699us/step - loss: 0.1084
Epoch 3442/5000
35/35 [==============================] - 0s 598us/step - loss: 0.1083
Epoch 3443/5000
35/35 [==============================] - 0s 558us/step - loss: 0.1075
Epoch 3444/5000
35/35 [==============================] - 0s 598us/step - loss: 0.1078
Epoch 3445/5000
35/35 [==============================] - 0s 674us/step - loss: 0.1070
Epoch 3446/5000
35/35 [==============================] - 0s 521us/step - loss: 0.1065
Epoch 3447/5000
35/35 [==============================] - 0s 599us/step - loss: 0.1069
Epoch 3448/5000
35/35 [==============================] - 0s 635us/step - loss: 0.1072
Epoch 3449/5000
35/35 [==============================] - 0s 562us/step - loss: 0.1076
Epoch 3450/5000
35/35 [==============================] - 0s 553us/step - loss: 0.1078
Epoch 3451/5000
35/35 [==============================] - 0s 517us/step - loss: 0.1079
Epoch 3452/5000
35/35 [==============================] - 0s 560us/step - loss: 0.1078
Epoch 3453/5000
35/35 [==============================] - 0s 613us/step - loss: 0.1075
Epoch 3454/5000
35/35 [==============================] - 0s 660us/step - loss: 0.1071
Epoch 3455/5000
35/35 [==============================] - 0s 593us/step - loss: 0.1072
Epoch 3456/5000
35/35 [==============================] - 0s 524us/step - loss: 0.1070
Epoch 3457/5000
35/35 [==============================] - 0s 616us/step - loss: 0.1070
Epoch 3458/5000
35/35 [==============================] - 0s 612us/step - loss: 0.1073
Epoch 3459/5000
35/35 [==============================] - 0s 566us/step - loss: 0.1073
Epoch 3460/5000
35/35 [==============================] - 0s 633us/step - loss: 0.1074
Epoch 3461/5000
35/35 [==============================] - 0s 587us/step - loss: 0.1077
Epoch 3462/5000
35/35 [==============================] - 0s 575us/step - loss: 0.1083
Epoch 3463/5000
35/35 [==============================] - 0s 595us/step - loss: 0.1085
Epoch 3464/5000
35/35 [==============================] - 0s 543us/step - loss: 0.1088
Epoch 3465/5000
35/35 [==============================] - 0s 715us/step - loss: 0.1089
Epoch 3466/5000
35/35 [==============================] - 0s 688us/step - loss: 0.1091
Epoch 3467/5000
35/35 [==============================] - 0s 641us/step - loss: 0.1096
Epoch 3468/5000
35/35 [==============================] - 0s 632us/step - loss: 0.1104
Epoch 3469/5000
35/35 [==============================] - 0s 722us/step - loss: 0.1108
Epoch 3470/5000
35/35 [==============================] - 0s 655us/step - loss: 0.1109
Epoch 3471/5000
35/35 [==============================] - 0s 561us/step - loss: 0.1108
Epoch 3472/5000
35/35 [==============================] - 0s 574us/step - loss: 0.1104
Epoch 3473/5000
35/35 [==============================] - 0s 541us/step - loss: 0.1098
Epoch 3474/5000
35/35 [==============================] - 0s 610us/step - loss: 0.1092
Epoch 3475/5000
35/35 [==============================] - 0s 840us/step - loss: 0.1089
Epoch 3476/5000
35/35 [==============================] - 0s 582us/step - loss: 0.1088
Epoch 3477/5000
35/35 [==============================] - 0s 627us/step - loss: 0.1086
Epoch 3478/5000
35/35 [==============================] - 0s 529us/step - loss: 0.1085
Epoch 3479/5000
35/35 [==============================] - 0s 539us/step - loss: 0.1080
Epoch 3480/5000
35/35 [==============================] - 0s 571us/step - loss: 0.1076
Epoch 3481/5000
35/35 [==============================] - 0s 644us/step - loss: 0.1073
Epoch 3482/5000
35/35 [==============================] - 0s 586us/step - loss: 0.1071
Epoch 3483/5000
35/35 [==============================] - 0s 622us/step - loss: 0.1072
Epoch 3484/5000
35/35 [==============================] - 0s 578us/step - loss: 0.1076
Epoch 3485/5000
35/35 [==============================] - 0s 506us/step - loss: 0.1075
Epoch 3486/5000
35/35 [==============================] - 0s 562us/step - loss: 0.1079
Epoch 3487/5000
35/35 [==============================] - 0s 605us/step - loss: 0.1088
Epoch 3488/5000
35/35 [==============================] - 0s 648us/step - loss: 0.1099
Epoch 3489/5000
35/35 [==============================] - 0s 563us/step - loss: 0.1098
Epoch 3490/5000
35/35 [==============================] - 0s 724us/step - loss: 0.1088
Epoch 3491/5000
35/35 [==============================] - 0s 643us/step - loss: 0.1077
Epoch 3492/5000
35/35 [==============================] - 0s 589us/step - loss: 0.1071
Epoch 3493/5000
35/35 [==============================] - 0s 593us/step - loss: 0.1074
Epoch 3494/5000
35/35 [==============================] - 0s 581us/step - loss: 0.1077
Epoch 3495/5000
35/35 [==============================] - 0s 615us/step - loss: 0.1077
Epoch 3496/5000
35/35 [==============================] - 0s 610us/step - loss: 0.1078
Epoch 3497/5000
35/35 [==============================] - 0s 575us/step - loss: 0.1075
Epoch 3498/5000
35/35 [==============================] - 0s 567us/step - loss: 0.1073
Epoch 3499/5000
35/35 [==============================] - 0s 555us/step - loss: 0.1070
Epoch 3500/5000
35/35 [==============================] - 0s 551us/step - loss: 0.1068
Epoch 3501/5000
35/35 [==============================] - 0s 548us/step - loss: 0.1066
Epoch 3502/5000
35/35 [==============================] - 0s 540us/step - loss: 0.1064
Epoch 3503/5000
35/35 [==============================] - 0s 663us/step - loss: 0.1064
Epoch 3504/5000
35/35 [==============================] - 0s 645us/step - loss: 0.1065
Epoch 3505/5000
35/35 [==============================] - 0s 1ms/step - loss: 0.1066
Epoch 3506/5000
35/35 [==============================] - 0s 776us/step - loss: 0.1068
Epoch 3507/5000
35/35 [==============================] - 0s 653us/step - loss: 0.1068
Epoch 3508/5000
35/35 [==============================] - 0s 585us/step - loss: 0.1074
Epoch 3509/5000
35/35 [==============================] - 0s 581us/step - loss: 0.1076
Epoch 3510/5000
35/35 [==============================] - 0s 616us/step - loss: 0.1079
Epoch 3511/5000
35/35 [==============================] - 0s 641us/step - loss: 0.1084
Epoch 3512/5000
35/35 [==============================] - 0s 585us/step - loss: 0.1082
Epoch 3513/5000
35/35 [==============================] - 0s 551us/step - loss: 0.1080
Epoch 3514/5000
35/35 [==============================] - 0s 621us/step - loss: 0.1079
Epoch 3515/5000
35/35 [==============================] - 0s 623us/step - loss: 0.1078
Epoch 3516/5000
35/35 [==============================] - 0s 594us/step - loss: 0.1077
Epoch 3517/5000
35/35 [==============================] - 0s 632us/step - loss: 0.1083
Epoch 3518/5000
35/35 [==============================] - 0s 650us/step - loss: 0.1075
Epoch 3519/5000
35/35 [==============================] - 0s 725us/step - loss: 0.1076
Epoch 3520/5000
35/35 [==============================] - 0s 569us/step - loss: 0.1077
Epoch 3521/5000
35/35 [==============================] - 0s 845us/step - loss: 0.1075
Epoch 3522/5000
35/35 [==============================] - 0s 570us/step - loss: 0.1073
Epoch 3523/5000
35/35 [==============================] - 0s 638us/step - loss: 0.1071
Epoch 3524/5000
35/35 [==============================] - 0s 563us/step - loss: 0.1068
Epoch 3525/5000
35/35 [==============================] - 0s 561us/step - loss: 0.1067
Epoch 3526/5000
35/35 [==============================] - 0s 593us/step - loss: 0.1066
Epoch 3527/5000
35/35 [==============================] - 0s 577us/step - loss: 0.1067
Epoch 3528/5000
35/35 [==============================] - 0s 544us/step - loss: 0.1070
Epoch 3529/5000
35/35 [==============================] - 0s 538us/step - loss: 0.1072
Epoch 3530/5000
35/35 [==============================] - 0s 543us/step - loss: 0.1081
Epoch 3531/5000
35/35 [==============================] - 0s 601us/step - loss: 0.1086
Epoch 3532/5000
35/35 [==============================] - 0s 593us/step - loss: 0.1088
Epoch 3533/5000
35/35 [==============================] - 0s 566us/step - loss: 0.1089
Epoch 3534/5000
35/35 [==============================] - 0s 672us/step - loss: 0.1088
Epoch 3535/5000
35/35 [==============================] - 0s 601us/step - loss: 0.1084
Epoch 3536/5000
35/35 [==============================] - 0s 657us/step - loss: 0.1085
Epoch 3537/5000
35/35 [==============================] - 0s 616us/step - loss: 0.1085
Epoch 3538/5000
35/35 [==============================] - 0s 597us/step - loss: 0.1084
Epoch 3539/5000
35/35 [==============================] - 0s 591us/step - loss: 0.1086
Epoch 3540/5000
35/35 [==============================] - 0s 595us/step - loss: 0.1090
Epoch 3541/5000
35/35 [==============================] - 0s 671us/step - loss: 0.1088
Epoch 3542/5000
35/35 [==============================] - 0s 622us/step - loss: 0.1096
Epoch 3543/5000
35/35 [==============================] - 0s 639us/step - loss: 0.1105
Epoch 3544/5000
35/35 [==============================] - 0s 564us/step - loss: 0.1118
Epoch 3545/5000
35/35 [==============================] - 0s 562us/step - loss: 0.1128
Epoch 3546/5000
35/35 [==============================] - 0s 612us/step - loss: 0.1126
Epoch 3547/5000
35/35 [==============================] - 0s 554us/step - loss: 0.1112
Epoch 3548/5000
35/35 [==============================] - 0s 563us/step - loss: 0.1099
Epoch 3549/5000
35/35 [==============================] - 0s 549us/step - loss: 0.1092
Epoch 3550/5000
35/35 [==============================] - 0s 564us/step - loss: 0.1090
Epoch 3551/5000
35/35 [==============================] - 0s 551us/step - loss: 0.1090
Epoch 3552/5000
35/35 [==============================] - 0s 565us/step - loss: 0.1090
Epoch 3553/5000
35/35 [==============================] - 0s 595us/step - loss: 0.1090
Epoch 3554/5000
35/35 [==============================] - 0s 547us/step - loss: 0.1085
Epoch 3555/5000
35/35 [==============================] - 0s 558us/step - loss: 0.1078
Epoch 3556/5000
35/35 [==============================] - 0s 629us/step - loss: 0.1072
Epoch 3557/5000
35/35 [==============================] - 0s 747us/step - loss: 0.1070
Epoch 3558/5000
35/35 [==============================] - 0s 845us/step - loss: 0.1066
Epoch 3559/5000
35/35 [==============================] - 0s 710us/step - loss: 0.1068
Epoch 3560/5000
35/35 [==============================] - 0s 627us/step - loss: 0.1067
Epoch 3561/5000
35/35 [==============================] - 0s 646us/step - loss: 0.1066
Epoch 3562/5000
35/35 [==============================] - 0s 674us/step - loss: 0.1066
Epoch 3563/5000
35/35 [==============================] - 0s 656us/step - loss: 0.1066
Epoch 3564/5000
35/35 [==============================] - 0s 598us/step - loss: 0.1070
Epoch 3565/5000
35/35 [==============================] - 0s 600us/step - loss: 0.1072
Epoch 3566/5000
35/35 [==============================] - 0s 600us/step - loss: 0.1068
Epoch 3567/5000
35/35 [==============================] - 0s 711us/step - loss: 0.1066
Epoch 3568/5000
35/35 [==============================] - 0s 658us/step - loss: 0.1066
Epoch 3569/5000
35/35 [==============================] - 0s 544us/step - loss: 0.1068
Epoch 3570/5000
35/35 [==============================] - 0s 544us/step - loss: 0.1071
Epoch 3571/5000
35/35 [==============================] - 0s 550us/step - loss: 0.1072
Epoch 3572/5000
35/35 [==============================] - 0s 663us/step - loss: 0.1070
Epoch 3573/5000
35/35 [==============================] - 0s 666us/step - loss: 0.1070
Epoch 3574/5000
35/35 [==============================] - 0s 606us/step - loss: 0.1067
Epoch 3575/5000
35/35 [==============================] - 0s 608us/step - loss: 0.1069
Epoch 3576/5000
35/35 [==============================] - 0s 596us/step - loss: 0.1071
Epoch 3577/5000
35/35 [==============================] - 0s 683us/step - loss: 0.1069
Epoch 3578/5000
35/35 [==============================] - 0s 589us/step - loss: 0.1065
Epoch 3579/5000
35/35 [==============================] - 0s 579us/step - loss: 0.1062
Epoch 3580/5000
35/35 [==============================] - 0s 578us/step - loss: 0.1064
Epoch 3581/5000
35/35 [==============================] - 0s 688us/step - loss: 0.1064
Epoch 3582/5000
35/35 [==============================] - 0s 553us/step - loss: 0.1063
Epoch 3583/5000
35/35 [==============================] - 0s 645us/step - loss: 0.1063
Epoch 3584/5000
35/35 [==============================] - 0s 606us/step - loss: 0.1066
Epoch 3585/5000
35/35 [==============================] - 0s 622us/step - loss: 0.1064
Epoch 3586/5000
35/35 [==============================] - 0s 592us/step - loss: 0.1065
Epoch 3587/5000
35/35 [==============================] - 0s 591us/step - loss: 0.1064
Epoch 3588/5000
35/35 [==============================] - 0s 601us/step - loss: 0.1069
Epoch 3589/5000
35/35 [==============================] - 0s 608us/step - loss: 0.1071
Epoch 3590/5000
35/35 [==============================] - 0s 600us/step - loss: 0.1067
Epoch 3591/5000
35/35 [==============================] - 0s 564us/step - loss: 0.1067
Epoch 3592/5000
35/35 [==============================] - 0s 627us/step - loss: 0.1069
Epoch 3593/5000
35/35 [==============================] - 0s 599us/step - loss: 0.1069
Epoch 3594/5000
35/35 [==============================] - 0s 603us/step - loss: 0.1082
Epoch 3595/5000
35/35 [==============================] - 0s 608us/step - loss: 0.1107
Epoch 3596/5000
35/35 [==============================] - 0s 653us/step - loss: 0.1111
Epoch 3597/5000
35/35 [==============================] - 0s 714us/step - loss: 0.1107
Epoch 3598/5000
35/35 [==============================] - 0s 535us/step - loss: 0.1104
Epoch 3599/5000
35/35 [==============================] - 0s 592us/step - loss: 0.1097
Epoch 3600/5000
35/35 [==============================] - 0s 741us/step - loss: 0.1098
Epoch 3601/5000
35/35 [==============================] - 0s 607us/step - loss: 0.1097
Epoch 3602/5000
35/35 [==============================] - 0s 796us/step - loss: 0.1091
Epoch 3603/5000
35/35 [==============================] - 0s 658us/step - loss: 0.1081
Epoch 3604/5000
35/35 [==============================] - 0s 770us/step - loss: 0.1072
Epoch 3605/5000
35/35 [==============================] - 0s 606us/step - loss: 0.1064
Epoch 3606/5000
35/35 [==============================] - 0s 530us/step - loss: 0.1059
Epoch 3607/5000
35/35 [==============================] - 0s 512us/step - loss: 0.1065
Epoch 3608/5000
35/35 [==============================] - 0s 579us/step - loss: 0.1059
Epoch 3609/5000
35/35 [==============================] - 0s 602us/step - loss: 0.1058
Epoch 3610/5000
35/35 [==============================] - 0s 621us/step - loss: 0.1060
Epoch 3611/5000
35/35 [==============================] - 0s 555us/step - loss: 0.1063
Epoch 3612/5000
35/35 [==============================] - 0s 585us/step - loss: 0.1071
Epoch 3613/5000
35/35 [==============================] - 0s 757us/step - loss: 0.1076
Epoch 3614/5000
35/35 [==============================] - 0s 681us/step - loss: 0.1083
Epoch 3615/5000
35/35 [==============================] - 0s 711us/step - loss: 0.1082
Epoch 3616/5000
35/35 [==============================] - 0s 606us/step - loss: 0.1081
Epoch 3617/5000
35/35 [==============================] - 0s 708us/step - loss: 0.1078
Epoch 3618/5000
35/35 [==============================] - 0s 601us/step - loss: 0.1078
Epoch 3619/5000
35/35 [==============================] - 0s 587us/step - loss: 0.1076
Epoch 3620/5000
35/35 [==============================] - 0s 548us/step - loss: 0.1069
Epoch 3621/5000
35/35 [==============================] - 0s 617us/step - loss: 0.1067
Epoch 3622/5000
35/35 [==============================] - 0s 611us/step - loss: 0.1069
Epoch 3623/5000
35/35 [==============================] - 0s 563us/step - loss: 0.1070
Epoch 3624/5000
35/35 [==============================] - 0s 646us/step - loss: 0.1085
Epoch 3625/5000
35/35 [==============================] - 0s 570us/step - loss: 0.1093
Epoch 3626/5000
35/35 [==============================] - 0s 611us/step - loss: 0.1094
Epoch 3627/5000
35/35 [==============================] - 0s 591us/step - loss: 0.1092
Epoch 3628/5000
35/35 [==============================] - 0s 593us/step - loss: 0.1086
Epoch 3629/5000
35/35 [==============================] - 0s 665us/step - loss: 0.1082
Epoch 3630/5000
35/35 [==============================] - 0s 713us/step - loss: 0.1077
Epoch 3631/5000
35/35 [==============================] - 0s 600us/step - loss: 0.1073
Epoch 3632/5000
35/35 [==============================] - 0s 581us/step - loss: 0.1076
Epoch 3633/5000
35/35 [==============================] - 0s 676us/step - loss: 0.1080
Epoch 3634/5000
35/35 [==============================] - 0s 612us/step - loss: 0.1078
Epoch 3635/5000
35/35 [==============================] - 0s 825us/step - loss: 0.1075
Epoch 3636/5000
35/35 [==============================] - 0s 622us/step - loss: 0.1074
Epoch 3637/5000
35/35 [==============================] - 0s 636us/step - loss: 0.1069
Epoch 3638/5000
35/35 [==============================] - 0s 519us/step - loss: 0.1061
Epoch 3639/5000
35/35 [==============================] - 0s 562us/step - loss: 0.1061
Epoch 3640/5000
35/35 [==============================] - 0s 590us/step - loss: 0.1059
Epoch 3641/5000
35/35 [==============================] - 0s 557us/step - loss: 0.1060
Epoch 3642/5000
35/35 [==============================] - 0s 620us/step - loss: 0.1056
Epoch 3643/5000
35/35 [==============================] - 0s 595us/step - loss: 0.1054
Epoch 3644/5000
35/35 [==============================] - 0s 596us/step - loss: 0.1060
Epoch 3645/5000
35/35 [==============================] - 0s 598us/step - loss: 0.1068
Epoch 3646/5000
35/35 [==============================] - 0s 534us/step - loss: 0.1069
Epoch 3647/5000
35/35 [==============================] - 0s 790us/step - loss: 0.1072
Epoch 3648/5000
35/35 [==============================] - 0s 611us/step - loss: 0.1070
Epoch 3649/5000
35/35 [==============================] - 0s 652us/step - loss: 0.1068
Epoch 3650/5000
35/35 [==============================] - 0s 625us/step - loss: 0.1064
Epoch 3651/5000
35/35 [==============================] - 0s 505us/step - loss: 0.1067
Epoch 3652/5000
35/35 [==============================] - 0s 629us/step - loss: 0.1057
Epoch 3653/5000
35/35 [==============================] - 0s 590us/step - loss: 0.1061
Epoch 3654/5000
35/35 [==============================] - 0s 671us/step - loss: 0.1063
Epoch 3655/5000
35/35 [==============================] - 0s 595us/step - loss: 0.1061
Epoch 3656/5000
35/35 [==============================] - 0s 634us/step - loss: 0.1072
Epoch 3657/5000
35/35 [==============================] - 0s 665us/step - loss: 0.1078
Epoch 3658/5000
35/35 [==============================] - 0s 711us/step - loss: 0.1083
Epoch 3659/5000
35/35 [==============================] - 0s 677us/step - loss: 0.1088
Epoch 3660/5000
35/35 [==============================] - 0s 525us/step - loss: 0.1091
Epoch 3661/5000
35/35 [==============================] - 0s 599us/step - loss: 0.1093
Epoch 3662/5000
35/35 [==============================] - 0s 576us/step - loss: 0.1092
Epoch 3663/5000
35/35 [==============================] - 0s 551us/step - loss: 0.1088
Epoch 3664/5000
35/35 [==============================] - 0s 586us/step - loss: 0.1083
Epoch 3665/5000
35/35 [==============================] - 0s 617us/step - loss: 0.1078
Epoch 3666/5000
35/35 [==============================] - 0s 610us/step - loss: 0.1075
Epoch 3667/5000
35/35 [==============================] - 0s 586us/step - loss: 0.1066
Epoch 3668/5000
35/35 [==============================] - 0s 544us/step - loss: 0.1062
Epoch 3669/5000
35/35 [==============================] - 0s 561us/step - loss: 0.1061
Epoch 3670/5000
35/35 [==============================] - 0s 561us/step - loss: 0.1063
Epoch 3671/5000
35/35 [==============================] - 0s 673us/step - loss: 0.1073
Epoch 3672/5000
35/35 [==============================] - 0s 562us/step - loss: 0.1086
Epoch 3673/5000
35/35 [==============================] - 0s 695us/step - loss: 0.1096
Epoch 3674/5000
35/35 [==============================] - 0s 580us/step - loss: 0.1088
Epoch 3675/5000
35/35 [==============================] - 0s 556us/step - loss: 0.1082
Epoch 3676/5000
35/35 [==============================] - 0s 691us/step - loss: 0.1074
Epoch 3677/5000
35/35 [==============================] - 0s 623us/step - loss: 0.1074
Epoch 3678/5000
35/35 [==============================] - 0s 689us/step - loss: 0.1079
Epoch 3679/5000
35/35 [==============================] - 0s 547us/step - loss: 0.1075
Epoch 3680/5000
35/35 [==============================] - 0s 549us/step - loss: 0.1073
Epoch 3681/5000
35/35 [==============================] - 0s 591us/step - loss: 0.1070
Epoch 3682/5000
35/35 [==============================] - 0s 569us/step - loss: 0.1068
Epoch 3683/5000
35/35 [==============================] - 0s 532us/step - loss: 0.1065
Epoch 3684/5000
35/35 [==============================] - 0s 596us/step - loss: 0.1062
Epoch 3685/5000
35/35 [==============================] - 0s 563us/step - loss: 0.1059
Epoch 3686/5000
35/35 [==============================] - 0s 626us/step - loss: 0.1062
Epoch 3687/5000
35/35 [==============================] - 0s 586us/step - loss: 0.1063
Epoch 3688/5000
35/35 [==============================] - 0s 604us/step - loss: 0.1062
Epoch 3689/5000
35/35 [==============================] - 0s 585us/step - loss: 0.1066
Epoch 3690/5000
35/35 [==============================] - 0s 695us/step - loss: 0.1069
Epoch 3691/5000
35/35 [==============================] - 0s 560us/step - loss: 0.1070
Epoch 3692/5000
35/35 [==============================] - 0s 676us/step - loss: 0.1080
Epoch 3693/5000
35/35 [==============================] - 0s 757us/step - loss: 0.1089
Epoch 3694/5000
35/35 [==============================] - 0s 577us/step - loss: 0.1095
Epoch 3695/5000
35/35 [==============================] - 0s 593us/step - loss: 0.1092
Epoch 3696/5000
35/35 [==============================] - 0s 580us/step - loss: 0.1085
Epoch 3697/5000
35/35 [==============================] - 0s 563us/step - loss: 0.1079
Epoch 3698/5000
35/35 [==============================] - 0s 520us/step - loss: 0.1076
Epoch 3699/5000
35/35 [==============================] - 0s 663us/step - loss: 0.1076
Epoch 3700/5000
35/35 [==============================] - 0s 636us/step - loss: 0.1073
Epoch 3701/5000
35/35 [==============================] - 0s 532us/step - loss: 0.1072
Epoch 3702/5000
35/35 [==============================] - 0s 584us/step - loss: 0.1076
Epoch 3703/5000
35/35 [==============================] - 0s 588us/step - loss: 0.1078
Epoch 3704/5000
35/35 [==============================] - 0s 667us/step - loss: 0.1074
Epoch 3705/5000
35/35 [==============================] - 0s 720us/step - loss: 0.1070
Epoch 3706/5000
35/35 [==============================] - 0s 648us/step - loss: 0.1067
Epoch 3707/5000
35/35 [==============================] - 0s 520us/step - loss: 0.1064
Epoch 3708/5000
35/35 [==============================] - 0s 586us/step - loss: 0.1069
Epoch 3709/5000
35/35 [==============================] - 0s 569us/step - loss: 0.1069
Epoch 3710/5000
35/35 [==============================] - 0s 555us/step - loss: 0.1068
Epoch 3711/5000
35/35 [==============================] - 0s 580us/step - loss: 0.1067
Epoch 3712/5000
35/35 [==============================] - 0s 545us/step - loss: 0.1064
Epoch 3713/5000
35/35 [==============================] - 0s 572us/step - loss: 0.1064
Epoch 3714/5000
35/35 [==============================] - 0s 513us/step - loss: 0.1068
Epoch 3715/5000
35/35 [==============================] - 0s 561us/step - loss: 0.1070
Epoch 3716/5000
35/35 [==============================] - 0s 507us/step - loss: 0.1071
Epoch 3717/5000
35/35 [==============================] - 0s 551us/step - loss: 0.1067
Epoch 3718/5000
35/35 [==============================] - 0s 603us/step - loss: 0.1066
Epoch 3719/5000
35/35 [==============================] - 0s 535us/step - loss: 0.1070
Epoch 3720/5000
35/35 [==============================] - 0s 603us/step - loss: 0.1069
Epoch 3721/5000
35/35 [==============================] - 0s 557us/step - loss: 0.1060
Epoch 3722/5000
35/35 [==============================] - 0s 698us/step - loss: 0.1052
Epoch 3723/5000
35/35 [==============================] - 0s 708us/step - loss: 0.1054
Epoch 3724/5000
35/35 [==============================] - 0s 541us/step - loss: 0.1068
Epoch 3725/5000
35/35 [==============================] - 0s 515us/step - loss: 0.1070
Epoch 3726/5000
35/35 [==============================] - 0s 562us/step - loss: 0.1070
Epoch 3727/5000
35/35 [==============================] - 0s 661us/step - loss: 0.1071
Epoch 3728/5000
35/35 [==============================] - 0s 560us/step - loss: 0.1072
Epoch 3729/5000
35/35 [==============================] - 0s 596us/step - loss: 0.1071
Epoch 3730/5000
35/35 [==============================] - 0s 569us/step - loss: 0.1071
Epoch 3731/5000
35/35 [==============================] - 0s 656us/step - loss: 0.1070
Epoch 3732/5000
35/35 [==============================] - 0s 730us/step - loss: 0.1068
Epoch 3733/5000
35/35 [==============================] - 0s 568us/step - loss: 0.1067
Epoch 3734/5000
35/35 [==============================] - 0s 544us/step - loss: 0.1063
Epoch 3735/5000
35/35 [==============================] - 0s 570us/step - loss: 0.1059
Epoch 3736/5000
35/35 [==============================] - 0s 576us/step - loss: 0.1057
Epoch 3737/5000
35/35 [==============================] - 0s 609us/step - loss: 0.1056
Epoch 3738/5000
35/35 [==============================] - 0s 554us/step - loss: 0.1054
Epoch 3739/5000
35/35 [==============================] - 0s 649us/step - loss: 0.1053
Epoch 3740/5000
35/35 [==============================] - 0s 762us/step - loss: 0.1053
Epoch 3741/5000
35/35 [==============================] - 0s 735us/step - loss: 0.1054
Epoch 3742/5000
35/35 [==============================] - 0s 596us/step - loss: 0.1055
Epoch 3743/5000
35/35 [==============================] - 0s 624us/step - loss: 0.1056
Epoch 3744/5000
35/35 [==============================] - 0s 603us/step - loss: 0.1057
Epoch 3745/5000
35/35 [==============================] - 0s 608us/step - loss: 0.1055
Epoch 3746/5000
35/35 [==============================] - 0s 632us/step - loss: 0.1054
Epoch 3747/5000
35/35 [==============================] - 0s 603us/step - loss: 0.1054
Epoch 3748/5000
35/35 [==============================] - 0s 653us/step - loss: 0.1057
Epoch 3749/5000
35/35 [==============================] - 0s 578us/step - loss: 0.1061
Epoch 3750/5000
35/35 [==============================] - 0s 586us/step - loss: 0.1063
Epoch 3751/5000
35/35 [==============================] - 0s 594us/step - loss: 0.1065
Epoch 3752/5000
35/35 [==============================] - 0s 556us/step - loss: 0.1062
Epoch 3753/5000
35/35 [==============================] - 0s 731us/step - loss: 0.1057
Epoch 3754/5000
35/35 [==============================] - 0s 638us/step - loss: 0.1056
Epoch 3755/5000
35/35 [==============================] - 0s 546us/step - loss: 0.1057
Epoch 3756/5000
35/35 [==============================] - 0s 576us/step - loss: 0.1059
Epoch 3757/5000
35/35 [==============================] - 0s 580us/step - loss: 0.1062
Epoch 3758/5000
35/35 [==============================] - 0s 563us/step - loss: 0.1065
Epoch 3759/5000
35/35 [==============================] - 0s 585us/step - loss: 0.1070
Epoch 3760/5000
35/35 [==============================] - 0s 567us/step - loss: 0.1065
Epoch 3761/5000
35/35 [==============================] - 0s 563us/step - loss: 0.1056
Epoch 3762/5000
35/35 [==============================] - 0s 566us/step - loss: 0.1055
Epoch 3763/5000
35/35 [==============================] - 0s 626us/step - loss: 0.1052
Epoch 3764/5000
35/35 [==============================] - 0s 611us/step - loss: 0.1053
Epoch 3765/5000
35/35 [==============================] - 0s 523us/step - loss: 0.1055
Epoch 3766/5000
35/35 [==============================] - 0s 626us/step - loss: 0.1056
Epoch 3767/5000
35/35 [==============================] - 0s 589us/step - loss: 0.1053
Epoch 3768/5000
35/35 [==============================] - 0s 524us/step - loss: 0.1052
Epoch 3769/5000
35/35 [==============================] - 0s 590us/step - loss: 0.1055
Epoch 3770/5000
35/35 [==============================] - 0s 583us/step - loss: 0.1066
Epoch 3771/5000
35/35 [==============================] - 0s 576us/step - loss: 0.1075
Epoch 3772/5000
35/35 [==============================] - 0s 544us/step - loss: 0.1080
Epoch 3773/5000
35/35 [==============================] - 0s 512us/step - loss: 0.1085
Epoch 3774/5000
35/35 [==============================] - 0s 629us/step - loss: 0.1085
Epoch 3775/5000
35/35 [==============================] - 0s 585us/step - loss: 0.1084
Epoch 3776/5000
35/35 [==============================] - 0s 597us/step - loss: 0.1082
Epoch 3777/5000
35/35 [==============================] - 0s 624us/step - loss: 0.1080
Epoch 3778/5000
35/35 [==============================] - 0s 640us/step - loss: 0.1075
Epoch 3779/5000
35/35 [==============================] - 0s 679us/step - loss: 0.1068
Epoch 3780/5000
35/35 [==============================] - 0s 602us/step - loss: 0.1065
Epoch 3781/5000
35/35 [==============================] - 0s 606us/step - loss: 0.1066
Epoch 3782/5000
35/35 [==============================] - 0s 567us/step - loss: 0.1065
Epoch 3783/5000
35/35 [==============================] - 0s 589us/step - loss: 0.1067
Epoch 3784/5000
35/35 [==============================] - 0s 576us/step - loss: 0.1071
Epoch 3785/5000
35/35 [==============================] - 0s 585us/step - loss: 0.1078
Epoch 3786/5000
35/35 [==============================] - 0s 569us/step - loss: 0.1080
Epoch 3787/5000
35/35 [==============================] - 0s 852us/step - loss: 0.1080
Epoch 3788/5000
35/35 [==============================] - 0s 722us/step - loss: 0.1081
Epoch 3789/5000
35/35 [==============================] - 0s 571us/step - loss: 0.1076
Epoch 3790/5000
35/35 [==============================] - 0s 597us/step - loss: 0.1064
Epoch 3791/5000
35/35 [==============================] - 0s 482us/step - loss: 0.1064
Epoch 3792/5000
35/35 [==============================] - 0s 603us/step - loss: 0.1060
Epoch 3793/5000
35/35 [==============================] - 0s 568us/step - loss: 0.1057
Epoch 3794/5000
35/35 [==============================] - 0s 591us/step - loss: 0.1056
Epoch 3795/5000
35/35 [==============================] - 0s 702us/step - loss: 0.1059
Epoch 3796/5000
35/35 [==============================] - 0s 897us/step - loss: 0.1058
Epoch 3797/5000
35/35 [==============================] - 0s 723us/step - loss: 0.1058
Epoch 3798/5000
35/35 [==============================] - 0s 603us/step - loss: 0.1057
Epoch 3799/5000
35/35 [==============================] - 0s 763us/step - loss: 0.1059
Epoch 3800/5000
35/35 [==============================] - 0s 603us/step - loss: 0.1060
Epoch 3801/5000
35/35 [==============================] - 0s 576us/step - loss: 0.1061
Epoch 3802/5000
35/35 [==============================] - 0s 558us/step - loss: 0.1055
Epoch 3803/5000
35/35 [==============================] - 0s 548us/step - loss: 0.1050
Epoch 3804/5000
35/35 [==============================] - 0s 536us/step - loss: 0.1049
Epoch 3805/5000
35/35 [==============================] - 0s 567us/step - loss: 0.1050
Epoch 3806/5000
35/35 [==============================] - 0s 584us/step - loss: 0.1047
Epoch 3807/5000
35/35 [==============================] - 0s 628us/step - loss: 0.1047
Epoch 3808/5000
35/35 [==============================] - 0s 604us/step - loss: 0.1050
Epoch 3809/5000
35/35 [==============================] - 0s 537us/step - loss: 0.1050
Epoch 3810/5000
35/35 [==============================] - 0s 597us/step - loss: 0.1049
Epoch 3811/5000
35/35 [==============================] - 0s 545us/step - loss: 0.1046
Epoch 3812/5000
35/35 [==============================] - 0s 571us/step - loss: 0.1048
Epoch 3813/5000
35/35 [==============================] - 0s 590us/step - loss: 0.1055
Epoch 3814/5000
35/35 [==============================] - 0s 529us/step - loss: 0.1054
Epoch 3815/5000
35/35 [==============================] - 0s 666us/step - loss: 0.1057
Epoch 3816/5000
35/35 [==============================] - 0s 525us/step - loss: 0.1062
Epoch 3817/5000
35/35 [==============================] - 0s 563us/step - loss: 0.1065
Epoch 3818/5000
35/35 [==============================] - 0s 616us/step - loss: 0.1065
Epoch 3819/5000
35/35 [==============================] - 0s 585us/step - loss: 0.1065
Epoch 3820/5000
35/35 [==============================] - 0s 561us/step - loss: 0.1062
Epoch 3821/5000
35/35 [==============================] - 0s 588us/step - loss: 0.1062
Epoch 3822/5000
35/35 [==============================] - 0s 716us/step - loss: 0.1062
Epoch 3823/5000
35/35 [==============================] - 0s 569us/step - loss: 0.1065
Epoch 3824/5000
35/35 [==============================] - 0s 570us/step - loss: 0.1071
Epoch 3825/5000
35/35 [==============================] - 0s 496us/step - loss: 0.1079
Epoch 3826/5000
35/35 [==============================] - 0s 506us/step - loss: 0.1089
Epoch 3827/5000
35/35 [==============================] - 0s 563us/step - loss: 0.1100
Epoch 3828/5000
35/35 [==============================] - 0s 555us/step - loss: 0.1101
Epoch 3829/5000
35/35 [==============================] - 0s 548us/step - loss: 0.1098
Epoch 3830/5000
35/35 [==============================] - 0s 574us/step - loss: 0.1094
Epoch 3831/5000
35/35 [==============================] - 0s 578us/step - loss: 0.1090
Epoch 3832/5000
35/35 [==============================] - 0s 570us/step - loss: 0.1085
Epoch 3833/5000
35/35 [==============================] - 0s 631us/step - loss: 0.1072
Epoch 3834/5000
35/35 [==============================] - 0s 810us/step - loss: 0.1066
Epoch 3835/5000
35/35 [==============================] - 0s 546us/step - loss: 0.1067
Epoch 3836/5000
35/35 [==============================] - 0s 543us/step - loss: 0.1074
Epoch 3837/5000
35/35 [==============================] - 0s 549us/step - loss: 0.1077
Epoch 3838/5000
35/35 [==============================] - 0s 554us/step - loss: 0.1077
Epoch 3839/5000
35/35 [==============================] - 0s 687us/step - loss: 0.1075
Epoch 3840/5000
35/35 [==============================] - 0s 652us/step - loss: 0.1075
Epoch 3841/5000
35/35 [==============================] - 0s 573us/step - loss: 0.1072
Epoch 3842/5000
35/35 [==============================] - 0s 636us/step - loss: 0.1068
Epoch 3843/5000
35/35 [==============================] - 0s 570us/step - loss: 0.1068
Epoch 3844/5000
35/35 [==============================] - 0s 614us/step - loss: 0.1064
Epoch 3845/5000
35/35 [==============================] - 0s 554us/step - loss: 0.1059
Epoch 3846/5000
35/35 [==============================] - 0s 570us/step - loss: 0.1056
Epoch 3847/5000
35/35 [==============================] - 0s 830us/step - loss: 0.1058
Epoch 3848/5000
35/35 [==============================] - 0s 608us/step - loss: 0.1057
Epoch 3849/5000
35/35 [==============================] - 0s 549us/step - loss: 0.1062
Epoch 3850/5000
35/35 [==============================] - 0s 610us/step - loss: 0.1066
Epoch 3851/5000
35/35 [==============================] - 0s 536us/step - loss: 0.1069
Epoch 3852/5000
35/35 [==============================] - 0s 679us/step - loss: 0.1072
Epoch 3853/5000
35/35 [==============================] - 0s 578us/step - loss: 0.1071
Epoch 3854/5000
35/35 [==============================] - 0s 547us/step - loss: 0.1074
Epoch 3855/5000
35/35 [==============================] - 0s 547us/step - loss: 0.1078
Epoch 3856/5000
35/35 [==============================] - 0s 534us/step - loss: 0.1072
Epoch 3857/5000
35/35 [==============================] - 0s 550us/step - loss: 0.1069
Epoch 3858/5000
35/35 [==============================] - 0s 605us/step - loss: 0.1061
Epoch 3859/5000
35/35 [==============================] - 0s 548us/step - loss: 0.1049
Epoch 3860/5000
35/35 [==============================] - 0s 570us/step - loss: 0.1047
Epoch 3861/5000
35/35 [==============================] - 0s 563us/step - loss: 0.1044
Epoch 3862/5000
35/35 [==============================] - 0s 538us/step - loss: 0.1038
Epoch 3863/5000
35/35 [==============================] - 0s 525us/step - loss: 0.1043
Epoch 3864/5000
35/35 [==============================] - 0s 579us/step - loss: 0.1048
Epoch 3865/5000
35/35 [==============================] - 0s 556us/step - loss: 0.1063
Epoch 3866/5000
35/35 [==============================] - 0s 555us/step - loss: 0.1080
Epoch 3867/5000
35/35 [==============================] - 0s 641us/step - loss: 0.1093
Epoch 3868/5000
35/35 [==============================] - 0s 695us/step - loss: 0.1109
Epoch 3869/5000
35/35 [==============================] - 0s 518us/step - loss: 0.1119
Epoch 3870/5000
35/35 [==============================] - 0s 571us/step - loss: 0.1105
Epoch 3871/5000
35/35 [==============================] - 0s 607us/step - loss: 0.1070
Epoch 3872/5000
35/35 [==============================] - 0s 702us/step - loss: 0.1061
Epoch 3873/5000
35/35 [==============================] - 0s 587us/step - loss: 0.1056
Epoch 3874/5000
35/35 [==============================] - 0s 602us/step - loss: 0.1054
Epoch 3875/5000
35/35 [==============================] - 0s 564us/step - loss: 0.1054
Epoch 3876/5000
35/35 [==============================] - 0s 548us/step - loss: 0.1050
Epoch 3877/5000
35/35 [==============================] - 0s 565us/step - loss: 0.1054
Epoch 3878/5000
35/35 [==============================] - 0s 640us/step - loss: 0.1054
Epoch 3879/5000
35/35 [==============================] - 0s 572us/step - loss: 0.1054
Epoch 3880/5000
35/35 [==============================] - 0s 603us/step - loss: 0.1051
Epoch 3881/5000
35/35 [==============================] - 0s 673us/step - loss: 0.1048
Epoch 3882/5000
35/35 [==============================] - 0s 711us/step - loss: 0.1042
Epoch 3883/5000
35/35 [==============================] - 0s 567us/step - loss: 0.1037
Epoch 3884/5000
35/35 [==============================] - 0s 554us/step - loss: 0.1034
Epoch 3885/5000
35/35 [==============================] - 0s 569us/step - loss: 0.1033
Epoch 3886/5000
35/35 [==============================] - 0s 571us/step - loss: 0.1034
Epoch 3887/5000
35/35 [==============================] - 0s 605us/step - loss: 0.1041
Epoch 3888/5000
35/35 [==============================] - 0s 567us/step - loss: 0.1038
Epoch 3889/5000
35/35 [==============================] - 0s 582us/step - loss: 0.1044
Epoch 3890/5000
35/35 [==============================] - 0s 590us/step - loss: 0.1053
Epoch 3891/5000
35/35 [==============================] - 0s 588us/step - loss: 0.1062
Epoch 3892/5000
35/35 [==============================] - 0s 563us/step - loss: 0.1064
Epoch 3893/5000
35/35 [==============================] - 0s 571us/step - loss: 0.1064
Epoch 3894/5000
35/35 [==============================] - 0s 594us/step - loss: 0.1062
Epoch 3895/5000
35/35 [==============================] - 0s 757us/step - loss: 0.1062
Epoch 3896/5000
35/35 [==============================] - 0s 605us/step - loss: 0.1059
Epoch 3897/5000
35/35 [==============================] - 0s 551us/step - loss: 0.1059
Epoch 3898/5000
35/35 [==============================] - 0s 552us/step - loss: 0.1055
Epoch 3899/5000
35/35 [==============================] - 0s 593us/step - loss: 0.1050
Epoch 3900/5000
35/35 [==============================] - 0s 628us/step - loss: 0.1047
Epoch 3901/5000
35/35 [==============================] - 0s 596us/step - loss: 0.1042
Epoch 3902/5000
35/35 [==============================] - 0s 564us/step - loss: 0.1039
Epoch 3903/5000
35/35 [==============================] - 0s 636us/step - loss: 0.1035
Epoch 3904/5000
35/35 [==============================] - 0s 577us/step - loss: 0.1036
Epoch 3905/5000
35/35 [==============================] - 0s 557us/step - loss: 0.1042
Epoch 3906/5000
35/35 [==============================] - 0s 610us/step - loss: 0.1046
Epoch 3907/5000
35/35 [==============================] - 0s 586us/step - loss: 0.1056
Epoch 3908/5000
35/35 [==============================] - 0s 600us/step - loss: 0.1069
Epoch 3909/5000
35/35 [==============================] - 0s 684us/step - loss: 0.1078
Epoch 3910/5000
35/35 [==============================] - 0s 555us/step - loss: 0.1089
Epoch 3911/5000
35/35 [==============================] - 0s 559us/step - loss: 0.1089
Epoch 3912/5000
35/35 [==============================] - 0s 663us/step - loss: 0.1077
Epoch 3913/5000
35/35 [==============================] - 0s 597us/step - loss: 0.1070
Epoch 3914/5000
35/35 [==============================] - 0s 532us/step - loss: 0.1062
Epoch 3915/5000
35/35 [==============================] - 0s 608us/step - loss: 0.1056
Epoch 3916/5000
35/35 [==============================] - 0s 598us/step - loss: 0.1051
Epoch 3917/5000
35/35 [==============================] - 0s 575us/step - loss: 0.1048
Epoch 3918/5000
35/35 [==============================] - 0s 566us/step - loss: 0.1047
Epoch 3919/5000
35/35 [==============================] - 0s 538us/step - loss: 0.1054
Epoch 3920/5000
35/35 [==============================] - 0s 612us/step - loss: 0.1052
Epoch 3921/5000
35/35 [==============================] - 0s 558us/step - loss: 0.1055
Epoch 3922/5000
35/35 [==============================] - 0s 600us/step - loss: 0.1059
Epoch 3923/5000
35/35 [==============================] - 0s 540us/step - loss: 0.1064
Epoch 3924/5000
35/35 [==============================] - 0s 555us/step - loss: 0.1062
Epoch 3925/5000
35/35 [==============================] - 0s 560us/step - loss: 0.1059
Epoch 3926/5000
35/35 [==============================] - 0s 598us/step - loss: 0.1057
Epoch 3927/5000
35/35 [==============================] - 0s 692us/step - loss: 0.1052
Epoch 3928/5000
35/35 [==============================] - 0s 1ms/step - loss: 0.1040
Epoch 3929/5000
35/35 [==============================] - 0s 554us/step - loss: 0.1040
Epoch 3930/5000
35/35 [==============================] - 0s 568us/step - loss: 0.1039
Epoch 3931/5000
35/35 [==============================] - 0s 571us/step - loss: 0.1034
Epoch 3932/5000
35/35 [==============================] - 0s 584us/step - loss: 0.1035
Epoch 3933/5000
35/35 [==============================] - 0s 645us/step - loss: 0.1038
Epoch 3934/5000
35/35 [==============================] - 0s 630us/step - loss: 0.1041
Epoch 3935/5000
35/35 [==============================] - 0s 597us/step - loss: 0.1059
Epoch 3936/5000
35/35 [==============================] - 0s 579us/step - loss: 0.1054
Epoch 3937/5000
35/35 [==============================] - 0s 531us/step - loss: 0.1055
Epoch 3938/5000
35/35 [==============================] - 0s 521us/step - loss: 0.1054
Epoch 3939/5000
35/35 [==============================] - 0s 613us/step - loss: 0.1053
Epoch 3940/5000
35/35 [==============================] - 0s 721us/step - loss: 0.1047
Epoch 3941/5000
35/35 [==============================] - 0s 602us/step - loss: 0.1038
Epoch 3942/5000
35/35 [==============================] - 0s 858us/step - loss: 0.1033
Epoch 3943/5000
35/35 [==============================] - 0s 598us/step - loss: 0.1036
Epoch 3944/5000
35/35 [==============================] - 0s 602us/step - loss: 0.1037
Epoch 3945/5000
35/35 [==============================] - 0s 535us/step - loss: 0.1038
Epoch 3946/5000
35/35 [==============================] - 0s 512us/step - loss: 0.1037
Epoch 3947/5000
35/35 [==============================] - 0s 567us/step - loss: 0.1035
Epoch 3948/5000
35/35 [==============================] - 0s 522us/step - loss: 0.1034
Epoch 3949/5000
35/35 [==============================] - 0s 597us/step - loss: 0.1035
Epoch 3950/5000
35/35 [==============================] - 0s 631us/step - loss: 0.1035
Epoch 3951/5000
35/35 [==============================] - 0s 571us/step - loss: 0.1039
Epoch 3952/5000
35/35 [==============================] - 0s 593us/step - loss: 0.1042
Epoch 3953/5000
35/35 [==============================] - 0s 563us/step - loss: 0.1046
Epoch 3954/5000
35/35 [==============================] - 0s 579us/step - loss: 0.1047
Epoch 3955/5000
35/35 [==============================] - 0s 540us/step - loss: 0.1047
Epoch 3956/5000
35/35 [==============================] - 0s 621us/step - loss: 0.1051
Epoch 3957/5000
35/35 [==============================] - 0s 572us/step - loss: 0.1045
Epoch 3958/5000
35/35 [==============================] - 0s 557us/step - loss: 0.1034
Epoch 3959/5000
35/35 [==============================] - 0s 608us/step - loss: 0.1045
Epoch 3960/5000
35/35 [==============================] - 0s 569us/step - loss: 0.1064
Epoch 3961/5000
35/35 [==============================] - 0s 559us/step - loss: 0.1078
Epoch 3962/5000
35/35 [==============================] - 0s 736us/step - loss: 0.1085
Epoch 3963/5000
35/35 [==============================] - 0s 680us/step - loss: 0.1088
Epoch 3964/5000
35/35 [==============================] - 0s 613us/step - loss: 0.1087
Epoch 3965/5000
35/35 [==============================] - 0s 625us/step - loss: 0.1087
Epoch 3966/5000
35/35 [==============================] - 0s 578us/step - loss: 0.1084
Epoch 3967/5000
35/35 [==============================] - 0s 597us/step - loss: 0.1090
Epoch 3968/5000
35/35 [==============================] - 0s 508us/step - loss: 0.1092
Epoch 3969/5000
35/35 [==============================] - 0s 580us/step - loss: 0.1100
Epoch 3970/5000
35/35 [==============================] - 0s 541us/step - loss: 0.1114
Epoch 3971/5000
35/35 [==============================] - 0s 571us/step - loss: 0.1126
Epoch 3972/5000
35/35 [==============================] - 0s 638us/step - loss: 0.1134
Epoch 3973/5000
35/35 [==============================] - 0s 768us/step - loss: 0.1140
Epoch 3974/5000
35/35 [==============================] - 0s 609us/step - loss: 0.1151
Epoch 3975/5000
35/35 [==============================] - 0s 853us/step - loss: 0.1157
Epoch 3976/5000
35/35 [==============================] - 0s 565us/step - loss: 0.1141
Epoch 3977/5000
35/35 [==============================] - 0s 544us/step - loss: 0.1107
Epoch 3978/5000
35/35 [==============================] - 0s 617us/step - loss: 0.1082
Epoch 3979/5000
35/35 [==============================] - 0s 566us/step - loss: 0.1066
Epoch 3980/5000
35/35 [==============================] - 0s 607us/step - loss: 0.1054
Epoch 3981/5000
35/35 [==============================] - 0s 564us/step - loss: 0.1048
Epoch 3982/5000
35/35 [==============================] - 0s 589us/step - loss: 0.1050
Epoch 3983/5000
35/35 [==============================] - 0s 588us/step - loss: 0.1053
Epoch 3984/5000
35/35 [==============================] - 0s 570us/step - loss: 0.1063
Epoch 3985/5000
35/35 [==============================] - 0s 594us/step - loss: 0.1062
Epoch 3986/5000
35/35 [==============================] - 0s 732us/step - loss: 0.1058
Epoch 3987/5000
35/35 [==============================] - 0s 614us/step - loss: 0.1052
Epoch 3988/5000
35/35 [==============================] - 0s 596us/step - loss: 0.1049
Epoch 3989/5000
35/35 [==============================] - 0s 904us/step - loss: 0.1045
Epoch 3990/5000
35/35 [==============================] - 0s 612us/step - loss: 0.1038
Epoch 3991/5000
35/35 [==============================] - 0s 610us/step - loss: 0.1036
Epoch 3992/5000
35/35 [==============================] - 0s 671us/step - loss: 0.1037
Epoch 3993/5000
35/35 [==============================] - 0s 662us/step - loss: 0.1029
Epoch 3994/5000
35/35 [==============================] - 0s 912us/step - loss: 0.1028
Epoch 3995/5000
35/35 [==============================] - 0s 573us/step - loss: 0.1023
Epoch 3996/5000
35/35 [==============================] - 0s 598us/step - loss: 0.1025
Epoch 3997/5000
35/35 [==============================] - 0s 582us/step - loss: 0.1026
Epoch 3998/5000
35/35 [==============================] - 0s 567us/step - loss: 0.1027
Epoch 3999/5000
35/35 [==============================] - 0s 577us/step - loss: 0.1028
Epoch 4000/5000
35/35 [==============================] - 0s 545us/step - loss: 0.1030
Epoch 4001/5000
35/35 [==============================] - 0s 589us/step - loss: 0.1032
Epoch 4002/5000
35/35 [==============================] - 0s 535us/step - loss: 0.1032
Epoch 4003/5000
35/35 [==============================] - 0s 547us/step - loss: 0.1032
Epoch 4004/5000
35/35 [==============================] - 0s 542us/step - loss: 0.1033
Epoch 4005/5000
35/35 [==============================] - 0s 570us/step - loss: 0.1029
Epoch 4006/5000
35/35 [==============================] - 0s 588us/step - loss: 0.1029
Epoch 4007/5000
35/35 [==============================] - 0s 710us/step - loss: 0.1034
Epoch 4008/5000
35/35 [==============================] - 0s 745us/step - loss: 0.1032
Epoch 4009/5000
35/35 [==============================] - 0s 621us/step - loss: 0.1032
Epoch 4010/5000
35/35 [==============================] - 0s 571us/step - loss: 0.1035
Epoch 4011/5000
35/35 [==============================] - 0s 601us/step - loss: 0.1044
Epoch 4012/5000
35/35 [==============================] - 0s 609us/step - loss: 0.1042
Epoch 4013/5000
35/35 [==============================] - 0s 581us/step - loss: 0.1039
Epoch 4014/5000
35/35 [==============================] - 0s 590us/step - loss: 0.1039
Epoch 4015/5000
35/35 [==============================] - 0s 531us/step - loss: 0.1039
Epoch 4016/5000
35/35 [==============================] - 0s 562us/step - loss: 0.1038
Epoch 4017/5000
35/35 [==============================] - 0s 557us/step - loss: 0.1036
Epoch 4018/5000
35/35 [==============================] - 0s 572us/step - loss: 0.1038
Epoch 4019/5000
35/35 [==============================] - 0s 541us/step - loss: 0.1039
Epoch 4020/5000
35/35 [==============================] - 0s 594us/step - loss: 0.1044
Epoch 4021/5000
35/35 [==============================] - 0s 749us/step - loss: 0.1043
Epoch 4022/5000
35/35 [==============================] - 0s 582us/step - loss: 0.1042
Epoch 4023/5000
35/35 [==============================] - 0s 582us/step - loss: 0.1041
Epoch 4024/5000
35/35 [==============================] - 0s 615us/step - loss: 0.1045
Epoch 4025/5000
35/35 [==============================] - 0s 579us/step - loss: 0.1040
Epoch 4026/5000
35/35 [==============================] - 0s 548us/step - loss: 0.1039
Epoch 4027/5000
35/35 [==============================] - 0s 591us/step - loss: 0.1042
Epoch 4028/5000
35/35 [==============================] - 0s 638us/step - loss: 0.1043
Epoch 4029/5000
35/35 [==============================] - 0s 600us/step - loss: 0.1047
Epoch 4030/5000
35/35 [==============================] - 0s 583us/step - loss: 0.1051
Epoch 4031/5000
35/35 [==============================] - 0s 565us/step - loss: 0.1051
Epoch 4032/5000
35/35 [==============================] - 0s 535us/step - loss: 0.1050
Epoch 4033/5000
35/35 [==============================] - 0s 568us/step - loss: 0.1048
Epoch 4034/5000
35/35 [==============================] - 0s 563us/step - loss: 0.1043
Epoch 4035/5000
35/35 [==============================] - 0s 649us/step - loss: 0.1037
Epoch 4036/5000
35/35 [==============================] - 0s 671us/step - loss: 0.1028
Epoch 4037/5000
35/35 [==============================] - 0s 582us/step - loss: 0.1020
Epoch 4038/5000
35/35 [==============================] - 0s 710us/step - loss: 0.1013
Epoch 4039/5000
35/35 [==============================] - 0s 548us/step - loss: 0.1027
Epoch 4040/5000
35/35 [==============================] - 0s 592us/step - loss: 0.1034
Epoch 4041/5000
35/35 [==============================] - 0s 593us/step - loss: 0.1047
Epoch 4042/5000
35/35 [==============================] - 0s 570us/step - loss: 0.1052
Epoch 4043/5000
35/35 [==============================] - 0s 627us/step - loss: 0.1054
Epoch 4044/5000
35/35 [==============================] - 0s 556us/step - loss: 0.1056
Epoch 4045/5000
35/35 [==============================] - 0s 582us/step - loss: 0.1054
Epoch 4046/5000
35/35 [==============================] - 0s 603us/step - loss: 0.1053
Epoch 4047/5000
35/35 [==============================] - 0s 555us/step - loss: 0.1051
Epoch 4048/5000
35/35 [==============================] - 0s 575us/step - loss: 0.1056
Epoch 4049/5000
35/35 [==============================] - 0s 651us/step - loss: 0.1051
Epoch 4050/5000
35/35 [==============================] - 0s 553us/step - loss: 0.1046
Epoch 4051/5000
35/35 [==============================] - 0s 555us/step - loss: 0.1042
Epoch 4052/5000
35/35 [==============================] - 0s 601us/step - loss: 0.1035
Epoch 4053/5000
35/35 [==============================] - 0s 530us/step - loss: 0.1031
Epoch 4054/5000
35/35 [==============================] - 0s 574us/step - loss: 0.1024
Epoch 4055/5000
35/35 [==============================] - 0s 600us/step - loss: 0.1020
Epoch 4056/5000
35/35 [==============================] - 0s 638us/step - loss: 0.1021
Epoch 4057/5000
35/35 [==============================] - 0s 670us/step - loss: 0.1023
Epoch 4058/5000
35/35 [==============================] - 0s 729us/step - loss: 0.1029
Epoch 4059/5000
35/35 [==============================] - 0s 600us/step - loss: 0.1034
Epoch 4060/5000
35/35 [==============================] - 0s 578us/step - loss: 0.1042
Epoch 4061/5000
35/35 [==============================] - 0s 543us/step - loss: 0.1044
Epoch 4062/5000
35/35 [==============================] - 0s 589us/step - loss: 0.1045
Epoch 4063/5000
35/35 [==============================] - 0s 559us/step - loss: 0.1046
Epoch 4064/5000
35/35 [==============================] - 0s 668us/step - loss: 0.1053
Epoch 4065/5000
35/35 [==============================] - 0s 650us/step - loss: 0.1045
Epoch 4066/5000
35/35 [==============================] - 0s 519us/step - loss: 0.1030
Epoch 4067/5000
35/35 [==============================] - 0s 566us/step - loss: 0.1026
Epoch 4068/5000
35/35 [==============================] - 0s 872us/step - loss: 0.1019
Epoch 4069/5000
35/35 [==============================] - 0s 591us/step - loss: 0.1024
Epoch 4070/5000
35/35 [==============================] - 0s 553us/step - loss: 0.1021
Epoch 4071/5000
35/35 [==============================] - 0s 595us/step - loss: 0.1025
Epoch 4072/5000
35/35 [==============================] - 0s 567us/step - loss: 0.1023
Epoch 4073/5000
35/35 [==============================] - 0s 635us/step - loss: 0.1024
Epoch 4074/5000
35/35 [==============================] - 0s 618us/step - loss: 0.1020
Epoch 4075/5000
35/35 [==============================] - 0s 681us/step - loss: 0.1021
Epoch 4076/5000
35/35 [==============================] - 0s 584us/step - loss: 0.1027
Epoch 4077/5000
35/35 [==============================] - 0s 539us/step - loss: 0.1030
Epoch 4078/5000
35/35 [==============================] - 0s 580us/step - loss: 0.1035
Epoch 4079/5000
35/35 [==============================] - 0s 554us/step - loss: 0.1036
Epoch 4080/5000
35/35 [==============================] - 0s 572us/step - loss: 0.1037
Epoch 4081/5000
35/35 [==============================] - 0s 603us/step - loss: 0.1042
Epoch 4082/5000
35/35 [==============================] - 0s 816us/step - loss: 0.1048
Epoch 4083/5000
35/35 [==============================] - 0s 537us/step - loss: 0.1059
Epoch 4084/5000
35/35 [==============================] - 0s 583us/step - loss: 0.1067
Epoch 4085/5000
35/35 [==============================] - 0s 742us/step - loss: 0.1079
Epoch 4086/5000
35/35 [==============================] - 0s 556us/step - loss: 0.1095
Epoch 4087/5000
35/35 [==============================] - 0s 568us/step - loss: 0.1098
Epoch 4088/5000
35/35 [==============================] - 0s 535us/step - loss: 0.1098
Epoch 4089/5000
35/35 [==============================] - 0s 580us/step - loss: 0.1100
Epoch 4090/5000
35/35 [==============================] - 0s 580us/step - loss: 0.1099
Epoch 4091/5000
35/35 [==============================] - 0s 557us/step - loss: 0.1085
Epoch 4092/5000
35/35 [==============================] - 0s 660us/step - loss: 0.1057
Epoch 4093/5000
35/35 [==============================] - 0s 624us/step - loss: 0.1029
Epoch 4094/5000
35/35 [==============================] - 0s 613us/step - loss: 0.1028
Epoch 4095/5000
35/35 [==============================] - 0s 539us/step - loss: 0.1025
Epoch 4096/5000
35/35 [==============================] - 0s 674us/step - loss: 0.1028
Epoch 4097/5000
35/35 [==============================] - 0s 568us/step - loss: 0.1030
Epoch 4098/5000
35/35 [==============================] - 0s 552us/step - loss: 0.1033
Epoch 4099/5000
35/35 [==============================] - 0s 588us/step - loss: 0.1033
Epoch 4100/5000
35/35 [==============================] - 0s 581us/step - loss: 0.1030
Epoch 4101/5000
35/35 [==============================] - 0s 570us/step - loss: 0.1029
Epoch 4102/5000
35/35 [==============================] - 0s 552us/step - loss: 0.1028
Epoch 4103/5000
35/35 [==============================] - 0s 573us/step - loss: 0.1031
Epoch 4104/5000
35/35 [==============================] - 0s 525us/step - loss: 0.1029
Epoch 4105/5000
35/35 [==============================] - 0s 502us/step - loss: 0.1026
Epoch 4106/5000
35/35 [==============================] - 0s 497us/step - loss: 0.1024
Epoch 4107/5000
35/35 [==============================] - 0s 575us/step - loss: 0.1027
Epoch 4108/5000
35/35 [==============================] - 0s 573us/step - loss: 0.1025
Epoch 4109/5000
35/35 [==============================] - 0s 560us/step - loss: 0.1026
Epoch 4110/5000
35/35 [==============================] - 0s 691us/step - loss: 0.1026
Epoch 4111/5000
35/35 [==============================] - 0s 613us/step - loss: 0.1029
Epoch 4112/5000
35/35 [==============================] - 0s 530us/step - loss: 0.1038
Epoch 4113/5000
35/35 [==============================] - 0s 589us/step - loss: 0.1039
Epoch 4114/5000
35/35 [==============================] - 0s 556us/step - loss: 0.1035
Epoch 4115/5000
35/35 [==============================] - 0s 708us/step - loss: 0.1028
Epoch 4116/5000
35/35 [==============================] - 0s 580us/step - loss: 0.1025
Epoch 4117/5000
35/35 [==============================] - 0s 626us/step - loss: 0.1029
Epoch 4118/5000
35/35 [==============================] - 0s 618us/step - loss: 0.1031
Epoch 4119/5000
35/35 [==============================] - 0s 559us/step - loss: 0.1039
Epoch 4120/5000
35/35 [==============================] - 0s 619us/step - loss: 0.1048
Epoch 4121/5000
35/35 [==============================] - 0s 615us/step - loss: 0.1054
Epoch 4122/5000
35/35 [==============================] - 0s 577us/step - loss: 0.1064
Epoch 4123/5000
35/35 [==============================] - 0s 578us/step - loss: 0.1070
Epoch 4124/5000
35/35 [==============================] - 0s 586us/step - loss: 0.1067
Epoch 4125/5000
35/35 [==============================] - 0s 594us/step - loss: 0.1059
Epoch 4126/5000
35/35 [==============================] - 0s 602us/step - loss: 0.1049
Epoch 4127/5000
35/35 [==============================] - 0s 569us/step - loss: 0.1042
Epoch 4128/5000
35/35 [==============================] - 0s 587us/step - loss: 0.1039
Epoch 4129/5000
35/35 [==============================] - 0s 561us/step - loss: 0.1037
Epoch 4130/5000
35/35 [==============================] - 0s 683us/step - loss: 0.1034
Epoch 4131/5000
35/35 [==============================] - 0s 685us/step - loss: 0.1032
Epoch 4132/5000
35/35 [==============================] - 0s 598us/step - loss: 0.1028
Epoch 4133/5000
35/35 [==============================] - 0s 550us/step - loss: 0.1026
Epoch 4134/5000
35/35 [==============================] - 0s 550us/step - loss: 0.1027
Epoch 4135/5000
35/35 [==============================] - 0s 672us/step - loss: 0.1028
Epoch 4136/5000
35/35 [==============================] - 0s 580us/step - loss: 0.1033
Epoch 4137/5000
35/35 [==============================] - 0s 565us/step - loss: 0.1031
Epoch 4138/5000
35/35 [==============================] - 0s 588us/step - loss: 0.1026
Epoch 4139/5000
35/35 [==============================] - 0s 600us/step - loss: 0.1022
Epoch 4140/5000
35/35 [==============================] - 0s 599us/step - loss: 0.1017
Epoch 4141/5000
35/35 [==============================] - 0s 596us/step - loss: 0.1021
Epoch 4142/5000
35/35 [==============================] - 0s 549us/step - loss: 0.1022
Epoch 4143/5000
35/35 [==============================] - 0s 611us/step - loss: 0.1026
Epoch 4144/5000
35/35 [==============================] - 0s 571us/step - loss: 0.1032
Epoch 4145/5000
35/35 [==============================] - 0s 551us/step - loss: 0.1056
Epoch 4146/5000
35/35 [==============================] - 0s 562us/step - loss: 0.1054
Epoch 4147/5000
35/35 [==============================] - 0s 580us/step - loss: 0.1047
Epoch 4148/5000
35/35 [==============================] - 0s 574us/step - loss: 0.1039
Epoch 4149/5000
35/35 [==============================] - 0s 563us/step - loss: 0.1034
Epoch 4150/5000
35/35 [==============================] - 0s 544us/step - loss: 0.1027
Epoch 4151/5000
35/35 [==============================] - 0s 598us/step - loss: 0.1038
Epoch 4152/5000
35/35 [==============================] - 0s 566us/step - loss: 0.1036
Epoch 4153/5000
35/35 [==============================] - 0s 719us/step - loss: 0.1036
Epoch 4154/5000
35/35 [==============================] - 0s 576us/step - loss: 0.1035
Epoch 4155/5000
35/35 [==============================] - 0s 630us/step - loss: 0.1033
Epoch 4156/5000
35/35 [==============================] - 0s 654us/step - loss: 0.1031
Epoch 4157/5000
35/35 [==============================] - 0s 610us/step - loss: 0.1029
Epoch 4158/5000
35/35 [==============================] - 0s 613us/step - loss: 0.1028
Epoch 4159/5000
35/35 [==============================] - 0s 534us/step - loss: 0.1026
Epoch 4160/5000
35/35 [==============================] - 0s 607us/step - loss: 0.1029
Epoch 4161/5000
35/35 [==============================] - 0s 809us/step - loss: 0.1032
Epoch 4162/5000
35/35 [==============================] - 0s 815us/step - loss: 0.1038
Epoch 4163/5000
35/35 [==============================] - 0s 675us/step - loss: 0.1043
Epoch 4164/5000
35/35 [==============================] - 0s 587us/step - loss: 0.1040
Epoch 4165/5000
35/35 [==============================] - 0s 586us/step - loss: 0.1033
Epoch 4166/5000
35/35 [==============================] - 0s 618us/step - loss: 0.1024
Epoch 4167/5000
35/35 [==============================] - 0s 656us/step - loss: 0.1017
Epoch 4168/5000
35/35 [==============================] - 0s 588us/step - loss: 0.1014
Epoch 4169/5000
35/35 [==============================] - 0s 618us/step - loss: 0.1011
Epoch 4170/5000
35/35 [==============================] - 0s 689us/step - loss: 0.1013
Epoch 4171/5000
35/35 [==============================] - 0s 566us/step - loss: 0.1028
Epoch 4172/5000
35/35 [==============================] - 0s 582us/step - loss: 0.1049
Epoch 4173/5000
35/35 [==============================] - 0s 559us/step - loss: 0.1051
Epoch 4174/5000
35/35 [==============================] - 0s 554us/step - loss: 0.1047
Epoch 4175/5000
35/35 [==============================] - 0s 626us/step - loss: 0.1040
Epoch 4176/5000
35/35 [==============================] - 0s 596us/step - loss: 0.1033
Epoch 4177/5000
35/35 [==============================] - 0s 849us/step - loss: 0.1033
Epoch 4178/5000
35/35 [==============================] - 0s 536us/step - loss: 0.1034
Epoch 4179/5000
35/35 [==============================] - 0s 581us/step - loss: 0.1042
Epoch 4180/5000
35/35 [==============================] - 0s 608us/step - loss: 0.1046
Epoch 4181/5000
35/35 [==============================] - 0s 662us/step - loss: 0.1058
Epoch 4182/5000
35/35 [==============================] - 0s 574us/step - loss: 0.1062
Epoch 4183/5000
35/35 [==============================] - 0s 600us/step - loss: 0.1053
Epoch 4184/5000
35/35 [==============================] - 0s 627us/step - loss: 0.1046
Epoch 4185/5000
35/35 [==============================] - 0s 528us/step - loss: 0.1045
Epoch 4186/5000
35/35 [==============================] - 0s 579us/step - loss: 0.1038
Epoch 4187/5000
35/35 [==============================] - 0s 573us/step - loss: 0.1025
Epoch 4188/5000
35/35 [==============================] - 0s 650us/step - loss: 0.1021
Epoch 4189/5000
35/35 [==============================] - 0s 653us/step - loss: 0.1018
Epoch 4190/5000
35/35 [==============================] - 0s 761us/step - loss: 0.1014
Epoch 4191/5000
35/35 [==============================] - 0s 588us/step - loss: 0.1011
Epoch 4192/5000
35/35 [==============================] - 0s 556us/step - loss: 0.1014
Epoch 4193/5000
35/35 [==============================] - 0s 645us/step - loss: 0.1013
Epoch 4194/5000
35/35 [==============================] - 0s 558us/step - loss: 0.1015
Epoch 4195/5000
35/35 [==============================] - 0s 550us/step - loss: 0.1017
Epoch 4196/5000
35/35 [==============================] - 0s 559us/step - loss: 0.1020
Epoch 4197/5000
35/35 [==============================] - 0s 549us/step - loss: 0.1023
Epoch 4198/5000
35/35 [==============================] - 0s 605us/step - loss: 0.1023
Epoch 4199/5000
35/35 [==============================] - 0s 605us/step - loss: 0.1028
Epoch 4200/5000
35/35 [==============================] - 0s 549us/step - loss: 0.1028
Epoch 4201/5000
35/35 [==============================] - 0s 600us/step - loss: 0.1029
Epoch 4202/5000
35/35 [==============================] - 0s 614us/step - loss: 0.1031
Epoch 4203/5000
35/35 [==============================] - 0s 651us/step - loss: 0.1037
Epoch 4204/5000
35/35 [==============================] - 0s 640us/step - loss: 0.1042
Epoch 4205/5000
35/35 [==============================] - 0s 568us/step - loss: 0.1047
Epoch 4206/5000
35/35 [==============================] - 0s 648us/step - loss: 0.1051
Epoch 4207/5000
35/35 [==============================] - 0s 602us/step - loss: 0.1051
Epoch 4208/5000
35/35 [==============================] - 0s 854us/step - loss: 0.1049
Epoch 4209/5000
35/35 [==============================] - 0s 662us/step - loss: 0.1047
Epoch 4210/5000
35/35 [==============================] - 0s 639us/step - loss: 0.1045
Epoch 4211/5000
35/35 [==============================] - 0s 654us/step - loss: 0.1045
Epoch 4212/5000
35/35 [==============================] - 0s 592us/step - loss: 0.1038
Epoch 4213/5000
35/35 [==============================] - 0s 697us/step - loss: 0.1031
Epoch 4214/5000
35/35 [==============================] - 0s 642us/step - loss: 0.1032
Epoch 4215/5000
35/35 [==============================] - 0s 734us/step - loss: 0.1025
Epoch 4216/5000
35/35 [==============================] - 0s 606us/step - loss: 0.1022
Epoch 4217/5000
35/35 [==============================] - 0s 644us/step - loss: 0.1018
Epoch 4218/5000
35/35 [==============================] - 0s 537us/step - loss: 0.1017
Epoch 4219/5000
35/35 [==============================] - 0s 613us/step - loss: 0.1015
Epoch 4220/5000
35/35 [==============================] - 0s 627us/step - loss: 0.1013
Epoch 4221/5000
35/35 [==============================] - 0s 592us/step - loss: 0.1013
Epoch 4222/5000
35/35 [==============================] - 0s 686us/step - loss: 0.1005
Epoch 4223/5000
35/35 [==============================] - 0s 709us/step - loss: 0.1001
Epoch 4224/5000
35/35 [==============================] - 0s 563us/step - loss: 0.1006
Epoch 4225/5000
35/35 [==============================] - 0s 520us/step - loss: 0.1008
Epoch 4226/5000
35/35 [==============================] - 0s 531us/step - loss: 0.1010
Epoch 4227/5000
35/35 [==============================] - 0s 559us/step - loss: 0.1011
Epoch 4228/5000
35/35 [==============================] - 0s 573us/step - loss: 0.1012
Epoch 4229/5000
35/35 [==============================] - 0s 534us/step - loss: 0.1013
Epoch 4230/5000
35/35 [==============================] - 0s 564us/step - loss: 0.1016
Epoch 4231/5000
35/35 [==============================] - 0s 574us/step - loss: 0.1017
Epoch 4232/5000
35/35 [==============================] - 0s 544us/step - loss: 0.1018
Epoch 4233/5000
35/35 [==============================] - 0s 540us/step - loss: 0.1018
Epoch 4234/5000
35/35 [==============================] - 0s 589us/step - loss: 0.1018
Epoch 4235/5000
35/35 [==============================] - 0s 563us/step - loss: 0.1019
Epoch 4236/5000
35/35 [==============================] - 0s 526us/step - loss: 0.1022
Epoch 4237/5000
35/35 [==============================] - 0s 588us/step - loss: 0.1027
Epoch 4238/5000
35/35 [==============================] - 0s 628us/step - loss: 0.1030
Epoch 4239/5000
35/35 [==============================] - 0s 582us/step - loss: 0.1027
Epoch 4240/5000
35/35 [==============================] - 0s 636us/step - loss: 0.1023
Epoch 4241/5000
35/35 [==============================] - 0s 611us/step - loss: 0.1020
Epoch 4242/5000
35/35 [==============================] - 0s 580us/step - loss: 0.1017
Epoch 4243/5000
35/35 [==============================] - 0s 577us/step - loss: 0.1015
Epoch 4244/5000
35/35 [==============================] - 0s 659us/step - loss: 0.1011
Epoch 4245/5000
35/35 [==============================] - 0s 572us/step - loss: 0.1012
Epoch 4246/5000
35/35 [==============================] - 0s 579us/step - loss: 0.1010
Epoch 4247/5000
35/35 [==============================] - 0s 560us/step - loss: 0.1014
Epoch 4248/5000
35/35 [==============================] - 0s 637us/step - loss: 0.1010
Epoch 4249/5000
35/35 [==============================] - 0s 762us/step - loss: 0.1007
Epoch 4250/5000
35/35 [==============================] - 0s 570us/step - loss: 0.1004
Epoch 4251/5000
35/35 [==============================] - 0s 568us/step - loss: 0.1001
Epoch 4252/5000
35/35 [==============================] - 0s 790us/step - loss: 0.0999
Epoch 4253/5000
35/35 [==============================] - 0s 593us/step - loss: 0.1003
Epoch 4254/5000
35/35 [==============================] - 0s 897us/step - loss: 0.1005
Epoch 4255/5000
35/35 [==============================] - 0s 590us/step - loss: 0.1006
Epoch 4256/5000
35/35 [==============================] - 0s 567us/step - loss: 0.1009
Epoch 4257/5000
35/35 [==============================] - 0s 595us/step - loss: 0.1013
Epoch 4258/5000
35/35 [==============================] - 0s 556us/step - loss: 0.1012
Epoch 4259/5000
35/35 [==============================] - 0s 648us/step - loss: 0.1012
Epoch 4260/5000
35/35 [==============================] - 0s 543us/step - loss: 0.1016
Epoch 4261/5000
35/35 [==============================] - 0s 573us/step - loss: 0.1020
Epoch 4262/5000
35/35 [==============================] - 0s 576us/step - loss: 0.1026
Epoch 4263/5000
35/35 [==============================] - 0s 597us/step - loss: 0.1021
Epoch 4264/5000
35/35 [==============================] - 0s 576us/step - loss: 0.1013
Epoch 4265/5000
35/35 [==============================] - 0s 594us/step - loss: 0.1007
Epoch 4266/5000
35/35 [==============================] - 0s 651us/step - loss: 0.1003
Epoch 4267/5000
35/35 [==============================] - 0s 593us/step - loss: 0.0999
Epoch 4268/5000
35/35 [==============================] - 0s 592us/step - loss: 0.1001
Epoch 4269/5000
35/35 [==============================] - 0s 644us/step - loss: 0.1001
Epoch 4270/5000
35/35 [==============================] - 0s 690us/step - loss: 0.1006
Epoch 4271/5000
35/35 [==============================] - 0s 607us/step - loss: 0.1004
Epoch 4272/5000
35/35 [==============================] - 0s 567us/step - loss: 0.1005
Epoch 4273/5000
35/35 [==============================] - 0s 636us/step - loss: 0.1006
Epoch 4274/5000
35/35 [==============================] - 0s 545us/step - loss: 0.1009
Epoch 4275/5000
35/35 [==============================] - 0s 651us/step - loss: 0.1011
Epoch 4276/5000
35/35 [==============================] - 0s 565us/step - loss: 0.1013
Epoch 4277/5000
35/35 [==============================] - 0s 569us/step - loss: 0.1015
Epoch 4278/5000
35/35 [==============================] - 0s 562us/step - loss: 0.1017
Epoch 4279/5000
35/35 [==============================] - 0s 581us/step - loss: 0.1022
Epoch 4280/5000
35/35 [==============================] - 0s 520us/step - loss: 0.1027
Epoch 4281/5000
35/35 [==============================] - 0s 594us/step - loss: 0.1014
Epoch 4282/5000
35/35 [==============================] - 0s 580us/step - loss: 0.1002
Epoch 4283/5000
35/35 [==============================] - 0s 564us/step - loss: 0.0993
Epoch 4284/5000
35/35 [==============================] - 0s 551us/step - loss: 0.0993
Epoch 4285/5000
35/35 [==============================] - 0s 597us/step - loss: 0.1015
Epoch 4286/5000
35/35 [==============================] - 0s 583us/step - loss: 0.1007
Epoch 4287/5000
35/35 [==============================] - 0s 554us/step - loss: 0.1008
Epoch 4288/5000
35/35 [==============================] - 0s 574us/step - loss: 0.1009
Epoch 4289/5000
35/35 [==============================] - 0s 565us/step - loss: 0.1008
Epoch 4290/5000
35/35 [==============================] - 0s 561us/step - loss: 0.1005
Epoch 4291/5000
35/35 [==============================] - 0s 612us/step - loss: 0.1011
Epoch 4292/5000
35/35 [==============================] - 0s 684us/step - loss: 0.1020
Epoch 4293/5000
35/35 [==============================] - 0s 587us/step - loss: 0.1029
Epoch 4294/5000
35/35 [==============================] - 0s 661us/step - loss: 0.1035
Epoch 4295/5000
35/35 [==============================] - 0s 594us/step - loss: 0.1032
Epoch 4296/5000
35/35 [==============================] - 0s 624us/step - loss: 0.1027
Epoch 4297/5000
35/35 [==============================] - 0s 633us/step - loss: 0.1024
Epoch 4298/5000
35/35 [==============================] - 0s 602us/step - loss: 0.1021
Epoch 4299/5000
35/35 [==============================] - 0s 625us/step - loss: 0.1021
Epoch 4300/5000
35/35 [==============================] - 0s 562us/step - loss: 0.1020
Epoch 4301/5000
35/35 [==============================] - 0s 721us/step - loss: 0.1019
Epoch 4302/5000
35/35 [==============================] - 0s 661us/step - loss: 0.1020
Epoch 4303/5000
35/35 [==============================] - 0s 605us/step - loss: 0.1019
Epoch 4304/5000
35/35 [==============================] - 0s 586us/step - loss: 0.1017
Epoch 4305/5000
35/35 [==============================] - 0s 533us/step - loss: 0.1018
Epoch 4306/5000
35/35 [==============================] - 0s 521us/step - loss: 0.1021
Epoch 4307/5000
35/35 [==============================] - 0s 555us/step - loss: 0.1019
Epoch 4308/5000
35/35 [==============================] - 0s 561us/step - loss: 0.1017
Epoch 4309/5000
35/35 [==============================] - 0s 612us/step - loss: 0.1015
Epoch 4310/5000
35/35 [==============================] - 0s 613us/step - loss: 0.1011
Epoch 4311/5000
35/35 [==============================] - 0s 691us/step - loss: 0.1011
Epoch 4312/5000
35/35 [==============================] - 0s 643us/step - loss: 0.1024
Epoch 4313/5000
35/35 [==============================] - 0s 562us/step - loss: 0.1012
Epoch 4314/5000
35/35 [==============================] - 0s 637us/step - loss: 0.1007
Epoch 4315/5000
35/35 [==============================] - 0s 598us/step - loss: 0.1006
Epoch 4316/5000
35/35 [==============================] - 0s 586us/step - loss: 0.1000
Epoch 4317/5000
35/35 [==============================] - 0s 748us/step - loss: 0.1000
Epoch 4318/5000
35/35 [==============================] - 0s 570us/step - loss: 0.1003
Epoch 4319/5000
35/35 [==============================] - 0s 640us/step - loss: 0.1008
Epoch 4320/5000
35/35 [==============================] - 0s 552us/step - loss: 0.1004
Epoch 4321/5000
35/35 [==============================] - 0s 716us/step - loss: 0.0999
Epoch 4322/5000
35/35 [==============================] - 0s 695us/step - loss: 0.0999
Epoch 4323/5000
35/35 [==============================] - 0s 616us/step - loss: 0.0998
Epoch 4324/5000
35/35 [==============================] - 0s 577us/step - loss: 0.1000
Epoch 4325/5000
35/35 [==============================] - 0s 557us/step - loss: 0.1001
Epoch 4326/5000
35/35 [==============================] - 0s 550us/step - loss: 0.0998
Epoch 4327/5000
35/35 [==============================] - 0s 584us/step - loss: 0.0993
Epoch 4328/5000
35/35 [==============================] - 0s 578us/step - loss: 0.0993
Epoch 4329/5000
35/35 [==============================] - 0s 644us/step - loss: 0.0993
Epoch 4330/5000
35/35 [==============================] - 0s 677us/step - loss: 0.0994
Epoch 4331/5000
35/35 [==============================] - 0s 598us/step - loss: 0.1000
Epoch 4332/5000
35/35 [==============================] - 0s 580us/step - loss: 0.1003
Epoch 4333/5000
35/35 [==============================] - 0s 584us/step - loss: 0.1004
Epoch 4334/5000
35/35 [==============================] - 0s 587us/step - loss: 0.1005
Epoch 4335/5000
35/35 [==============================] - 0s 565us/step - loss: 0.1004
Epoch 4336/5000
35/35 [==============================] - 0s 539us/step - loss: 0.1014
Epoch 4337/5000
35/35 [==============================] - 0s 545us/step - loss: 0.1010
Epoch 4338/5000
35/35 [==============================] - 0s 585us/step - loss: 0.1015
Epoch 4339/5000
35/35 [==============================] - 0s 577us/step - loss: 0.1026
Epoch 4340/5000
35/35 [==============================] - 0s 605us/step - loss: 0.1025
Epoch 4341/5000
35/35 [==============================] - 0s 583us/step - loss: 0.1019
Epoch 4342/5000
35/35 [==============================] - 0s 667us/step - loss: 0.1012
Epoch 4343/5000
35/35 [==============================] - 0s 583us/step - loss: 0.1006
Epoch 4344/5000
35/35 [==============================] - 0s 600us/step - loss: 0.0999
Epoch 4345/5000
35/35 [==============================] - 0s 635us/step - loss: 0.0993
Epoch 4346/5000
35/35 [==============================] - 0s 594us/step - loss: 0.0991
Epoch 4347/5000
35/35 [==============================] - 0s 761us/step - loss: 0.0993
Epoch 4348/5000
35/35 [==============================] - 0s 521us/step - loss: 0.1002
Epoch 4349/5000
35/35 [==============================] - 0s 664us/step - loss: 0.1006
Epoch 4350/5000
35/35 [==============================] - 0s 523us/step - loss: 0.1015
Epoch 4351/5000
35/35 [==============================] - 0s 577us/step - loss: 0.1007
Epoch 4352/5000
35/35 [==============================] - 0s 605us/step - loss: 0.0999
Epoch 4353/5000
35/35 [==============================] - 0s 553us/step - loss: 0.0996
Epoch 4354/5000
35/35 [==============================] - 0s 567us/step - loss: 0.0997
Epoch 4355/5000
35/35 [==============================] - 0s 577us/step - loss: 0.0994
Epoch 4356/5000
35/35 [==============================] - 0s 579us/step - loss: 0.0994
Epoch 4357/5000
35/35 [==============================] - 0s 580us/step - loss: 0.0992
Epoch 4358/5000
35/35 [==============================] - 0s 624us/step - loss: 0.1013
Epoch 4359/5000
35/35 [==============================] - 0s 583us/step - loss: 0.1028
Epoch 4360/5000
35/35 [==============================] - 0s 541us/step - loss: 0.1041
Epoch 4361/5000
35/35 [==============================] - 0s 542us/step - loss: 0.1042
Epoch 4362/5000
35/35 [==============================] - 0s 611us/step - loss: 0.1038
Epoch 4363/5000
35/35 [==============================] - 0s 605us/step - loss: 0.1035
Epoch 4364/5000
35/35 [==============================] - 0s 844us/step - loss: 0.1030
Epoch 4365/5000
35/35 [==============================] - 0s 568us/step - loss: 0.1019
Epoch 4366/5000
35/35 [==============================] - 0s 578us/step - loss: 0.1013
Epoch 4367/5000
35/35 [==============================] - 0s 600us/step - loss: 0.1014
Epoch 4368/5000
35/35 [==============================] - 0s 703us/step - loss: 0.1025
Epoch 4369/5000
35/35 [==============================] - 0s 675us/step - loss: 0.1038
Epoch 4370/5000
35/35 [==============================] - 0s 562us/step - loss: 0.1034
Epoch 4371/5000
35/35 [==============================] - 0s 585us/step - loss: 0.1024
Epoch 4372/5000
35/35 [==============================] - 0s 639us/step - loss: 0.1019
Epoch 4373/5000
35/35 [==============================] - 0s 564us/step - loss: 0.1012
Epoch 4374/5000
35/35 [==============================] - 0s 573us/step - loss: 0.1008
Epoch 4375/5000
35/35 [==============================] - 0s 631us/step - loss: 0.1008
Epoch 4376/5000
35/35 [==============================] - 0s 597us/step - loss: 0.1004
Epoch 4377/5000
35/35 [==============================] - 0s 570us/step - loss: 0.1010
Epoch 4378/5000
35/35 [==============================] - 0s 563us/step - loss: 0.1027
Epoch 4379/5000
35/35 [==============================] - 0s 549us/step - loss: 0.1062
Epoch 4380/5000
35/35 [==============================] - 0s 535us/step - loss: 0.1081
Epoch 4381/5000
35/35 [==============================] - 0s 579us/step - loss: 0.1080
Epoch 4382/5000
35/35 [==============================] - 0s 547us/step - loss: 0.1075
Epoch 4383/5000
35/35 [==============================] - 0s 536us/step - loss: 0.1068
Epoch 4384/5000
35/35 [==============================] - 0s 572us/step - loss: 0.1058
Epoch 4385/5000
35/35 [==============================] - 0s 548us/step - loss: 0.1064
Epoch 4386/5000
35/35 [==============================] - 0s 534us/step - loss: 0.1057
Epoch 4387/5000
35/35 [==============================] - 0s 589us/step - loss: 0.1057
Epoch 4388/5000
35/35 [==============================] - 0s 669us/step - loss: 0.1056
Epoch 4389/5000
35/35 [==============================] - 0s 600us/step - loss: 0.1052
Epoch 4390/5000
35/35 [==============================] - 0s 633us/step - loss: 0.1042
Epoch 4391/5000
35/35 [==============================] - 0s 661us/step - loss: 0.1032
Epoch 4392/5000
35/35 [==============================] - 0s 598us/step - loss: 0.1020
Epoch 4393/5000
35/35 [==============================] - 0s 569us/step - loss: 0.1007
Epoch 4394/5000
35/35 [==============================] - 0s 945us/step - loss: 0.0986
Epoch 4395/5000
35/35 [==============================] - 0s 628us/step - loss: 0.0977
Epoch 4396/5000
35/35 [==============================] - 0s 569us/step - loss: 0.0982
Epoch 4397/5000
35/35 [==============================] - 0s 584us/step - loss: 0.0993
Epoch 4398/5000
35/35 [==============================] - 0s 618us/step - loss: 0.0999
Epoch 4399/5000
35/35 [==============================] - 0s 576us/step - loss: 0.1011
Epoch 4400/5000
35/35 [==============================] - 0s 552us/step - loss: 0.1025
Epoch 4401/5000
35/35 [==============================] - 0s 621us/step - loss: 0.1032
Epoch 4402/5000
35/35 [==============================] - 0s 584us/step - loss: 0.1043
Epoch 4403/5000
35/35 [==============================] - 0s 527us/step - loss: 0.1052
Epoch 4404/5000
35/35 [==============================] - 0s 520us/step - loss: 0.1055
Epoch 4405/5000
35/35 [==============================] - 0s 599us/step - loss: 0.1056
Epoch 4406/5000
35/35 [==============================] - 0s 645us/step - loss: 0.1056
Epoch 4407/5000
35/35 [==============================] - 0s 568us/step - loss: 0.1058
Epoch 4408/5000
35/35 [==============================] - 0s 557us/step - loss: 0.1061
Epoch 4409/5000
35/35 [==============================] - 0s 577us/step - loss: 0.1046
Epoch 4410/5000
35/35 [==============================] - 0s 582us/step - loss: 0.1019
Epoch 4411/5000
35/35 [==============================] - 0s 767us/step - loss: 0.1004
Epoch 4412/5000
35/35 [==============================] - 0s 615us/step - loss: 0.0993
Epoch 4413/5000
35/35 [==============================] - 0s 559us/step - loss: 0.0990
Epoch 4414/5000
35/35 [==============================] - 0s 659us/step - loss: 0.0988
Epoch 4415/5000
35/35 [==============================] - 0s 576us/step - loss: 0.0984
Epoch 4416/5000
35/35 [==============================] - 0s 616us/step - loss: 0.1002
Epoch 4417/5000
35/35 [==============================] - 0s 595us/step - loss: 0.0997
Epoch 4418/5000
35/35 [==============================] - 0s 559us/step - loss: 0.0994
Epoch 4419/5000
35/35 [==============================] - 0s 615us/step - loss: 0.0999
Epoch 4420/5000
35/35 [==============================] - 0s 537us/step - loss: 0.1002
Epoch 4421/5000
35/35 [==============================] - 0s 575us/step - loss: 0.1003
Epoch 4422/5000
35/35 [==============================] - 0s 544us/step - loss: 0.0997
Epoch 4423/5000
35/35 [==============================] - 0s 572us/step - loss: 0.0989
Epoch 4424/5000
35/35 [==============================] - 0s 628us/step - loss: 0.0986
Epoch 4425/5000
35/35 [==============================] - 0s 541us/step - loss: 0.0982
Epoch 4426/5000
35/35 [==============================] - 0s 588us/step - loss: 0.0984
Epoch 4427/5000
35/35 [==============================] - 0s 562us/step - loss: 0.0984
Epoch 4428/5000
35/35 [==============================] - 0s 588us/step - loss: 0.0988
Epoch 4429/5000
35/35 [==============================] - 0s 577us/step - loss: 0.0980
Epoch 4430/5000
35/35 [==============================] - 0s 559us/step - loss: 0.0979
Epoch 4431/5000
35/35 [==============================] - 0s 638us/step - loss: 0.0977
Epoch 4432/5000
35/35 [==============================] - 0s 568us/step - loss: 0.0981
Epoch 4433/5000
35/35 [==============================] - 0s 687us/step - loss: 0.0987
Epoch 4434/5000
35/35 [==============================] - 0s 592us/step - loss: 0.1006
Epoch 4435/5000
35/35 [==============================] - 0s 579us/step - loss: 0.1013
Epoch 4436/5000
35/35 [==============================] - 0s 593us/step - loss: 0.1009
Epoch 4437/5000
35/35 [==============================] - 0s 564us/step - loss: 0.1000
Epoch 4438/5000
35/35 [==============================] - 0s 551us/step - loss: 0.0993
Epoch 4439/5000
35/35 [==============================] - 0s 590us/step - loss: 0.0993
Epoch 4440/5000
35/35 [==============================] - 0s 617us/step - loss: 0.0997
Epoch 4441/5000
35/35 [==============================] - 0s 720us/step - loss: 0.1003
Epoch 4442/5000
35/35 [==============================] - 0s 610us/step - loss: 0.1003
Epoch 4443/5000
35/35 [==============================] - 0s 580us/step - loss: 0.0996
Epoch 4444/5000
35/35 [==============================] - 0s 624us/step - loss: 0.0989
Epoch 4445/5000
35/35 [==============================] - 0s 571us/step - loss: 0.0988
Epoch 4446/5000
35/35 [==============================] - 0s 658us/step - loss: 0.0989
Epoch 4447/5000
35/35 [==============================] - 0s 708us/step - loss: 0.0992
Epoch 4448/5000
35/35 [==============================] - 0s 574us/step - loss: 0.0999
Epoch 4449/5000
35/35 [==============================] - 0s 651us/step - loss: 0.1006
Epoch 4450/5000
35/35 [==============================] - 0s 572us/step - loss: 0.1010
Epoch 4451/5000
35/35 [==============================] - 0s 604us/step - loss: 0.1009
Epoch 4452/5000
35/35 [==============================] - 0s 600us/step - loss: 0.1007
Epoch 4453/5000
35/35 [==============================] - 0s 602us/step - loss: 0.1003
Epoch 4454/5000
35/35 [==============================] - 0s 564us/step - loss: 0.0998
Epoch 4455/5000
35/35 [==============================] - 0s 591us/step - loss: 0.0996
Epoch 4456/5000
35/35 [==============================] - 0s 622us/step - loss: 0.0998
Epoch 4457/5000
35/35 [==============================] - 0s 602us/step - loss: 0.0999
Epoch 4458/5000
35/35 [==============================] - 0s 793us/step - loss: 0.1000
Epoch 4459/5000
35/35 [==============================] - 0s 550us/step - loss: 0.1005
Epoch 4460/5000
35/35 [==============================] - 0s 671us/step - loss: 0.1010
Epoch 4461/5000
35/35 [==============================] - 0s 618us/step - loss: 0.1012
Epoch 4462/5000
35/35 [==============================] - 0s 582us/step - loss: 0.1006
Epoch 4463/5000
35/35 [==============================] - 0s 585us/step - loss: 0.1004
Epoch 4464/5000
35/35 [==============================] - 0s 700us/step - loss: 0.1000
Epoch 4465/5000
35/35 [==============================] - 0s 608us/step - loss: 0.1002
Epoch 4466/5000
35/35 [==============================] - 0s 600us/step - loss: 0.0997
Epoch 4467/5000
35/35 [==============================] - 0s 527us/step - loss: 0.0995
Epoch 4468/5000
35/35 [==============================] - 0s 558us/step - loss: 0.0998
Epoch 4469/5000
35/35 [==============================] - 0s 555us/step - loss: 0.0994
Epoch 4470/5000
35/35 [==============================] - 0s 552us/step - loss: 0.0996
Epoch 4471/5000
35/35 [==============================] - 0s 519us/step - loss: 0.1003
Epoch 4472/5000
35/35 [==============================] - 0s 616us/step - loss: 0.1013
Epoch 4473/5000
35/35 [==============================] - 0s 575us/step - loss: 0.1026
Epoch 4474/5000
35/35 [==============================] - 0s 571us/step - loss: 0.1033
Epoch 4475/5000
35/35 [==============================] - 0s 563us/step - loss: 0.1031
Epoch 4476/5000
35/35 [==============================] - 0s 556us/step - loss: 0.1020
Epoch 4477/5000
35/35 [==============================] - 0s 498us/step - loss: 0.0999
Epoch 4478/5000
35/35 [==============================] - 0s 640us/step - loss: 0.0982
Epoch 4479/5000
35/35 [==============================] - 0s 653us/step - loss: 0.0985
Epoch 4480/5000
35/35 [==============================] - 0s 612us/step - loss: 0.1003
Epoch 4481/5000
35/35 [==============================] - 0s 577us/step - loss: 0.1003
Epoch 4482/5000
35/35 [==============================] - 0s 580us/step - loss: 0.0990
Epoch 4483/5000
35/35 [==============================] - 0s 594us/step - loss: 0.0978
Epoch 4484/5000
35/35 [==============================] - 0s 616us/step - loss: 0.0985
Epoch 4485/5000
35/35 [==============================] - 0s 582us/step - loss: 0.0984
Epoch 4486/5000
35/35 [==============================] - 0s 606us/step - loss: 0.0983
Epoch 4487/5000
35/35 [==============================] - 0s 650us/step - loss: 0.0985
Epoch 4488/5000
35/35 [==============================] - 0s 914us/step - loss: 0.0984
Epoch 4489/5000
35/35 [==============================] - 0s 722us/step - loss: 0.0981
Epoch 4490/5000
35/35 [==============================] - 0s 761us/step - loss: 0.0979
Epoch 4491/5000
35/35 [==============================] - 0s 629us/step - loss: 0.0982
Epoch 4492/5000
35/35 [==============================] - 0s 637us/step - loss: 0.0981
Epoch 4493/5000
35/35 [==============================] - 0s 615us/step - loss: 0.0981
Epoch 4494/5000
35/35 [==============================] - 0s 656us/step - loss: 0.0980
Epoch 4495/5000
35/35 [==============================] - 0s 577us/step - loss: 0.0980
Epoch 4496/5000
35/35 [==============================] - 0s 632us/step - loss: 0.0985
Epoch 4497/5000
35/35 [==============================] - 0s 593us/step - loss: 0.0990
Epoch 4498/5000
35/35 [==============================] - 0s 592us/step - loss: 0.0999
Epoch 4499/5000
35/35 [==============================] - 0s 557us/step - loss: 0.1001
Epoch 4500/5000
35/35 [==============================] - 0s 607us/step - loss: 0.0998
Epoch 4501/5000
35/35 [==============================] - 0s 634us/step - loss: 0.1012
Epoch 4502/5000
35/35 [==============================] - 0s 566us/step - loss: 0.0999
Epoch 4503/5000
35/35 [==============================] - 0s 569us/step - loss: 0.0994
Epoch 4504/5000
35/35 [==============================] - 0s 752us/step - loss: 0.0990
Epoch 4505/5000
35/35 [==============================] - 0s 599us/step - loss: 0.0986
Epoch 4506/5000
35/35 [==============================] - 0s 607us/step - loss: 0.0979
Epoch 4507/5000
35/35 [==============================] - 0s 594us/step - loss: 0.0971
Epoch 4508/5000
35/35 [==============================] - 0s 583us/step - loss: 0.0974
Epoch 4509/5000
35/35 [==============================] - 0s 567us/step - loss: 0.0970
Epoch 4510/5000
35/35 [==============================] - 0s 549us/step - loss: 0.0970
Epoch 4511/5000
35/35 [==============================] - 0s 568us/step - loss: 0.0965
Epoch 4512/5000
35/35 [==============================] - 0s 607us/step - loss: 0.0966
Epoch 4513/5000
35/35 [==============================] - 0s 544us/step - loss: 0.0976
Epoch 4514/5000
35/35 [==============================] - 0s 537us/step - loss: 0.0987
Epoch 4515/5000
35/35 [==============================] - 0s 647us/step - loss: 0.0998
Epoch 4516/5000
35/35 [==============================] - 0s 580us/step - loss: 0.1006
Epoch 4517/5000
35/35 [==============================] - 0s 567us/step - loss: 0.1010
Epoch 4518/5000
35/35 [==============================] - 0s 556us/step - loss: 0.1016
Epoch 4519/5000
35/35 [==============================] - 0s 542us/step - loss: 0.1020
Epoch 4520/5000
35/35 [==============================] - 0s 567us/step - loss: 0.1016
Epoch 4521/5000
35/35 [==============================] - 0s 568us/step - loss: 0.1012
Epoch 4522/5000
35/35 [==============================] - 0s 565us/step - loss: 0.1004
Epoch 4523/5000
35/35 [==============================] - 0s 618us/step - loss: 0.0995
Epoch 4524/5000
35/35 [==============================] - 0s 590us/step - loss: 0.0993
Epoch 4525/5000
35/35 [==============================] - 0s 669us/step - loss: 0.0990
Epoch 4526/5000
35/35 [==============================] - 0s 552us/step - loss: 0.0991
Epoch 4527/5000
35/35 [==============================] - 0s 626us/step - loss: 0.0985
Epoch 4528/5000
35/35 [==============================] - 0s 625us/step - loss: 0.0980
Epoch 4529/5000
35/35 [==============================] - 0s 633us/step - loss: 0.0975
Epoch 4530/5000
35/35 [==============================] - 0s 645us/step - loss: 0.0972
Epoch 4531/5000
35/35 [==============================] - 0s 579us/step - loss: 0.0980
Epoch 4532/5000
35/35 [==============================] - 0s 605us/step - loss: 0.0983
Epoch 4533/5000
35/35 [==============================] - 0s 634us/step - loss: 0.0983
Epoch 4534/5000
35/35 [==============================] - 0s 810us/step - loss: 0.0978
Epoch 4535/5000
35/35 [==============================] - 0s 582us/step - loss: 0.0970
Epoch 4536/5000
35/35 [==============================] - 0s 586us/step - loss: 0.0969
Epoch 4537/5000
35/35 [==============================] - 0s 563us/step - loss: 0.0967
Epoch 4538/5000
35/35 [==============================] - 0s 533us/step - loss: 0.0968
Epoch 4539/5000
35/35 [==============================] - 0s 553us/step - loss: 0.0973
Epoch 4540/5000
35/35 [==============================] - 0s 545us/step - loss: 0.0977
Epoch 4541/5000
35/35 [==============================] - 0s 571us/step - loss: 0.0979
Epoch 4542/5000
35/35 [==============================] - 0s 569us/step - loss: 0.0976
Epoch 4543/5000
35/35 [==============================] - 0s 604us/step - loss: 0.0980
Epoch 4544/5000
35/35 [==============================] - 0s 589us/step - loss: 0.0975
Epoch 4545/5000
35/35 [==============================] - 0s 587us/step - loss: 0.0974
Epoch 4546/5000
35/35 [==============================] - 0s 571us/step - loss: 0.0971
Epoch 4547/5000
35/35 [==============================] - 0s 578us/step - loss: 0.0974
Epoch 4548/5000
35/35 [==============================] - 0s 537us/step - loss: 0.0979
Epoch 4549/5000
35/35 [==============================] - 0s 653us/step - loss: 0.0967
Epoch 4550/5000
35/35 [==============================] - 0s 718us/step - loss: 0.0967
Epoch 4551/5000
35/35 [==============================] - 0s 618us/step - loss: 0.0977
Epoch 4552/5000
35/35 [==============================] - 0s 805us/step - loss: 0.0989
Epoch 4553/5000
35/35 [==============================] - 0s 569us/step - loss: 0.0996
Epoch 4554/5000
35/35 [==============================] - 0s 580us/step - loss: 0.1001
Epoch 4555/5000
35/35 [==============================] - 0s 621us/step - loss: 0.1002
Epoch 4556/5000
35/35 [==============================] - 0s 659us/step - loss: 0.1000
Epoch 4557/5000
35/35 [==============================] - 0s 593us/step - loss: 0.1000
Epoch 4558/5000
35/35 [==============================] - 0s 545us/step - loss: 0.1001
Epoch 4559/5000
35/35 [==============================] - 0s 578us/step - loss: 0.0999
Epoch 4560/5000
35/35 [==============================] - 0s 574us/step - loss: 0.0995
Epoch 4561/5000
35/35 [==============================] - 0s 672us/step - loss: 0.0988
Epoch 4562/5000
35/35 [==============================] - 0s 626us/step - loss: 0.0982
Epoch 4563/5000
35/35 [==============================] - 0s 678us/step - loss: 0.0972
Epoch 4564/5000
35/35 [==============================] - 0s 563us/step - loss: 0.0970
Epoch 4565/5000
35/35 [==============================] - 0s 613us/step - loss: 0.0977
Epoch 4566/5000
35/35 [==============================] - 0s 579us/step - loss: 0.0983
Epoch 4567/5000
35/35 [==============================] - 0s 565us/step - loss: 0.0985
Epoch 4568/5000
35/35 [==============================] - 0s 588us/step - loss: 0.0988
Epoch 4569/5000
35/35 [==============================] - 0s 546us/step - loss: 0.0993
Epoch 4570/5000
35/35 [==============================] - 0s 581us/step - loss: 0.0993
Epoch 4571/5000
35/35 [==============================] - 0s 712us/step - loss: 0.0996
Epoch 4572/5000
35/35 [==============================] - 0s 592us/step - loss: 0.0989
Epoch 4573/5000
35/35 [==============================] - 0s 672us/step - loss: 0.0982
Epoch 4574/5000
35/35 [==============================] - 0s 581us/step - loss: 0.0974
Epoch 4575/5000
35/35 [==============================] - 0s 576us/step - loss: 0.0969
Epoch 4576/5000
35/35 [==============================] - 0s 614us/step - loss: 0.0970
Epoch 4577/5000
35/35 [==============================] - 0s 614us/step - loss: 0.0974
Epoch 4578/5000
35/35 [==============================] - 0s 620us/step - loss: 0.0978
Epoch 4579/5000
35/35 [==============================] - 0s 562us/step - loss: 0.0975
Epoch 4580/5000
35/35 [==============================] - 0s 831us/step - loss: 0.0971
Epoch 4581/5000
35/35 [==============================] - 0s 546us/step - loss: 0.0975
Epoch 4582/5000
35/35 [==============================] - 0s 530us/step - loss: 0.0972
Epoch 4583/5000
35/35 [==============================] - 0s 524us/step - loss: 0.0976
Epoch 4584/5000
35/35 [==============================] - 0s 615us/step - loss: 0.0980
Epoch 4585/5000
35/35 [==============================] - 0s 573us/step - loss: 0.0983
Epoch 4586/5000
35/35 [==============================] - 0s 573us/step - loss: 0.0994
Epoch 4587/5000
35/35 [==============================] - 0s 564us/step - loss: 0.0989
Epoch 4588/5000
35/35 [==============================] - 0s 528us/step - loss: 0.0975
Epoch 4589/5000
35/35 [==============================] - 0s 582us/step - loss: 0.0965
Epoch 4590/5000
35/35 [==============================] - 0s 513us/step - loss: 0.0963
Epoch 4591/5000
35/35 [==============================] - 0s 584us/step - loss: 0.0964
Epoch 4592/5000
35/35 [==============================] - 0s 577us/step - loss: 0.0961
Epoch 4593/5000
35/35 [==============================] - 0s 529us/step - loss: 0.0956
Epoch 4594/5000
35/35 [==============================] - 0s 564us/step - loss: 0.0954
Epoch 4595/5000
35/35 [==============================] - 0s 552us/step - loss: 0.0955
Epoch 4596/5000
35/35 [==============================] - 0s 573us/step - loss: 0.0956
Epoch 4597/5000
35/35 [==============================] - 0s 558us/step - loss: 0.0960
Epoch 4598/5000
35/35 [==============================] - 0s 538us/step - loss: 0.0975
Epoch 4599/5000
35/35 [==============================] - 0s 685us/step - loss: 0.0982
Epoch 4600/5000
35/35 [==============================] - 0s 662us/step - loss: 0.0973
Epoch 4601/5000
35/35 [==============================] - 0s 649us/step - loss: 0.0954
Epoch 4602/5000
35/35 [==============================] - 0s 562us/step - loss: 0.0951
Epoch 4603/5000
35/35 [==============================] - 0s 576us/step - loss: 0.0966
Epoch 4604/5000
35/35 [==============================] - 0s 547us/step - loss: 0.0976
Epoch 4605/5000
35/35 [==============================] - 0s 655us/step - loss: 0.0984
Epoch 4606/5000
35/35 [==============================] - 0s 692us/step - loss: 0.0984
Epoch 4607/5000
35/35 [==============================] - 0s 567us/step - loss: 0.0985
Epoch 4608/5000
35/35 [==============================] - 0s 660us/step - loss: 0.0985
Epoch 4609/5000
35/35 [==============================] - 0s 566us/step - loss: 0.0984
Epoch 4610/5000
35/35 [==============================] - 0s 559us/step - loss: 0.0985
Epoch 4611/5000
35/35 [==============================] - 0s 566us/step - loss: 0.0987
Epoch 4612/5000
35/35 [==============================] - 0s 596us/step - loss: 0.0990
Epoch 4613/5000
35/35 [==============================] - 0s 588us/step - loss: 0.0992
Epoch 4614/5000
35/35 [==============================] - 0s 584us/step - loss: 0.0995
Epoch 4615/5000
35/35 [==============================] - 0s 569us/step - loss: 0.0983
Epoch 4616/5000
35/35 [==============================] - 0s 559us/step - loss: 0.0975
Epoch 4617/5000
35/35 [==============================] - 0s 586us/step - loss: 0.0971
Epoch 4618/5000
35/35 [==============================] - 0s 617us/step - loss: 0.0970
Epoch 4619/5000
35/35 [==============================] - 0s 540us/step - loss: 0.0967
Epoch 4620/5000
35/35 [==============================] - 0s 561us/step - loss: 0.0969
Epoch 4621/5000
35/35 [==============================] - 0s 583us/step - loss: 0.0997
Epoch 4622/5000
35/35 [==============================] - 0s 558us/step - loss: 0.1005
Epoch 4623/5000
35/35 [==============================] - 0s 616us/step - loss: 0.0998
Epoch 4624/5000
35/35 [==============================] - 0s 595us/step - loss: 0.1002
Epoch 4625/5000
35/35 [==============================] - 0s 625us/step - loss: 0.1008
Epoch 4626/5000
35/35 [==============================] - 0s 578us/step - loss: 0.1009
Epoch 4627/5000
35/35 [==============================] - 0s 650us/step - loss: 0.1002
Epoch 4628/5000
35/35 [==============================] - 0s 721us/step - loss: 0.0998
Epoch 4629/5000
35/35 [==============================] - 0s 586us/step - loss: 0.0991
Epoch 4630/5000
35/35 [==============================] - 0s 600us/step - loss: 0.0985
Epoch 4631/5000
35/35 [==============================] - 0s 606us/step - loss: 0.0984
Epoch 4632/5000
35/35 [==============================] - 0s 665us/step - loss: 0.0968
Epoch 4633/5000
35/35 [==============================] - 0s 544us/step - loss: 0.0957
Epoch 4634/5000
35/35 [==============================] - 0s 522us/step - loss: 0.0956
Epoch 4635/5000
35/35 [==============================] - 0s 545us/step - loss: 0.0973
Epoch 4636/5000
35/35 [==============================] - 0s 542us/step - loss: 0.0981
Epoch 4637/5000
35/35 [==============================] - 0s 701us/step - loss: 0.0977
Epoch 4638/5000
35/35 [==============================] - 0s 555us/step - loss: 0.0975
Epoch 4639/5000
35/35 [==============================] - 0s 550us/step - loss: 0.0967
Epoch 4640/5000
35/35 [==============================] - 0s 571us/step - loss: 0.0954
Epoch 4641/5000
35/35 [==============================] - 0s 582us/step - loss: 0.0948
Epoch 4642/5000
35/35 [==============================] - 0s 560us/step - loss: 0.0956
Epoch 4643/5000
35/35 [==============================] - 0s 524us/step - loss: 0.0964
Epoch 4644/5000
35/35 [==============================] - 0s 618us/step - loss: 0.0969
Epoch 4645/5000
35/35 [==============================] - 0s 556us/step - loss: 0.0964
Epoch 4646/5000
35/35 [==============================] - 0s 736us/step - loss: 0.0988
Epoch 4647/5000
35/35 [==============================] - 0s 800us/step - loss: 0.0992
Epoch 4648/5000
35/35 [==============================] - 0s 635us/step - loss: 0.0999
Epoch 4649/5000
35/35 [==============================] - 0s 500us/step - loss: 0.1012
Epoch 4650/5000
35/35 [==============================] - 0s 542us/step - loss: 0.1018
Epoch 4651/5000
35/35 [==============================] - 0s 613us/step - loss: 0.1017
Epoch 4652/5000
35/35 [==============================] - 0s 566us/step - loss: 0.1012
Epoch 4653/5000
35/35 [==============================] - 0s 542us/step - loss: 0.1022
Epoch 4654/5000
35/35 [==============================] - 0s 566us/step - loss: 0.1021
Epoch 4655/5000
35/35 [==============================] - 0s 564us/step - loss: 0.1015
Epoch 4656/5000
35/35 [==============================] - 0s 560us/step - loss: 0.1008
Epoch 4657/5000
35/35 [==============================] - 0s 562us/step - loss: 0.0996
Epoch 4658/5000
35/35 [==============================] - 0s 525us/step - loss: 0.0975
Epoch 4659/5000
35/35 [==============================] - 0s 527us/step - loss: 0.0965
Epoch 4660/5000
35/35 [==============================] - 0s 741us/step - loss: 0.0958
Epoch 4661/5000
35/35 [==============================] - 0s 551us/step - loss: 0.0961
Epoch 4662/5000
35/35 [==============================] - 0s 581us/step - loss: 0.0954
Epoch 4663/5000
35/35 [==============================] - 0s 629us/step - loss: 0.0950
Epoch 4664/5000
35/35 [==============================] - 0s 662us/step - loss: 0.0943
Epoch 4665/5000
35/35 [==============================] - 0s 603us/step - loss: 0.0944
Epoch 4666/5000
35/35 [==============================] - 0s 621us/step - loss: 0.0942
Epoch 4667/5000
35/35 [==============================] - 0s 588us/step - loss: 0.0946
Epoch 4668/5000
35/35 [==============================] - 0s 550us/step - loss: 0.0963
Epoch 4669/5000
35/35 [==============================] - 0s 641us/step - loss: 0.0972
Epoch 4670/5000
35/35 [==============================] - 0s 703us/step - loss: 0.0974
Epoch 4671/5000
35/35 [==============================] - 0s 536us/step - loss: 0.0973
Epoch 4672/5000
35/35 [==============================] - 0s 532us/step - loss: 0.0970
Epoch 4673/5000
35/35 [==============================] - 0s 726us/step - loss: 0.0973
Epoch 4674/5000
35/35 [==============================] - 0s 625us/step - loss: 0.0984
Epoch 4675/5000
35/35 [==============================] - 0s 741us/step - loss: 0.0984
Epoch 4676/5000
35/35 [==============================] - 0s 580us/step - loss: 0.0979
Epoch 4677/5000
35/35 [==============================] - 0s 651us/step - loss: 0.0971
Epoch 4678/5000
35/35 [==============================] - 0s 565us/step - loss: 0.0960
Epoch 4679/5000
35/35 [==============================] - 0s 559us/step - loss: 0.0950
Epoch 4680/5000
35/35 [==============================] - 0s 547us/step - loss: 0.0958
Epoch 4681/5000
35/35 [==============================] - 0s 598us/step - loss: 0.0971
Epoch 4682/5000
35/35 [==============================] - 0s 671us/step - loss: 0.0974
Epoch 4683/5000
35/35 [==============================] - 0s 583us/step - loss: 0.0982
Epoch 4684/5000
35/35 [==============================] - 0s 569us/step - loss: 0.0973
Epoch 4685/5000
35/35 [==============================] - 0s 589us/step - loss: 0.0969
Epoch 4686/5000
35/35 [==============================] - 0s 571us/step - loss: 0.0968
Epoch 4687/5000
35/35 [==============================] - 0s 518us/step - loss: 0.0962
Epoch 4688/5000
35/35 [==============================] - 0s 692us/step - loss: 0.0952
Epoch 4689/5000
35/35 [==============================] - 0s 561us/step - loss: 0.0944
Epoch 4690/5000
35/35 [==============================] - 0s 537us/step - loss: 0.0948
Epoch 4691/5000
35/35 [==============================] - 0s 513us/step - loss: 0.0944
Epoch 4692/5000
35/35 [==============================] - 0s 641us/step - loss: 0.0940
Epoch 4693/5000
35/35 [==============================] - 0s 663us/step - loss: 0.0943
Epoch 4694/5000
35/35 [==============================] - 0s 766us/step - loss: 0.0947
Epoch 4695/5000
35/35 [==============================] - 0s 699us/step - loss: 0.0942
Epoch 4696/5000
35/35 [==============================] - 0s 533us/step - loss: 0.0936
Epoch 4697/5000
35/35 [==============================] - 0s 529us/step - loss: 0.0934
Epoch 4698/5000
35/35 [==============================] - 0s 546us/step - loss: 0.0934
Epoch 4699/5000
35/35 [==============================] - 0s 581us/step - loss: 0.0938
Epoch 4700/5000
35/35 [==============================] - 0s 571us/step - loss: 0.0970
Epoch 4701/5000
35/35 [==============================] - 0s 585us/step - loss: 0.0976
Epoch 4702/5000
35/35 [==============================] - 0s 661us/step - loss: 0.0970
Epoch 4703/5000
35/35 [==============================] - 0s 609us/step - loss: 0.0948
Epoch 4704/5000
35/35 [==============================] - 0s 570us/step - loss: 0.0944
Epoch 4705/5000
35/35 [==============================] - 0s 511us/step - loss: 0.0947
Epoch 4706/5000
35/35 [==============================] - 0s 577us/step - loss: 0.0954
Epoch 4707/5000
35/35 [==============================] - 0s 562us/step - loss: 0.0957
Epoch 4708/5000
35/35 [==============================] - 0s 601us/step - loss: 0.0964
Epoch 4709/5000
35/35 [==============================] - 0s 569us/step - loss: 0.0960
Epoch 4710/5000
35/35 [==============================] - 0s 573us/step - loss: 0.0958
Epoch 4711/5000
35/35 [==============================] - 0s 656us/step - loss: 0.0954
Epoch 4712/5000
35/35 [==============================] - 0s 620us/step - loss: 0.0954
Epoch 4713/5000
35/35 [==============================] - 0s 579us/step - loss: 0.0945
Epoch 4714/5000
35/35 [==============================] - 0s 561us/step - loss: 0.0948
Epoch 4715/5000
35/35 [==============================] - 0s 647us/step - loss: 0.0941
Epoch 4716/5000
35/35 [==============================] - 0s 542us/step - loss: 0.0940
Epoch 4717/5000
35/35 [==============================] - 0s 585us/step - loss: 0.0946
Epoch 4718/5000
35/35 [==============================] - 0s 591us/step - loss: 0.0953
Epoch 4719/5000
35/35 [==============================] - 0s 573us/step - loss: 0.0969
Epoch 4720/5000
35/35 [==============================] - 0s 579us/step - loss: 0.0982
Epoch 4721/5000
35/35 [==============================] - 0s 547us/step - loss: 0.0992
Epoch 4722/5000
35/35 [==============================] - 0s 636us/step - loss: 0.0999
Epoch 4723/5000
35/35 [==============================] - 0s 610us/step - loss: 0.1000
Epoch 4724/5000
35/35 [==============================] - 0s 582us/step - loss: 0.1001
Epoch 4725/5000
35/35 [==============================] - 0s 560us/step - loss: 0.1005
Epoch 4726/5000
35/35 [==============================] - 0s 625us/step - loss: 0.0984
Epoch 4727/5000
35/35 [==============================] - 0s 594us/step - loss: 0.0970
Epoch 4728/5000
35/35 [==============================] - 0s 597us/step - loss: 0.0949
Epoch 4729/5000
35/35 [==============================] - 0s 595us/step - loss: 0.0943
Epoch 4730/5000
35/35 [==============================] - 0s 594us/step - loss: 0.0930
Epoch 4731/5000
35/35 [==============================] - 0s 589us/step - loss: 0.0942
Epoch 4732/5000
35/35 [==============================] - 0s 588us/step - loss: 0.0966
Epoch 4733/5000
35/35 [==============================] - 0s 588us/step - loss: 0.1000
Epoch 4734/5000
35/35 [==============================] - 0s 567us/step - loss: 0.1047
Epoch 4735/5000
35/35 [==============================] - 0s 631us/step - loss: 0.1096
Epoch 4736/5000
35/35 [==============================] - 0s 650us/step - loss: 0.1097
Epoch 4737/5000
35/35 [==============================] - 0s 690us/step - loss: 0.1077
Epoch 4738/5000
35/35 [==============================] - 0s 638us/step - loss: 0.1055
Epoch 4739/5000
35/35 [==============================] - 0s 570us/step - loss: 0.1024
Epoch 4740/5000
35/35 [==============================] - 0s 564us/step - loss: 0.1004
Epoch 4741/5000
35/35 [==============================] - 0s 669us/step - loss: 0.1004
Epoch 4742/5000
35/35 [==============================] - 0s 681us/step - loss: 0.1010
Epoch 4743/5000
35/35 [==============================] - 0s 911us/step - loss: 0.1005
Epoch 4744/5000
35/35 [==============================] - 0s 565us/step - loss: 0.1008
Epoch 4745/5000
35/35 [==============================] - 0s 568us/step - loss: 0.1017
Epoch 4746/5000
35/35 [==============================] - 0s 560us/step - loss: 0.1026
Epoch 4747/5000
35/35 [==============================] - 0s 551us/step - loss: 0.1035
Epoch 4748/5000
35/35 [==============================] - 0s 565us/step - loss: 0.1020
Epoch 4749/5000
35/35 [==============================] - 0s 528us/step - loss: 0.0996
Epoch 4750/5000
35/35 [==============================] - 0s 620us/step - loss: 0.0994
Epoch 4751/5000
35/35 [==============================] - 0s 562us/step - loss: 0.0997
Epoch 4752/5000
35/35 [==============================] - 0s 571us/step - loss: 0.0984
Epoch 4753/5000
35/35 [==============================] - 0s 566us/step - loss: 0.0961
Epoch 4754/5000
35/35 [==============================] - 0s 581us/step - loss: 0.0945
Epoch 4755/5000
35/35 [==============================] - 0s 700us/step - loss: 0.0947
Epoch 4756/5000
35/35 [==============================] - 0s 577us/step - loss: 0.0955
Epoch 4757/5000
35/35 [==============================] - 0s 644us/step - loss: 0.0963
Epoch 4758/5000
35/35 [==============================] - 0s 560us/step - loss: 0.0972
Epoch 4759/5000
35/35 [==============================] - 0s 622us/step - loss: 0.0966
Epoch 4760/5000
35/35 [==============================] - 0s 694us/step - loss: 0.0956
Epoch 4761/5000
35/35 [==============================] - 0s 573us/step - loss: 0.0949
Epoch 4762/5000
35/35 [==============================] - 0s 572us/step - loss: 0.0949
Epoch 4763/5000
35/35 [==============================] - 0s 584us/step - loss: 0.0951
Epoch 4764/5000
35/35 [==============================] - 0s 647us/step - loss: 0.0954
Epoch 4765/5000
35/35 [==============================] - 0s 676us/step - loss: 0.0953
Epoch 4766/5000
35/35 [==============================] - 0s 521us/step - loss: 0.0953
Epoch 4767/5000
35/35 [==============================] - 0s 566us/step - loss: 0.0944
Epoch 4768/5000
35/35 [==============================] - 0s 628us/step - loss: 0.0941
Epoch 4769/5000
35/35 [==============================] - 0s 731us/step - loss: 0.0935
Epoch 4770/5000
35/35 [==============================] - 0s 557us/step - loss: 0.0928
Epoch 4771/5000
35/35 [==============================] - 0s 595us/step - loss: 0.0929
Epoch 4772/5000
35/35 [==============================] - 0s 567us/step - loss: 0.0933
Epoch 4773/5000
35/35 [==============================] - 0s 534us/step - loss: 0.0922
Epoch 4774/5000
35/35 [==============================] - 0s 543us/step - loss: 0.0922
Epoch 4775/5000
35/35 [==============================] - 0s 677us/step - loss: 0.0942
Epoch 4776/5000
35/35 [==============================] - 0s 542us/step - loss: 0.0977
Epoch 4777/5000
35/35 [==============================] - 0s 556us/step - loss: 0.0982
Epoch 4778/5000
35/35 [==============================] - 0s 587us/step - loss: 0.0974
Epoch 4779/5000
35/35 [==============================] - 0s 555us/step - loss: 0.0952
Epoch 4780/5000
35/35 [==============================] - 0s 561us/step - loss: 0.0937
Epoch 4781/5000
35/35 [==============================] - 0s 601us/step - loss: 0.0942
Epoch 4782/5000
35/35 [==============================] - 0s 575us/step - loss: 0.0944
Epoch 4783/5000
35/35 [==============================] - 0s 607us/step - loss: 0.0957
Epoch 4784/5000
35/35 [==============================] - 0s 635us/step - loss: 0.0966
Epoch 4785/5000
35/35 [==============================] - 0s 573us/step - loss: 0.0958
Epoch 4786/5000
35/35 [==============================] - 0s 569us/step - loss: 0.0946
Epoch 4787/5000
35/35 [==============================] - 0s 707us/step - loss: 0.0940
Epoch 4788/5000
35/35 [==============================] - 0s 751us/step - loss: 0.0935
Epoch 4789/5000
35/35 [==============================] - 0s 913us/step - loss: 0.0929
Epoch 4790/5000
35/35 [==============================] - 0s 542us/step - loss: 0.0929
Epoch 4791/5000
35/35 [==============================] - 0s 621us/step - loss: 0.0938
Epoch 4792/5000
35/35 [==============================] - 0s 516us/step - loss: 0.0956
Epoch 4793/5000
35/35 [==============================] - 0s 596us/step - loss: 0.0965
Epoch 4794/5000
35/35 [==============================] - 0s 716us/step - loss: 0.0962
Epoch 4795/5000
35/35 [==============================] - 0s 601us/step - loss: 0.0960
Epoch 4796/5000
35/35 [==============================] - 0s 555us/step - loss: 0.0949
Epoch 4797/5000
35/35 [==============================] - 0s 565us/step - loss: 0.0925
Epoch 4798/5000
35/35 [==============================] - 0s 529us/step - loss: 0.0922
Epoch 4799/5000
35/35 [==============================] - 0s 540us/step - loss: 0.0933
Epoch 4800/5000
35/35 [==============================] - 0s 553us/step - loss: 0.0954
Epoch 4801/5000
35/35 [==============================] - 0s 567us/step - loss: 0.0962
Epoch 4802/5000
35/35 [==============================] - 0s 518us/step - loss: 0.0967
Epoch 4803/5000
35/35 [==============================] - 0s 640us/step - loss: 0.0972
Epoch 4804/5000
35/35 [==============================] - 0s 600us/step - loss: 0.0969
Epoch 4805/5000
35/35 [==============================] - 0s 679us/step - loss: 0.0952
Epoch 4806/5000
35/35 [==============================] - 0s 544us/step - loss: 0.0942
Epoch 4807/5000
35/35 [==============================] - 0s 565us/step - loss: 0.0929
Epoch 4808/5000
35/35 [==============================] - 0s 515us/step - loss: 0.0916
Epoch 4809/5000
35/35 [==============================] - 0s 528us/step - loss: 0.0910
Epoch 4810/5000
35/35 [==============================] - 0s 595us/step - loss: 0.0913
Epoch 4811/5000
35/35 [==============================] - 0s 588us/step - loss: 0.0933
Epoch 4812/5000
35/35 [==============================] - 0s 517us/step - loss: 0.0956
Epoch 4813/5000
35/35 [==============================] - 0s 578us/step - loss: 0.0969
Epoch 4814/5000
35/35 [==============================] - 0s 587us/step - loss: 0.0965
Epoch 4815/5000
35/35 [==============================] - 0s 535us/step - loss: 0.0936
Epoch 4816/5000
35/35 [==============================] - 0s 834us/step - loss: 0.0921
Epoch 4817/5000
35/35 [==============================] - 0s 526us/step - loss: 0.0909
Epoch 4818/5000
35/35 [==============================] - 0s 539us/step - loss: 0.0932
Epoch 4819/5000
35/35 [==============================] - 0s 520us/step - loss: 0.0971
Epoch 4820/5000
35/35 [==============================] - 0s 565us/step - loss: 0.0986
Epoch 4821/5000
35/35 [==============================] - 0s 548us/step - loss: 0.0993
Epoch 4822/5000
35/35 [==============================] - 0s 534us/step - loss: 0.0996
Epoch 4823/5000
35/35 [==============================] - 0s 597us/step - loss: 0.1002
Epoch 4824/5000
35/35 [==============================] - 0s 573us/step - loss: 0.1006
Epoch 4825/5000
35/35 [==============================] - 0s 531us/step - loss: 0.1011
Epoch 4826/5000
35/35 [==============================] - 0s 594us/step - loss: 0.1007
Epoch 4827/5000
35/35 [==============================] - 0s 577us/step - loss: 0.0996
Epoch 4828/5000
35/35 [==============================] - 0s 546us/step - loss: 0.0988
Epoch 4829/5000
35/35 [==============================] - 0s 523us/step - loss: 0.0982
Epoch 4830/5000
35/35 [==============================] - 0s 671us/step - loss: 0.0967
Epoch 4831/5000
35/35 [==============================] - 0s 648us/step - loss: 0.0937
Epoch 4832/5000
35/35 [==============================] - 0s 770us/step - loss: 0.0929
Epoch 4833/5000
35/35 [==============================] - 0s 675us/step - loss: 0.0910
Epoch 4834/5000
35/35 [==============================] - 0s 596us/step - loss: 0.0916
Epoch 4835/5000
35/35 [==============================] - 0s 564us/step - loss: 0.0924
Epoch 4836/5000
35/35 [==============================] - 0s 917us/step - loss: 0.0918
Epoch 4837/5000
35/35 [==============================] - 0s 725us/step - loss: 0.0932
Epoch 4838/5000
35/35 [==============================] - 0s 621us/step - loss: 0.0954
Epoch 4839/5000
35/35 [==============================] - 0s 568us/step - loss: 0.0970
Epoch 4840/5000
35/35 [==============================] - 0s 628us/step - loss: 0.0975
Epoch 4841/5000
35/35 [==============================] - 0s 529us/step - loss: 0.0955
Epoch 4842/5000
35/35 [==============================] - 0s 641us/step - loss: 0.0932
Epoch 4843/5000
35/35 [==============================] - 0s 555us/step - loss: 0.0917
Epoch 4844/5000
35/35 [==============================] - 0s 522us/step - loss: 0.0915
Epoch 4845/5000
35/35 [==============================] - 0s 510us/step - loss: 0.0910
Epoch 4846/5000
35/35 [==============================] - 0s 640us/step - loss: 0.0904
Epoch 4847/5000
35/35 [==============================] - 0s 547us/step - loss: 0.0904
Epoch 4848/5000
35/35 [==============================] - 0s 544us/step - loss: 0.0915
Epoch 4849/5000
35/35 [==============================] - 0s 542us/step - loss: 0.0929
Epoch 4850/5000
35/35 [==============================] - 0s 657us/step - loss: 0.0941
Epoch 4851/5000
35/35 [==============================] - 0s 563us/step - loss: 0.0920
Epoch 4852/5000
35/35 [==============================] - 0s 757us/step - loss: 0.0897
Epoch 4853/5000
35/35 [==============================] - 0s 597us/step - loss: 0.0901
Epoch 4854/5000
35/35 [==============================] - 0s 582us/step - loss: 0.0907
Epoch 4855/5000
35/35 [==============================] - 0s 612us/step - loss: 0.0917
Epoch 4856/5000
35/35 [==============================] - 0s 557us/step - loss: 0.0923
Epoch 4857/5000
35/35 [==============================] - 0s 590us/step - loss: 0.0941
Epoch 4858/5000
35/35 [==============================] - 0s 557us/step - loss: 0.0951
Epoch 4859/5000
35/35 [==============================] - 0s 668us/step - loss: 0.0959
Epoch 4860/5000
35/35 [==============================] - 0s 570us/step - loss: 0.0993
Epoch 4861/5000
35/35 [==============================] - 0s 587us/step - loss: 0.0976
Epoch 4862/5000
35/35 [==============================] - 0s 583us/step - loss: 0.0946
Epoch 4863/5000
35/35 [==============================] - 0s 663us/step - loss: 0.0919
Epoch 4864/5000
35/35 [==============================] - 0s 573us/step - loss: 0.0904
Epoch 4865/5000
35/35 [==============================] - 0s 548us/step - loss: 0.0891
Epoch 4866/5000
35/35 [==============================] - 0s 590us/step - loss: 0.0885
Epoch 4867/5000
35/35 [==============================] - 0s 600us/step - loss: 0.0883
Epoch 4868/5000
35/35 [==============================] - 0s 573us/step - loss: 0.0896
Epoch 4869/5000
35/35 [==============================] - 0s 569us/step - loss: 0.0917
Epoch 4870/5000
35/35 [==============================] - 0s 594us/step - loss: 0.0920
Epoch 4871/5000
35/35 [==============================] - 0s 541us/step - loss: 0.0905
Epoch 4872/5000
35/35 [==============================] - 0s 566us/step - loss: 0.0893
Epoch 4873/5000
35/35 [==============================] - 0s 553us/step - loss: 0.0896
Epoch 4874/5000
35/35 [==============================] - 0s 548us/step - loss: 0.0903
Epoch 4875/5000
35/35 [==============================] - 0s 580us/step - loss: 0.0914
Epoch 4876/5000
35/35 [==============================] - 0s 569us/step - loss: 0.0919
Epoch 4877/5000
35/35 [==============================] - 0s 661us/step - loss: 0.0907
Epoch 4878/5000
35/35 [==============================] - 0s 549us/step - loss: 0.0886
Epoch 4879/5000
35/35 [==============================] - 0s 596us/step - loss: 0.0886
Epoch 4880/5000
35/35 [==============================] - 0s 645us/step - loss: 0.0924
Epoch 4881/5000
35/35 [==============================] - 0s 565us/step - loss: 0.0943
Epoch 4882/5000
35/35 [==============================] - 0s 686us/step - loss: 0.0948
Epoch 4883/5000
35/35 [==============================] - 0s 701us/step - loss: 0.0967
Epoch 4884/5000
35/35 [==============================] - 0s 655us/step - loss: 0.0974
Epoch 4885/5000
35/35 [==============================] - 0s 673us/step - loss: 0.0970
Epoch 4886/5000
35/35 [==============================] - 0s 601us/step - loss: 0.0950
Epoch 4887/5000
35/35 [==============================] - 0s 605us/step - loss: 0.0932
Epoch 4888/5000
35/35 [==============================] - 0s 561us/step - loss: 0.0919
Epoch 4889/5000
35/35 [==============================] - 0s 563us/step - loss: 0.0912
Epoch 4890/5000
35/35 [==============================] - 0s 533us/step - loss: 0.0911
Epoch 4891/5000
35/35 [==============================] - 0s 574us/step - loss: 0.0908
Epoch 4892/5000
35/35 [==============================] - 0s 640us/step - loss: 0.0908
Epoch 4893/5000
35/35 [==============================] - 0s 597us/step - loss: 0.0909
Epoch 4894/5000
35/35 [==============================] - 0s 632us/step - loss: 0.0918
Epoch 4895/5000
35/35 [==============================] - 0s 495us/step - loss: 0.0925
Epoch 4896/5000
35/35 [==============================] - 0s 681us/step - loss: 0.0929
Epoch 4897/5000
35/35 [==============================] - 0s 554us/step - loss: 0.0931
Epoch 4898/5000
35/35 [==============================] - 0s 587us/step - loss: 0.0931
Epoch 4899/5000
35/35 [==============================] - 0s 614us/step - loss: 0.0930
Epoch 4900/5000
35/35 [==============================] - 0s 597us/step - loss: 0.0930
Epoch 4901/5000
35/35 [==============================] - 0s 590us/step - loss: 0.0929
Epoch 4902/5000
35/35 [==============================] - 0s 565us/step - loss: 0.0918
Epoch 4903/5000
35/35 [==============================] - 0s 606us/step - loss: 0.0900
Epoch 4904/5000
35/35 [==============================] - 0s 581us/step - loss: 0.0880
Epoch 4905/5000
35/35 [==============================] - 0s 637us/step - loss: 0.0888
Epoch 4906/5000
35/35 [==============================] - 0s 585us/step - loss: 0.0872
Epoch 4907/5000
35/35 [==============================] - 0s 633us/step - loss: 0.0896
Epoch 4908/5000
35/35 [==============================] - 0s 589us/step - loss: 0.0902
Epoch 4909/5000
35/35 [==============================] - 0s 598us/step - loss: 0.0902
Epoch 4910/5000
35/35 [==============================] - 0s 800us/step - loss: 0.0897
Epoch 4911/5000
35/35 [==============================] - 0s 603us/step - loss: 0.0890
Epoch 4912/5000
35/35 [==============================] - 0s 628us/step - loss: 0.0883
Epoch 4913/5000
35/35 [==============================] - 0s 534us/step - loss: 0.0886
Epoch 4914/5000
35/35 [==============================] - 0s 628us/step - loss: 0.0899
Epoch 4915/5000
35/35 [==============================] - 0s 619us/step - loss: 0.0913
Epoch 4916/5000
35/35 [==============================] - 0s 521us/step - loss: 0.0929
Epoch 4917/5000
35/35 [==============================] - 0s 560us/step - loss: 0.0945
Epoch 4918/5000
35/35 [==============================] - 0s 616us/step - loss: 0.0956
Epoch 4919/5000
35/35 [==============================] - 0s 697us/step - loss: 0.0957
Epoch 4920/5000
35/35 [==============================] - 0s 556us/step - loss: 0.0936
Epoch 4921/5000
35/35 [==============================] - 0s 601us/step - loss: 0.0907
Epoch 4922/5000
35/35 [==============================] - 0s 596us/step - loss: 0.0896
Epoch 4923/5000
35/35 [==============================] - 0s 567us/step - loss: 0.0897
Epoch 4924/5000
35/35 [==============================] - 0s 623us/step - loss: 0.0893
Epoch 4925/5000
35/35 [==============================] - 0s 600us/step - loss: 0.0880
Epoch 4926/5000
35/35 [==============================] - 0s 608us/step - loss: 0.0874
Epoch 4927/5000
35/35 [==============================] - 0s 568us/step - loss: 0.0876
Epoch 4928/5000
35/35 [==============================] - 0s 637us/step - loss: 0.0884
Epoch 4929/5000
35/35 [==============================] - 0s 601us/step - loss: 0.0893
Epoch 4930/5000
35/35 [==============================] - 0s 653us/step - loss: 0.0895
Epoch 4931/5000
35/35 [==============================] - 0s 697us/step - loss: 0.0898
Epoch 4932/5000
35/35 [==============================] - 0s 549us/step - loss: 0.0894
Epoch 4933/5000
35/35 [==============================] - 0s 571us/step - loss: 0.0912
Epoch 4934/5000
35/35 [==============================] - 0s 601us/step - loss: 0.0952
Epoch 4935/5000
35/35 [==============================] - 0s 562us/step - loss: 0.0959
Epoch 4936/5000
35/35 [==============================] - 0s 576us/step - loss: 0.0947
Epoch 4937/5000
35/35 [==============================] - 0s 559us/step - loss: 0.0941
Epoch 4938/5000
35/35 [==============================] - 0s 647us/step - loss: 0.0941
Epoch 4939/5000
35/35 [==============================] - 0s 555us/step - loss: 0.0932
Epoch 4940/5000
35/35 [==============================] - 0s 770us/step - loss: 0.0918
Epoch 4941/5000
35/35 [==============================] - 0s 687us/step - loss: 0.0908
Epoch 4942/5000
35/35 [==============================] - 0s 730us/step - loss: 0.0899
Epoch 4943/5000
35/35 [==============================] - 0s 615us/step - loss: 0.0891
Epoch 4944/5000
35/35 [==============================] - 0s 608us/step - loss: 0.0886
Epoch 4945/5000
35/35 [==============================] - 0s 581us/step - loss: 0.0885
Epoch 4946/5000
35/35 [==============================] - 0s 654us/step - loss: 0.0905
Epoch 4947/5000
35/35 [==============================] - 0s 558us/step - loss: 0.0901
Epoch 4948/5000
35/35 [==============================] - 0s 549us/step - loss: 0.0905
Epoch 4949/5000
35/35 [==============================] - 0s 562us/step - loss: 0.0906
Epoch 4950/5000
35/35 [==============================] - 0s 577us/step - loss: 0.0893
Epoch 4951/5000
35/35 [==============================] - 0s 559us/step - loss: 0.0899
Epoch 4952/5000
35/35 [==============================] - 0s 535us/step - loss: 0.0913
Epoch 4953/5000
35/35 [==============================] - 0s 560us/step - loss: 0.0928
Epoch 4954/5000
35/35 [==============================] - 0s 567us/step - loss: 0.0937
Epoch 4955/5000
35/35 [==============================] - 0s 568us/step - loss: 0.0941
Epoch 4956/5000
35/35 [==============================] - 0s 746us/step - loss: 0.0944
Epoch 4957/5000
35/35 [==============================] - 0s 548us/step - loss: 0.0940
Epoch 4958/5000
35/35 [==============================] - 0s 603us/step - loss: 0.0932
Epoch 4959/5000
35/35 [==============================] - 0s 638us/step - loss: 0.0915
Epoch 4960/5000
35/35 [==============================] - 0s 589us/step - loss: 0.0900
Epoch 4961/5000
35/35 [==============================] - 0s 610us/step - loss: 0.0903
Epoch 4962/5000
35/35 [==============================] - 0s 591us/step - loss: 0.0920
Epoch 4963/5000
35/35 [==============================] - 0s 585us/step - loss: 0.0925
Epoch 4964/5000
35/35 [==============================] - 0s 605us/step - loss: 0.0914
Epoch 4965/5000
35/35 [==============================] - 0s 669us/step - loss: 0.0898
Epoch 4966/5000
35/35 [==============================] - 0s 617us/step - loss: 0.0887
Epoch 4967/5000
35/35 [==============================] - 0s 619us/step - loss: 0.0887
Epoch 4968/5000
35/35 [==============================] - 0s 580us/step - loss: 0.0892
Epoch 4969/5000
35/35 [==============================] - 0s 639us/step - loss: 0.0916
Epoch 4970/5000
35/35 [==============================] - 0s 654us/step - loss: 0.0947
Epoch 4971/5000
35/35 [==============================] - 0s 596us/step - loss: 0.0944
Epoch 4972/5000
35/35 [==============================] - 0s 577us/step - loss: 0.0925
Epoch 4973/5000
35/35 [==============================] - 0s 633us/step - loss: 0.0908
Epoch 4974/5000
35/35 [==============================] - 0s 548us/step - loss: 0.0905
Epoch 4975/5000
35/35 [==============================] - 0s 542us/step - loss: 0.0903
Epoch 4976/5000
35/35 [==============================] - 0s 565us/step - loss: 0.0906
Epoch 4977/5000
35/35 [==============================] - 0s 755us/step - loss: 0.0900
Epoch 4978/5000
35/35 [==============================] - 0s 604us/step - loss: 0.0891
Epoch 4979/5000
35/35 [==============================] - 0s 609us/step - loss: 0.0892
Epoch 4980/5000
35/35 [==============================] - 0s 581us/step - loss: 0.0889
Epoch 4981/5000
35/35 [==============================] - 0s 586us/step - loss: 0.0890
Epoch 4982/5000
35/35 [==============================] - 0s 712us/step - loss: 0.0890
Epoch 4983/5000
35/35 [==============================] - 0s 569us/step - loss: 0.0888
Epoch 4984/5000
35/35 [==============================] - 0s 560us/step - loss: 0.0889
Epoch 4985/5000
35/35 [==============================] - 0s 604us/step - loss: 0.0885
Epoch 4986/5000
35/35 [==============================] - 0s 536us/step - loss: 0.0880
Epoch 4987/5000
35/35 [==============================] - 0s 584us/step - loss: 0.0879
Epoch 4988/5000
35/35 [==============================] - 0s 768us/step - loss: 0.0884
Epoch 4989/5000
35/35 [==============================] - 0s 561us/step - loss: 0.0885
Epoch 4990/5000
35/35 [==============================] - 0s 548us/step - loss: 0.0873
Epoch 4991/5000
35/35 [==============================] - 0s 597us/step - loss: 0.0864
Epoch 4992/5000
35/35 [==============================] - 0s 573us/step - loss: 0.0856
Epoch 4993/5000
35/35 [==============================] - 0s 624us/step - loss: 0.0867
Epoch 4994/5000
35/35 [==============================] - 0s 585us/step - loss: 0.0870
Epoch 4995/5000
35/35 [==============================] - 0s 565us/step - loss: 0.0879
Epoch 4996/5000
35/35 [==============================] - 0s 612us/step - loss: 0.0883
Epoch 4997/5000
35/35 [==============================] - 0s 557us/step - loss: 0.0884
Epoch 4998/5000
35/35 [==============================] - 0s 529us/step - loss: 0.0890
Epoch 4999/5000
35/35 [==============================] - 0s 653us/step - loss: 0.0906
Epoch 5000/5000
35/35 [==============================] - 0s 541us/step - loss: 0.0907
In [0]:
# Function to forecast the next difference based on the current month's difference
# Essentially just the a function to reshape input and feed it to the trained algorithm
def forecast_lstm(model, X):
X = X.reshape(1, 1, len(X))
yhat = model.predict(X)
return yhat[0,0]
In [55]:
# Validation on the test data
# List with predictions
lstm_predictions = list()
# Predictions
for i in range(len(test_scaled)):
# Adjusting the shape in the test data
X, y = test_scaled[i, 0:-1], test_scaled[i, -1]
# Predicting
yhat = forecast_lstm(lstm_model, X)
# Reversing the scale back to the original scale
yhat = invert_scale(scaler, X, yhat)
# Reversing the differentiation
yhat = inverse_difference(raw_values, yhat, len(test_scaled) + 1 - i)
# Storing the prediction
lstm_predictions.append(yhat)
expected = raw_values[len(train_scaled) + i ]
print('Month = %d, Predicted Value = %f, True Value = %f' % (i + 1, yhat, expected))
Month = 1, Predicted Value = 865.205508, True Value = 970.554870
Month = 2, Predicted Value = 1443.232505, True Value = 1195.218071
Month = 3, Predicted Value = 377.010758, True Value = 430.501714
Month = 4, Predicted Value = 398.810325, True Value = 1392.859250
Month = 5, Predicted Value = 797.094700, True Value = 825.559133
Month = 6, Predicted Value = 730.959543, True Value = 678.329400
Month = 7, Predicted Value = 991.052913, True Value = 853.055000
Month = 8, Predicted Value = 1266.233301, True Value = 1054.996636
Month = 9, Predicted Value = 843.234142, True Value = 978.842333
Month = 10, Predicted Value = 972.588343, True Value = 1077.704120
Month = 11, Predicted Value = 1660.906639, True Value = 1493.439227
Month = 12, Predicted Value = 1944.268580, True Value = 1996.750920
In [56]:
# Model performance
original_test_data = sales_technology_monthly_mean[-12:]
lstm_model_performance = performance(original_test_data, lstm_predictions)
lstm_model_performance
The prediction MSE is 323356.92
The prediction RMSE is 568.64
The prediction MAPE is 52.63
In [57]:
# Plot
plt.figure(figsize = (18, 6))
# Original Series
plt.plot(sales_technology_monthly_mean.index,
sales_technology_monthly_mean.values,
label = 'Valores Observados',
color = 'Blue')
# Predictions
plt.plot(sales_technology_monthly_mean[36:].index,
lstm_predictions,
label = 'Differentiated LSTM Model Predictions',
color = 'Red')
plt.title('Differentiated LSTM Model Predictions')
plt.xlabel('Data')
plt.ylabel('Sales')
plt.legend()
plt.show()
Judging by the plot the prediction doesn't seem too bad, yet the metrics were rather awful.
Model comparison:
ARMA (3,1):
ARIMA (6,0,4):
SARIMA (0,0,1)x(1,1,0,12):
SARIMA (1,1,1)x(1,1,0,12):
SARIMAX (1,1,1)x(1,1,0,12):
Prophet:
Stacked LSTM:
Differentiated LSTM:
Part 4: https://colab.research.google.com/drive/10-vxlLMWIPOkZwl7DVY5O0jl1-v_GBWy
Part 3: https://colab.research.google.com/drive/1s_zYkNY7x3TJw2ApRFGU-C1DfwuhNaZD
This model will use a Bidirectional LSTM Neural Network combined with Grid Search Hyperparameter Optimization.
Loading Packages
In [1]:
# Deactivating the multiple warning messages produced by the newest versions of Pandas and Matplotlib.
import sys
import warnings
import matplotlib.cbook
if not sys.warnoptions:
warnings.simplefilter("ignore")
warnings.simplefilter(action='ignore', category=FutureWarning)
warnings.filterwarnings("ignore", category=FutureWarning)
warnings.filterwarnings("ignore", category=matplotlib.cbook.mplDeprecation)
# Data manipulation imports
import math
import numpy as np
import pandas as pd
import itertools
from pandas import Series
from pandas.tseries.offsets import DateOffset
# Data visualization imports
import matplotlib.pyplot as plt
import matplotlib as m
import seaborn as sns
# Predictive modeling imports
import sklearn
import keras
from sklearn.metrics import mean_squared_error
from sklearn.preprocessing import MinMaxScaler
from keras.preprocessing.sequence import TimeseriesGenerator
from keras.models import Sequential
from keras.layers.core import Dense, Activation
from keras.layers import LSTM, Bidirectional
from keras.layers import Dropout
from keras import optimizers
import statsmodels
import statsmodels.api as sm
import statsmodels.tsa.api as smt
import statsmodels.stats as sms
from statsmodels.tsa.seasonal import seasonal_decompose
from statsmodels.tsa.stattools import adfuller
# Graphics formatting imports
m.rcParams['axes.labelsize'] = 14
m.rcParams['xtick.labelsize'] = 12
m.rcParams['ytick.labelsize'] = 12
m.rcParams['text.color'] = 'k'
from matplotlib.pylab import rcParams
rcParams['figure.figsize'] = 15,7
matplotlib.style.use('ggplot')
%matplotlib inline
Using TensorFlow backend.
Data
The dataset used is available publicly in Tableau's website, and represents the historic sales from the startup in which HappyMoonVC is considering investing.
Dataset source: https://community.tableau.com/docs/DOC-1236
HappyMoonVC wants to analyze and predict all data the in the "technology" category
In [0]:
# Load data
data = pd.read_csv('https://raw.githubusercontent.com/Matheus-Schmitz/Datasets/master/tableau_superstore_sales.csv')
In [3]:
# Shape
data.shape
Out[3]:
(9994, 21)
In [4]:
# Columns
data.columns
Out[4]:
Index(['Row ID', 'Order ID', 'Order Date', 'Ship Date', 'Ship Mode',
'Customer ID', 'Customer Name', 'Segment', 'Country', 'City', 'State',
'Postal Code', 'Region', 'Product ID', 'Category', 'Sub-Category',
'Product Name', 'Sales', 'Quantity', 'Discount', 'Profit'],
dtype='object')
Exploratory Analysis
In [5]:
# Visualizing data
data.head()
Out[5]:
| Row ID | Order ID | Order Date | Ship Date | Ship Mode | Customer ID | Customer Name | Segment | Country | City | State | Postal Code | Region | Product ID | Category | Sub-Category | Product Name | Sales | Quantity | Discount | Profit |
0 | 1 | CA-2016-152156 | 2016-11-08 | 2016-11-11 | Second Class | CG-12520 | Claire Gute | Consumer | United States | Henderson | Kentucky | 42420 | South | FUR-BO-10001798 | Furniture | Bookcases | Bush Somerset Collection Bookcase | 261.9600 | 2 | 0.00 | 41.9136 |
1 | 2 | CA-2016-152156 | 2016-11-08 | 2016-11-11 | Second Class | CG-12520 | Claire Gute | Consumer | United States | Henderson | Kentucky | 42420 | South | FUR-CH-10000454 | Furniture | Chairs | Hon Deluxe Fabric Upholstered Stacking Chairs,... | 731.9400 | 3 | 0.00 | 219.5820 |
2 | 3 | CA-2016-138688 | 2016-06-12 | 2016-06-16 | Second Class | DV-13045 | Darrin Van Huff | Corporate | United States | Los Angeles | California | 90036 | West | OFF-LA-10000240 | Office Supplies | Labels | Self-Adhesive Address Labels for Typewriters b... | 14.6200 | 2 | 0.00 | 6.8714 |
3 | 4 | US-2015-108966 | 2015-10-11 | 2015-10-18 | Standard Class | SO-20335 | Sean O'Donnell | Consumer | United States | Fort Lauderdale | Florida | 33311 | South | FUR-TA-10000577 | Furniture | Tables | Bretford CR4500 Series Slim Rectangular Table | 957.5775 | 5 | 0.45 | -383.0310 |
4 | 5 | US-2015-108966 | 2015-10-11 | 2015-10-18 | Standard Class | SO-20335 | Sean O'Donnell | Consumer | United States | Fort Lauderdale | Florida | 33311 | South | OFF-ST-10000760 | Office Supplies | Storage | Eldon Fold 'N Roll Cart System | 22.3680 | 2 | 0.20 | 2.5164 |
In [6]:
# Statistic summaries
data.describe()
Out[6]:
| Row ID | Postal Code | Sales | Quantity | Discount | Profit |
count | 9994.000000 | 9994.000000 | 9994.000000 | 9994.000000 | 9994.000000 | 9994.000000 |
mean | 4997.500000 | 55190.379428 | 229.858001 | 3.789574 | 0.156203 | 28.656896 |
std | 2885.163629 | 32063.693350 | 623.245101 | 2.225110 | 0.206452 | 234.260108 |
min | 1.000000 | 1040.000000 | 0.444000 | 1.000000 | 0.000000 | -6599.978000 |
25% | 2499.250000 | 23223.000000 | 17.280000 | 2.000000 | 0.000000 | 1.728750 |
50% | 4997.500000 | 56430.500000 | 54.490000 | 3.000000 | 0.200000 | 8.666500 |
75% | 7495.750000 | 90008.000000 | 209.940000 | 5.000000 | 0.200000 | 29.364000 |
max | 9994.000000 | 99301.000000 | 22638.480000 | 14.000000 | 0.800000 | 8399.976000 |
In [7]:
# Checking for missing values
data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 9994 entries, 0 to 9993
Data columns (total 21 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Row ID 9994 non-null int64
1 Order ID 9994 non-null object
2 Order Date 9994 non-null object
3 Ship Date 9994 non-null object
4 Ship Mode 9994 non-null object
5 Customer ID 9994 non-null object
6 Customer Name 9994 non-null object
7 Segment 9994 non-null object
8 Country 9994 non-null object
9 City 9994 non-null object
10 State 9994 non-null object
11 Postal Code 9994 non-null int64
12 Region 9994 non-null object
13 Product ID 9994 non-null object
14 Category 9994 non-null object
15 Sub-Category 9994 non-null object
16 Product Name 9994 non-null object
17 Sales 9994 non-null float64
18 Quantity 9994 non-null int64
19 Discount 9994 non-null float64
20 Profit 9994 non-null float64
dtypes: float64(3), int64(3), object(15)
memory usage: 1.6+ MB
In [0]:
# Setting column names to lowercase
data.columns = map(str.lower, data.columns)
In [0]:
# Substituting espaces and dashes in the column names by underscores
data.columns = data.columns.str.replace(" ", "_")
data.columns = data.columns.str.replace("-", "_")
In [10]:
# Checking
data.columns
Out[10]:
Index(['row_id', 'order_id', 'order_date', 'ship_date', 'ship_mode',
'customer_id', 'customer_name', 'segment', 'country', 'city', 'state',
'postal_code', 'region', 'product_id', 'category', 'sub_category',
'product_name', 'sales', 'quantity', 'discount', 'profit'],
dtype='object')
In [11]:
# Assess the unique values per column (to know whether a variable is categorical or not)
for c in data.columns:
if len(set(data[c])) < 20:
print(c,set(data[c]))
ship_mode {'First Class', 'Standard Class', 'Second Class', 'Same Day'}
segment {'Corporate', 'Consumer', 'Home Office'}
country {'United States'}
region {'Central', 'South', 'West', 'East'}
category {'Furniture', 'Technology', 'Office Supplies'}
sub_category {'Furnishings', 'Phones', 'Tables', 'Accessories', 'Bookcases', 'Binders', 'Envelopes', 'Art', 'Labels', 'Paper', 'Storage', 'Fasteners', 'Copiers', 'Appliances', 'Supplies', 'Machines', 'Chairs'}
quantity {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14}
discount {0.0, 0.8, 0.2, 0.3, 0.45, 0.5, 0.7, 0.6, 0.32, 0.1, 0.4, 0.15}
In [0]:
# Splitting data by category
df_technology = data.loc[data['category'] == 'Technology']
df_furniture = data.loc[data['category'] == 'Furniture']
df_office = data.loc[data['category'] == 'Office Supplies']
In [0]:
# Aggregating sales by order date
ts_technology = df_technology.groupby('order_date')['sales'].sum().reset_index()
ts_furniture = df_furniture.groupby('order_date')['sales'].sum().reset_index()
ts_office = df_office.groupby('order_date')['sales'].sum().reset_index()
In [14]:
# Checking dataset
ts_technology
Out[14]:
| order_date | sales |
0 | 2014-01-06 | 1147.940 |
1 | 2014-01-09 | 31.200 |
2 | 2014-01-13 | 646.740 |
3 | 2014-01-15 | 149.950 |
4 | 2014-01-16 | 124.200 |
... | ... | ... |
819 | 2017-12-25 | 401.208 |
820 | 2017-12-27 | 164.388 |
821 | 2017-12-28 | 14.850 |
822 | 2017-12-29 | 302.376 |
823 | 2017-12-30 | 90.930 |
824 rows × 2 columns
In [0]:
# Setting the date as index
ts_technology = ts_technology.set_index('order_date')
ts_furniture = ts_furniture.set_index('order_date')
ts_office = ts_office.set_index('order_date')
In [16]:
# Visualizing the series
ts_technology
Out[16]:
| sales |
order_date |
|
2014-01-06 | 1147.940 |
2014-01-09 | 31.200 |
2014-01-13 | 646.740 |
2014-01-15 | 149.950 |
2014-01-16 | 124.200 |
... | ... |
2017-12-25 | 401.208 |
2017-12-27 | 164.388 |
2017-12-28 | 14.850 |
2017-12-29 | 302.376 |
2017-12-30 | 90.930 |
824 rows × 1 columns
In [17]:
# Plotting sales in the technology category
sales_technology = ts_technology[['sales']]
ax = sales_technology.plot(color = 'b', figsize = (18,6))
plt.xlabel("Data")
plt.ylabel('Sales')
plt.title("Technology Category Sales")
plt.show()
In [18]:
# Plotting sales in the furniture category
sales_furniture = ts_furniture[['sales']]
ax = sales_furniture.plot(color = 'g', figsize = (18,6))
plt.xlabel("Data")
plt.ylabel('Sales')
plt.title("Furniture Category Sales")
plt.show()
In [19]:
# Plotting sales in the office category
sales_office = ts_office[['sales']]
ax = sales_office.plot(color = 'r', figsize = (18,6))
plt.xlabel("Data")
plt.ylabel('Sales')
plt.title("Office Category Sales")
plt.show()
Adjusting the index type to DateTimeIndex (which characterizes a time series), so that it's possible to aggregate monthly and obtain the mean monthly sales.
In [20]:
# Checking index type
type(sales_technology.index)
Out[20]:
pandas.core.indexes.base.Index
In [0]:
# Changing index type
sales_technology.index = pd.to_datetime(sales_technology.index)
sales_furniture.index = pd.to_datetime(sales_furniture.index)
sales_office.index = pd.to_datetime(sales_office.index)
In [22]:
# Checking index type
type(sales_technology.index)
Out[22]:
pandas.core.indexes.datetimes.DatetimeIndex
In [0]:
# Resampling data to a monthly frequency
# Done by setting the month as index and then calculating the mean of daily sales over the month
sales_technology_monthly_mean = sales_technology['sales'].resample('MS').mean()
sales_furniture_monthly_mean = sales_furniture['sales'].resample('MS').mean()
sales_office_monthly_mean = sales_office['sales'].resample('MS').mean()
In [24]:
# Verifying the resulting type
type(sales_technology_monthly_mean)
Out[24]:
pandas.core.series.Series
In [25]:
# Checking the data
sales_technology_monthly_mean
Out[25]:
order_date
2014-01-01 449.041429
2014-02-01 229.787143
2014-03-01 2031.948375
2014-04-01 613.028933
2014-05-01 564.698588
2014-06-01 766.905909
2014-07-01 533.608933
2014-08-01 708.435385
2014-09-01 2035.838133
2014-10-01 596.900900
2014-11-01 1208.056320
2014-12-01 1160.732889
2015-01-01 925.070800
2015-02-01 431.121250
2015-03-01 574.662333
2015-04-01 697.559500
2015-05-01 831.642857
2015-06-01 429.024400
2015-07-01 691.397733
2015-08-01 1108.902286
2015-09-01 950.856400
2015-10-01 594.716111
2015-11-01 1037.982652
2015-12-01 1619.637636
2016-01-01 374.671067
2016-02-01 1225.891400
2016-03-01 1135.150105
2016-04-01 875.911882
2016-05-01 1601.816167
2016-06-01 1023.259500
2016-07-01 829.312500
2016-08-01 483.620100
2016-09-01 1144.170300
2016-10-01 1970.835875
2016-11-01 1085.642360
2016-12-01 970.554870
2017-01-01 1195.218071
2017-02-01 430.501714
2017-03-01 1392.859250
2017-04-01 825.559133
2017-05-01 678.329400
2017-06-01 853.055000
2017-07-01 1054.996636
2017-08-01 978.842333
2017-09-01 1077.704120
2017-10-01 1493.439227
2017-11-01 1996.750920
2017-12-01 955.865652
Freq: MS, Name: sales, dtype: float64
In [26]:
# Plotting the monthly mean daily sales of technology products
sales_technology_monthly_mean.plot(figsize = (18, 6), color = 'blue')
plt.xlabel("Purchase Date")
plt.ylabel('Sales')
plt.title("Technology: Average Daily Sales per Month")
plt.show()
In [27]:
# Plotting the monthly mean daily sales of furniture products
sales_furniture_monthly_mean.plot(figsize = (18, 6), color = 'green')
plt.xlabel("Purchase Date")
plt.ylabel('Sales')
plt.title("Furniture: Average Daily Sales per Month")
plt.show()
In [28]:
# Plotting the monthly mean daily sales of office products
sales_office_monthly_mean.plot(figsize = (20, 6), color = 'red')
plt.xlabel("Purchase Date")
plt.ylabel('Sales')
plt.title("Office: Average Daily Sales per Month")
plt.show()
Decomposing the series to analyze its componentes.
In [29]:
# Decomposing the time series with the monthly mean daily sales of technology products
decomposition = seasonal_decompose(sales_technology_monthly_mean, freq = 12)
rcParams['figure.figsize'] = 18, 12
# Components
trend = decomposition.trend
seasonal = decomposition.seasonal
residual = decomposition.resid
# Plot
plt.subplot(411)
plt.plot(sales_technology_monthly_mean, label = 'Original Series')
plt.legend(loc = 'best')
plt.subplot(412)
plt.plot(trend, label = 'Trend')
plt.legend(loc = 'best')
plt.subplot(413)
plt.plot(seasonal, label = 'Seasonality')
plt.legend(loc = 'best')
plt.subplot(414)
plt.plot(residual, label = 'Residuals')
plt.legend(loc = 'best')
plt.tight_layout()
Stationarity test:
In [0]:
# Function to test stationarity
def stationarity_test(serie):
# Calculating moving statistics
rolmean = serie.rolling(window = 12).mean()
rolstd = serie.rolling(window = 12).std()
# Plot of moving statistics
orig = plt.plot(serie, color = 'blue', label = 'Original')
mean = plt.plot(rolmean, color = 'red', label = 'Moving Average')
std = plt.plot(rolstd, color = 'black', label = 'Standard Deviation')
plt.legend(loc = 'best')
plt.title('Moving Statistics - Mean and Standard Deviation')
plt.show()
# Dickey-Fuller test:
print('\nDickey-Fuller Test Result:\n')
# Test
dftest = adfuller(serie, autolag = 'AIC')
# Formatting the output
df_output = pd.Series(dftest[0:4], index = ['Test Statistic',
'P-value',
'Number of Lags Considered',
'Number of Observations Used'])
# Loop through each item in the test output
for key, value in dftest[4].items():
df_output['Critical Value (%s)'%key] = value
print (df_output)
# Testing p-value
print ('\nConclusion:')
if df_output[1] > 0.05:
print('\nThe p-value is above 0.05, therefore there are no evidences to reject the null hypothesis.')
print('This series probably is not stationary.')
else:
print('\nThe p-value is below 0.05, therefore there are evidences to reject the null hypothesis.')
print('This series probably is stationary.')
In [31]:
# Verifying if the series is stationary
stationarity_test(sales_technology_monthly_mean)
Dickey-Fuller Test Result:
Test Statistic -7.187969e+00
P-value 2.547334e-10
Number of Lags Considered 0.000000e+00
Number of Observations Used 4.700000e+01
Critical Value (1%) -3.577848e+00
Critical Value (5%) -2.925338e+00
Critical Value (10%) -2.600774e+00
dtype: float64
Conclusion:
The p-value is below 0.05, therefore there are evidences to reject the null hypothesis.
This series probably is stationary.
Function to Calculate Accuracy
In [0]:
# Function
def performance(y_true, y_pred):
mse = ((y_pred - y_true) ** 2).mean()
mape = np.mean(np.abs((y_true - y_pred) / y_true)) * 100
return( print('The prediction MSE is {}'.format(round(mse, 2))+
'\nThe prediction RMSE is {}'.format(round(np.sqrt(mse), 2))+
'\nThe prediction MAPE is {}'.format(round(mape, 2))))
Train-Test Split
In [0]:
# Original series
X = sales_technology_monthly_mean
In [34]:
# Using the first 3 years (first 36 rows) for training
X[:-12]
Out[34]:
order_date
2014-01-01 449.041429
2014-02-01 229.787143
2014-03-01 2031.948375
2014-04-01 613.028933
2014-05-01 564.698588
2014-06-01 766.905909
2014-07-01 533.608933
2014-08-01 708.435385
2014-09-01 2035.838133
2014-10-01 596.900900
2014-11-01 1208.056320
2014-12-01 1160.732889
2015-01-01 925.070800
2015-02-01 431.121250
2015-03-01 574.662333
2015-04-01 697.559500
2015-05-01 831.642857
2015-06-01 429.024400
2015-07-01 691.397733
2015-08-01 1108.902286
2015-09-01 950.856400
2015-10-01 594.716111
2015-11-01 1037.982652
2015-12-01 1619.637636
2016-01-01 374.671067
2016-02-01 1225.891400
2016-03-01 1135.150105
2016-04-01 875.911882
2016-05-01 1601.816167
2016-06-01 1023.259500
2016-07-01 829.312500
2016-08-01 483.620100
2016-09-01 1144.170300
2016-10-01 1970.835875
2016-11-01 1085.642360
2016-12-01 970.554870
Freq: MS, Name: sales, dtype: float64
In [35]:
# Using the last year (last 12 rows) for testing
X[-12:]
Out[35]:
order_date
2017-01-01 1195.218071
2017-02-01 430.501714
2017-03-01 1392.859250
2017-04-01 825.559133
2017-05-01 678.329400
2017-06-01 853.055000
2017-07-01 1054.996636
2017-08-01 978.842333
2017-09-01 1077.704120
2017-10-01 1493.439227
2017-11-01 1996.750920
2017-12-01 955.865652
Freq: MS, Name: sales, dtype: float64
In [0]:
# Train-test split
training, testing = np.array(X[:-12]), np.array(X[-12:])
In [0]:
# Ajusta o shape, pois agora não temos um objeto pd.Series,
# mas sim um array NumPy, que é necessário para treinar o modelo LSTM
trainset = training.reshape(-1,1)
testset = testing.reshape(-1,1)
In [38]:
len(trainset)
Out[38]:
36
In [39]:
training
Out[39]:
array([ 449.04142857, 229.78714286, 2031.948375 , 613.02893333,
564.69858824, 766.90590909, 533.60893333, 708.43538462,
2035.83813333, 596.9009 , 1208.05632 , 1160.73288889,
925.0708 , 431.12125 , 574.66233333, 697.5595 ,
831.64285714, 429.0244 , 691.39773333, 1108.90228571,
950.8564 , 594.71611111, 1037.98265217, 1619.63763636,
374.67106667, 1225.8914 , 1135.15010526, 875.91188235,
1601.81616667, 1023.2595 , 829.3125 , 483.6201 ,
1144.1703 , 1970.835875 , 1085.64236 , 970.55486957])
In [40]:
trainset
Out[40]:
array([[ 449.04142857],
[ 229.78714286],
[2031.948375 ],
[ 613.02893333],
[ 564.69858824],
[ 766.90590909],
[ 533.60893333],
[ 708.43538462],
[2035.83813333],
[ 596.9009 ],
[1208.05632 ],
[1160.73288889],
[ 925.0708 ],
[ 431.12125 ],
[ 574.66233333],
[ 697.5595 ],
[ 831.64285714],
[ 429.0244 ],
[ 691.39773333],
[1108.90228571],
[ 950.8564 ],
[ 594.71611111],
[1037.98265217],
[1619.63763636],
[ 374.67106667],
[1225.8914 ],
[1135.15010526],
[ 875.91188235],
[1601.81616667],
[1023.2595 ],
[ 829.3125 ],
[ 483.6201 ],
[1144.1703 ],
[1970.835875 ],
[1085.64236 ],
[ 970.55486957]])
In [41]:
len(testset)
Out[41]:
12
In [42]:
testset
Out[42]:
array([[1195.21807143],
[ 430.50171429],
[1392.85925 ],
[ 825.55913333],
[ 678.3294 ],
[ 853.055 ],
[1054.99663636],
[ 978.84233333],
[1077.70412 ],
[1493.43922727],
[1996.75092 ],
[ 955.86565217]])
Bidirectional LSTM Model
Bidirectional LSTM Neural Networks essentially merge two RNN. One RNN is fed the regular time series as input, while the other RNN is fed a inversed time sequence as input.
In [0]:
# Create a scaler
scaler = MinMaxScaler()
In [44]:
# Train the scaler with the training dataset
scaler.fit(trainset)
Out[44]:
MinMaxScaler(copy=True, feature_range=(0, 1))
In [0]:
# Apply the trained scaler to the train dataset
# (No need to apply the scaler to the test dataset as the prediction will be converted back to normal scale)
trainset = scaler.transform(trainset)
In [46]:
trainset.shape
Out[46]:
(36, 1)
In [47]:
trainset
Out[47]:
array([[0.12139983],
[0. ],
[0.99784626],
[0.21219877],
[0.18543853],
[0.29739956],
[0.16822437],
[0.26502477],
[1. ],
[0.20326877],
[0.54166199],
[0.51545928],
[0.38497454],
[0.11147753],
[0.1909554 ],
[0.25900285],
[0.33324403],
[0.11031652],
[0.25559112],
[0.48676098],
[0.39925188],
[0.20205906],
[0.44749318],
[0.76955219],
[0.08022139],
[0.55153717],
[0.50129424],
[0.35775554],
[0.75968454],
[0.43934106],
[0.33195373],
[0.14054584],
[0.50628867],
[0.96400863],
[0.47388209],
[0.41015881]])
In [0]:
# Transform the time series in a dataset for supervised learning with input and output
# This is done by taking a timestep (eg: January sales) and defining it as X,
# Then taking the next timestep (Febraury sales) and defining it as Y.
def transform_series(dados, num_input = 1, num_output = 1):
# Convert to dataframe
df = pd.DataFrame(dados)
# Columns list
cols = list()
# Loop to define input data
for i in range(num_input, 0, -1):
cols.append(df.shift(i))
# Loop to define output data
for i in range(0, num_output):
cols.append(df.shift(-i))
# Concatenate input and output in a single dataframe
dataset_final = pd.concat(cols, axis = 1)
# Remove NA values
dataset_final.dropna(inplace = True)
return dataset_final.values
In [0]:
# Function to differentiate the series
def difference(data, order):
return [data[i] - data[i - order] for i in range(order, len(data))]
In [0]:
# Function to split data into training and testing sets
def split_train_valid(data, num):
return data[:-num], data[-num:]
In [0]:
# Function to traing the model with different hyperparameter combinations
def train_model(train, config):
# Hyperparameters to be used
n_input, n_nodes, n_epochs, n_batch, n_diff = config
# Differentiating the time series
if n_diff > 0:
train = difference(train, n_diff)
# Converting the time series to a supervised learning dataset
data = transform_series(train, num_input = n_input)
# Split X and Y
train_x, train_y = data[:, :-1], data[:, -1]
# Reshape data to [samples, timesteps, features]
n_features = 1
train_x = train_x.reshape((train_x.shape[0], train_x.shape[1], n_features))
# Define model
model = Sequential()
model.add(Bidirectional(LSTM(n_nodes, activation = 'relu', input_shape = (n_input, n_features))))
model.add(Dense(1))
model.compile(optimizer = 'adam', loss = 'mse')
# Training
model.fit(train_x, train_y, epochs = n_epochs, batch_size = n_batch, verbose = 0)
return model
In [0]:
# Function to make predictions with the trained model
def predict_series(model, history, config):
# Extract only the hyperparameters of interest
n_input, _, _, _, n_diff = config
# Prepare data (differentiation)
correction = 0.0
if n_diff > 0:
correction = history[-n_diff]
history = difference(history, n_diff)
# Reshape data to [samples, timesteps, features]
x_input = np.array(history[-n_input:]).reshape((1, n_input, 1))
# Prediction
yhat = model.predict(x_input, verbose = 0)
return correction + yhat[0]
Time series models can the evaluated using the Walk-forward method. Walk-forward is an approach where the model makes a predictions for each datapoint in the test dataset, one at a time. After each prediction if made for a given step in the test dataset, the true value for that timestamp is added to the training dataset to be used in predicting the next timestep.
Simpler models could be retrained after each subsequent prediction. More complex model, such as neural networks, aren't too suited for this approach given the much greater computational cost. Hence it will not be employed here.
Nevertheless, the true observation for a timestep can be added to the dataset to be used in predicting the following timestep value. .
In [0]:
# Walk-forward validation (for univariate data)
def walk_forward_validation(data, n_test, cfg):
# List with predictions
predictions = list()
# Split dataset
train, valid = split_train_valid(data, n_test)
# Train model
model = train_model(train, cfg)
# Save history
history = [x for x in train]
# One step forward with the validation data
for i in range(len(valid)):
# Predict
yhat = predict_series(model, history, cfg)
# Save prediction
predictions.append(yhat)
# Save history
history.append(valid[i])
# Calculate prediction MSE
erro = math.sqrt(mean_squared_error(valid, predictions))
print('\n')
print('Estimated model MSE = %.3f' % erro)
return erro
In [0]:
# Evaluate model
def evaluate_model(data, config, n_test, n_repeats = 10):
# Make list with hyperparameters
key = str(config)
# Train and evaluate model
scores = [walk_forward_validation(data, n_test, config) for _ in range(n_repeats)]
# Score
result = np.mean(scores)
print('\n')
print('Model with hyperparameters [%s] has an MSE of %.3f' % (key, result))
return (key, result)
In [0]:
# Grid Search function
def grid_search(data, cfg_list, n_test):
# Scores
scores = [evaluate_model(data, cfg, n_test) for cfg in cfg_list]
# Order hyperparameters by error
scores.sort(key = lambda tup: tup[1])
return scores
In [0]:
# List of hyperparameters to be tested
def list_hyperparameters():
n_input = [12]
n_nodes = [50, 100]
n_epochs = [50, 100, 200]
n_batch = [5, 10]
n_diff = [12]
configs = list()
for i in n_input:
for j in n_nodes:
for k in n_epochs:
for l in n_batch:
for m in n_diff:
cfg = [i, j, k, l, m]
configs.append(cfg)
print('\nTotal hyperparameter combinations: %d' % len(configs))
return configs
In [0]:
# Define the dataset (using data already normalized)
dataset = trainset
In [0]:
# Split
n_test = 1
In [59]:
# Hyperparameter list
cfg_list = list_hyperparameters()
Total hyperparameter combinations: 12
In [60]:
# Grid Search
scores = grid_search(dataset, cfg_list, n_test)
print('Finished.')
Estimated model MSE = 0.600
Estimated model MSE = 0.545
Estimated model MSE = 0.652
Estimated model MSE = 0.499
Estimated model MSE = 0.544
Estimated model MSE = 0.571
Estimated model MSE = 0.566
Estimated model MSE = 0.475
Estimated model MSE = 0.510
Estimated model MSE = 0.539
Model with hyperparameters [[12, 50, 50, 5, 12]] has an MSE of 0.550
Estimated model MSE = 0.530
Estimated model MSE = 0.542
Estimated model MSE = 0.550
Estimated model MSE = 0.489
Estimated model MSE = 0.581
Estimated model MSE = 0.527
Estimated model MSE = 0.496
Estimated model MSE = 0.564
Estimated model MSE = 0.471
Estimated model MSE = 0.417
Model with hyperparameters [[12, 50, 50, 10, 12]] has an MSE of 0.517
Estimated model MSE = 0.488
Estimated model MSE = 0.527
Estimated model MSE = 0.542
Estimated model MSE = 0.566
Estimated model MSE = 0.508
Estimated model MSE = 0.489
Estimated model MSE = 0.548
Estimated model MSE = 0.584
Estimated model MSE = 0.529
Estimated model MSE = 0.575
Model with hyperparameters [[12, 50, 100, 5, 12]] has an MSE of 0.536
Estimated model MSE = 0.461
Estimated model MSE = 0.475
Estimated model MSE = 0.487
Estimated model MSE = 0.510
Estimated model MSE = 0.488
Estimated model MSE = 0.454
Estimated model MSE = 0.539
Estimated model MSE = 0.595
Estimated model MSE = 0.476
Estimated model MSE = 0.510
Model with hyperparameters [[12, 50, 100, 10, 12]] has an MSE of 0.499
Estimated model MSE = 0.639
Estimated model MSE = 0.709
Estimated model MSE = 0.721
Estimated model MSE = 0.481
Estimated model MSE = 0.755
Estimated model MSE = 0.504
Estimated model MSE = 0.570
Estimated model MSE = 0.587
Estimated model MSE = 0.691
Estimated model MSE = 0.590
Model with hyperparameters [[12, 50, 200, 5, 12]] has an MSE of 0.625
Estimated model MSE = 0.490
Estimated model MSE = 0.575
Estimated model MSE = 0.521
Estimated model MSE = 0.592
Estimated model MSE = 0.610
Estimated model MSE = 0.517
Estimated model MSE = 0.595
Estimated model MSE = 0.592
Estimated model MSE = 0.617
Estimated model MSE = 0.595
Model with hyperparameters [[12, 50, 200, 10, 12]] has an MSE of 0.570
Estimated model MSE = 0.581
Estimated model MSE = 0.509
Estimated model MSE = 0.498
Estimated model MSE = 0.570
Estimated model MSE = 0.461
Estimated model MSE = 0.525
Estimated model MSE = 0.551
Estimated model MSE = 0.517
Estimated model MSE = 0.628
Estimated model MSE = 0.499
Model with hyperparameters [[12, 100, 50, 5, 12]] has an MSE of 0.534
Estimated model MSE = 0.528
Estimated model MSE = 0.495
Estimated model MSE = 0.485
Estimated model MSE = 0.490
Estimated model MSE = 0.525
Estimated model MSE = 0.510
Estimated model MSE = 0.583
Estimated model MSE = 0.531
Estimated model MSE = 0.598
Estimated model MSE = 0.620
Model with hyperparameters [[12, 100, 50, 10, 12]] has an MSE of 0.537
Estimated model MSE = 0.525
Estimated model MSE = 0.554
Estimated model MSE = 0.677
Estimated model MSE = 0.576
Estimated model MSE = 0.605
Estimated model MSE = 0.532
Estimated model MSE = 0.621
Estimated model MSE = 0.718
Estimated model MSE = 0.619
Estimated model MSE = 0.496
Model with hyperparameters [[12, 100, 100, 5, 12]] has an MSE of 0.592
Estimated model MSE = 0.519
Estimated model MSE = 0.499
Estimated model MSE = 0.534
Estimated model MSE = 0.615
Estimated model MSE = 0.513
Estimated model MSE = 0.603
Estimated model MSE = 0.624
Estimated model MSE = 0.511
Estimated model MSE = 0.515
Estimated model MSE = 0.553
Model with hyperparameters [[12, 100, 100, 10, 12]] has an MSE of 0.549
Estimated model MSE = 0.434
Estimated model MSE = 0.709
Estimated model MSE = 0.486
Estimated model MSE = 0.513
Estimated model MSE = 0.562
Estimated model MSE = 0.533
Estimated model MSE = 0.661
Estimated model MSE = 0.478
Estimated model MSE = 0.566
Estimated model MSE = 0.542
Model with hyperparameters [[12, 100, 200, 5, 12]] has an MSE of 0.548
Estimated model MSE = 0.778
Estimated model MSE = 0.435
Estimated model MSE = 0.537
Estimated model MSE = 0.613
Estimated model MSE = 0.868
Estimated model MSE = 0.539
Estimated model MSE = 0.810
Estimated model MSE = 0.571
Estimated model MSE = 0.641
Estimated model MSE = 0.749
Model with hyperparameters [[12, 100, 200, 10, 12]] has an MSE of 0.654
Finished.
In [61]:
# Listing hyperparameters with the lowest MSEs
print('\nHyperparameters with the lowest MSEs:')
for cfg, error in scores[:3]:
print(cfg, error)
Hyperparameters with the lowest MSEs:
[12, 50, 100, 10, 12] 0.4994853063664534
[12, 50, 50, 10, 12] 0.5165652021012404
[12, 100, 50, 5, 12] 0.5338467753670313
In [0]:
# Creating the final version of the model using the best hyperparameter combination
# List of hyperparameters with best performance: n_input, n_nodes, n_epochs, n_batch, n_diff
config = [12, 100, 200, 5, 12]
In [0]:
# Number of repetitions
n_rep = 20
# Number of epochs
num_epochs = 200
# Number of inputs (using 12 series to predict the next 12 series)
n_input = 12
# Length of the output sequency (in number of timesteps)
n_output = 12
# This series is univariate, therefore only 1 feature
n_features = 1
# Number of time series samples in each batch
size_batch = 5
In [0]:
# Generator
generator = TimeseriesGenerator(trainset,
trainset,
length = n_output,
batch_size = size_batch)
In [65]:
# Creating and training the Bidirectional LSTM model
# Creating a zeroed matrix to receive the output from the model's predictions
result = np.zeros((n_input, n_rep))
# Loop
# Repeating the training process N times and storing the results, this way different samples can be used and then averaged for a final prediction
for i in range(n_rep):
# Starting the model (Keras Sequential())
bidirectional_lstm = Sequential()
# Bidirectional model
bidirectional_lstm.add(Bidirectional(LSTM(100, activation = 'relu'), input_shape = (12, 1)))
bidirectional_lstm.add(Dense(1))
# Defining the loss function as MSE
# Defininf the optimization algorithm as ADAM
bidirectional_lstm.compile(optimizer = 'adam', loss = 'mean_squared_error')
# Training with the generated data batches
bidirectional_lstm.fit_generator(generator, epochs = num_epochs)
# Predictions list
pred_list = []
# Make a batch of data
batch = trainset[-n_input:].reshape((1, n_input, n_features))
# Loop to make predictions
for j in range(n_input):
pred_list.append(bidirectional_lstm.predict(batch)[0])
batch = np.append(batch[:,1:,:], [[pred_list[j]]], axis = 1)
# Create a dataframe with the predictions
df_predict_bidirectional_lstm = pd.DataFrame(scaler.inverse_transform(pred_list),
index = X[-n_input:].index, columns = ['Prediction'])
result[:,i] = df_predict_bidirectional_lstm['Prediction']
print(result)
Streaming output truncated to the last 5000 lines.
5/5 [==============================] - 0s 70ms/step - loss: 0.0479
Epoch 32/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0481
Epoch 33/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0489
Epoch 34/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0484
Epoch 35/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0485
Epoch 36/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0481
Epoch 37/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0478
Epoch 38/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0478
Epoch 39/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0481
Epoch 40/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0478
Epoch 41/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0481
Epoch 42/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0479
Epoch 43/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0474
Epoch 44/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0477
Epoch 45/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0481
Epoch 46/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0479
Epoch 47/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0479
Epoch 48/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0473
Epoch 49/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0476
Epoch 50/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0473
Epoch 51/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0471
Epoch 52/500
5/5 [==============================] - 0s 79ms/step - loss: 0.0472
Epoch 53/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0475
Epoch 54/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0470
Epoch 55/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0469
Epoch 56/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0482
Epoch 57/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0468
Epoch 58/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0463
Epoch 59/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0466
Epoch 60/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0466
Epoch 61/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0480
Epoch 62/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0473
Epoch 63/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0467
Epoch 64/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0465
Epoch 65/500
5/5 [==============================] - 0s 64ms/step - loss: 0.0468
Epoch 66/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0461
Epoch 67/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0464
Epoch 68/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0456
Epoch 69/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0467
Epoch 70/500
5/5 [==============================] - 0s 79ms/step - loss: 0.0465
Epoch 71/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0466
Epoch 72/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0454
Epoch 73/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0457
Epoch 74/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0458
Epoch 75/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0475
Epoch 76/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0456
Epoch 77/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0447
Epoch 78/500
5/5 [==============================] - 0s 79ms/step - loss: 0.0449
Epoch 79/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0448
Epoch 80/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0454
Epoch 81/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0465
Epoch 82/500
5/5 [==============================] - 0s 81ms/step - loss: 0.0457
Epoch 83/500
5/5 [==============================] - 0s 80ms/step - loss: 0.0437
Epoch 84/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0440
Epoch 85/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0445
Epoch 86/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0431
Epoch 87/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0466
Epoch 88/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0427
Epoch 89/500
5/5 [==============================] - 0s 83ms/step - loss: 0.0421
Epoch 90/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0435
Epoch 91/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0425
Epoch 92/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0427
Epoch 93/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0418
Epoch 94/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0411
Epoch 95/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0413
Epoch 96/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0407
Epoch 97/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0411
Epoch 98/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0401
Epoch 99/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0437
Epoch 100/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0398
Epoch 101/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0402
Epoch 102/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0396
Epoch 103/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0392
Epoch 104/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0387
Epoch 105/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0395
Epoch 106/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0387
Epoch 107/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0395
Epoch 108/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0391
Epoch 109/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0370
Epoch 110/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0384
Epoch 111/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0371
Epoch 112/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0365
Epoch 113/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0371
Epoch 114/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0370
Epoch 115/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0369
Epoch 116/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0355
Epoch 117/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0383
Epoch 118/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0405
Epoch 119/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0439
Epoch 120/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0418
Epoch 121/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0386
Epoch 122/500
5/5 [==============================] - 0s 79ms/step - loss: 0.0362
Epoch 123/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0354
Epoch 124/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0375
Epoch 125/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0378
Epoch 126/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0372
Epoch 127/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0345
Epoch 128/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0356
Epoch 129/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0376
Epoch 130/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0328
Epoch 131/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0341
Epoch 132/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0329
Epoch 133/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0323
Epoch 134/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0345
Epoch 135/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0335
Epoch 136/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0338
Epoch 137/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0311
Epoch 138/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0315
Epoch 139/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0303
Epoch 140/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0315
Epoch 141/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0300
Epoch 142/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0298
Epoch 143/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0312
Epoch 144/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0305
Epoch 145/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0293
Epoch 146/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0295
Epoch 147/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0282
Epoch 148/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0314
Epoch 149/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0294
Epoch 150/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0268
Epoch 151/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0258
Epoch 152/500
5/5 [==============================] - 0s 81ms/step - loss: 0.0245
Epoch 153/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0279
Epoch 154/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0253
Epoch 155/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0239
Epoch 156/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0237
Epoch 157/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0216
Epoch 158/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0192
Epoch 159/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0227
Epoch 160/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0187
Epoch 161/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0177
Epoch 162/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0180
Epoch 163/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0158
Epoch 164/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0188
Epoch 165/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0181
Epoch 166/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0156
Epoch 167/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0256
Epoch 168/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0409
Epoch 169/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0433
Epoch 170/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0379
Epoch 171/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0342
Epoch 172/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0252
Epoch 173/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0309
Epoch 174/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0248
Epoch 175/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0268
Epoch 176/500
5/5 [==============================] - 0s 63ms/step - loss: 0.0212
Epoch 177/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0206
Epoch 178/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0202
Epoch 179/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0217
Epoch 180/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0237
Epoch 181/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0202
Epoch 182/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0236
Epoch 183/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0231
Epoch 184/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0312
Epoch 185/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0353
Epoch 186/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0247
Epoch 187/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0278
Epoch 188/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0304
Epoch 189/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0235
Epoch 190/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0222
Epoch 191/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0220
Epoch 192/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0214
Epoch 193/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0186
Epoch 194/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0180
Epoch 195/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0166
Epoch 196/500
5/5 [==============================] - 0s 79ms/step - loss: 0.0153
Epoch 197/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0140
Epoch 198/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0145
Epoch 199/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0137
Epoch 200/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0133
Epoch 201/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0128
Epoch 202/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0124
Epoch 203/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0126
Epoch 204/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0123
Epoch 205/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0111
Epoch 206/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0106
Epoch 207/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0101
Epoch 208/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0092
Epoch 209/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0092
Epoch 210/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0089
Epoch 211/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0083
Epoch 212/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0085
Epoch 213/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0075
Epoch 214/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0080
Epoch 215/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0098
Epoch 216/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0106
Epoch 217/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0140
Epoch 218/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0117
Epoch 219/500
5/5 [==============================] - 0s 82ms/step - loss: 0.0163
Epoch 220/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0198
Epoch 221/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0269
Epoch 222/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0191
Epoch 223/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0183
Epoch 224/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0138
Epoch 225/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0117
Epoch 226/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0110
Epoch 227/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0100
Epoch 228/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0080
Epoch 229/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0104
Epoch 230/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0088
Epoch 231/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0093
Epoch 232/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0106
Epoch 233/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0108
Epoch 234/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0081
Epoch 235/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0064
Epoch 236/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0056
Epoch 237/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0047
Epoch 238/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0046
Epoch 239/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0057
Epoch 240/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0045
Epoch 241/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0061
Epoch 242/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0074
Epoch 243/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0122
Epoch 244/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0056
Epoch 245/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0069
Epoch 246/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0055
Epoch 247/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0057
Epoch 248/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0042
Epoch 249/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0042
Epoch 250/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0030
Epoch 251/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0032
Epoch 252/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0025
Epoch 253/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0027
Epoch 254/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0034
Epoch 255/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0021
Epoch 256/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0023
Epoch 257/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0033
Epoch 258/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0056
Epoch 259/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0090
Epoch 260/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0060
Epoch 261/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0046
Epoch 262/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0052
Epoch 263/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0047
Epoch 264/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0049
Epoch 265/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0047
Epoch 266/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0082
Epoch 267/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0097
Epoch 268/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0076
Epoch 269/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0055
Epoch 270/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0042
Epoch 271/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0037
Epoch 272/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0039
Epoch 273/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0022
Epoch 274/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0020
Epoch 275/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0017
Epoch 276/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0015
Epoch 277/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0016
Epoch 278/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0022
Epoch 279/500
5/5 [==============================] - 0s 81ms/step - loss: 0.0016
Epoch 280/500
5/5 [==============================] - 0s 83ms/step - loss: 0.0018
Epoch 281/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0015
Epoch 282/500
5/5 [==============================] - 0s 81ms/step - loss: 0.0025
Epoch 283/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0017
Epoch 284/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0024
Epoch 285/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0021
Epoch 286/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0022
Epoch 287/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0025
Epoch 288/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0051
Epoch 289/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0041
Epoch 290/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0025
Epoch 291/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0016
Epoch 292/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0012
Epoch 293/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0012
Epoch 294/500
5/5 [==============================] - 0s 75ms/step - loss: 9.9144e-04
Epoch 295/500
5/5 [==============================] - 0s 72ms/step - loss: 7.5496e-04
Epoch 296/500
5/5 [==============================] - 0s 76ms/step - loss: 7.9928e-04
Epoch 297/500
5/5 [==============================] - 0s 69ms/step - loss: 6.6555e-04
Epoch 298/500
5/5 [==============================] - 0s 69ms/step - loss: 6.8279e-04
Epoch 299/500
5/5 [==============================] - 0s 71ms/step - loss: 7.1513e-04
Epoch 300/500
5/5 [==============================] - 0s 68ms/step - loss: 8.1938e-04
Epoch 301/500
5/5 [==============================] - 0s 76ms/step - loss: 5.5622e-04
Epoch 302/500
5/5 [==============================] - 0s 71ms/step - loss: 6.5599e-04
Epoch 303/500
5/5 [==============================] - 0s 70ms/step - loss: 5.0211e-04
Epoch 304/500
5/5 [==============================] - 0s 69ms/step - loss: 4.5561e-04
Epoch 305/500
5/5 [==============================] - 0s 75ms/step - loss: 6.6270e-04
Epoch 306/500
5/5 [==============================] - 0s 65ms/step - loss: 7.5929e-04
Epoch 307/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0012
Epoch 308/500
5/5 [==============================] - 0s 79ms/step - loss: 0.0026
Epoch 309/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0035
Epoch 310/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0031
Epoch 311/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0048
Epoch 312/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0071
Epoch 313/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0165
Epoch 314/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0054
Epoch 315/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0050
Epoch 316/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0031
Epoch 317/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0075
Epoch 318/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0102
Epoch 319/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0066
Epoch 320/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0044
Epoch 321/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0026
Epoch 322/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0025
Epoch 323/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0021
Epoch 324/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0028
Epoch 325/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0029
Epoch 326/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0026
Epoch 327/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0012
Epoch 328/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0027
Epoch 329/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0032
Epoch 330/500
5/5 [==============================] - 0s 79ms/step - loss: 0.0019
Epoch 331/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0026
Epoch 332/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0017
Epoch 333/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0015
Epoch 334/500
5/5 [==============================] - 0s 72ms/step - loss: 9.5128e-04
Epoch 335/500
5/5 [==============================] - 0s 72ms/step - loss: 8.1718e-04
Epoch 336/500
5/5 [==============================] - 0s 71ms/step - loss: 6.5518e-04
Epoch 337/500
5/5 [==============================] - 0s 89ms/step - loss: 5.6488e-04
Epoch 338/500
5/5 [==============================] - 0s 74ms/step - loss: 5.1789e-04
Epoch 339/500
5/5 [==============================] - 0s 70ms/step - loss: 6.9575e-04
Epoch 340/500
5/5 [==============================] - 0s 74ms/step - loss: 4.9335e-04
Epoch 341/500
5/5 [==============================] - 0s 69ms/step - loss: 3.6606e-04
Epoch 342/500
5/5 [==============================] - 0s 71ms/step - loss: 3.9477e-04
Epoch 343/500
5/5 [==============================] - 0s 80ms/step - loss: 4.1073e-04
Epoch 344/500
5/5 [==============================] - 0s 73ms/step - loss: 3.6708e-04
Epoch 345/500
5/5 [==============================] - 0s 71ms/step - loss: 5.9553e-04
Epoch 346/500
5/5 [==============================] - 0s 74ms/step - loss: 9.0809e-04
Epoch 347/500
5/5 [==============================] - 0s 73ms/step - loss: 9.7963e-04
Epoch 348/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0013
Epoch 349/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0017
Epoch 350/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0011
Epoch 351/500
5/5 [==============================] - 0s 68ms/step - loss: 8.8599e-04
Epoch 352/500
5/5 [==============================] - 0s 73ms/step - loss: 6.9503e-04
Epoch 353/500
5/5 [==============================] - 0s 71ms/step - loss: 6.6479e-04
Epoch 354/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0011
Epoch 355/500
5/5 [==============================] - 0s 66ms/step - loss: 9.6832e-04
Epoch 356/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0010
Epoch 357/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0013
Epoch 358/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0010
Epoch 359/500
5/5 [==============================] - 0s 70ms/step - loss: 9.5874e-04
Epoch 360/500
5/5 [==============================] - 0s 77ms/step - loss: 7.6725e-04
Epoch 361/500
5/5 [==============================] - 0s 71ms/step - loss: 7.7998e-04
Epoch 362/500
5/5 [==============================] - 0s 74ms/step - loss: 5.6004e-04
Epoch 363/500
5/5 [==============================] - 0s 70ms/step - loss: 4.0834e-04
Epoch 364/500
5/5 [==============================] - 0s 72ms/step - loss: 2.9654e-04
Epoch 365/500
5/5 [==============================] - 0s 74ms/step - loss: 1.8476e-04
Epoch 366/500
5/5 [==============================] - 0s 72ms/step - loss: 1.5722e-04
Epoch 367/500
5/5 [==============================] - 0s 69ms/step - loss: 2.0522e-04
Epoch 368/500
5/5 [==============================] - 0s 71ms/step - loss: 2.2177e-04
Epoch 369/500
5/5 [==============================] - 0s 73ms/step - loss: 2.6469e-04
Epoch 370/500
5/5 [==============================] - 0s 71ms/step - loss: 4.1437e-04
Epoch 371/500
5/5 [==============================] - 0s 69ms/step - loss: 2.8198e-04
Epoch 372/500
5/5 [==============================] - 0s 68ms/step - loss: 2.4884e-04
Epoch 373/500
5/5 [==============================] - 0s 75ms/step - loss: 1.8459e-04
Epoch 374/500
5/5 [==============================] - 0s 71ms/step - loss: 2.4233e-04
Epoch 375/500
5/5 [==============================] - 0s 72ms/step - loss: 3.2232e-04
Epoch 376/500
5/5 [==============================] - 0s 74ms/step - loss: 4.5872e-04
Epoch 377/500
5/5 [==============================] - 0s 72ms/step - loss: 6.3978e-04
Epoch 378/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0010
Epoch 379/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0015
Epoch 380/500
5/5 [==============================] - 0s 75ms/step - loss: 6.5995e-04
Epoch 381/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0015
Epoch 382/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0017
Epoch 383/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0014
Epoch 384/500
5/5 [==============================] - 0s 74ms/step - loss: 9.5619e-04
Epoch 385/500
5/5 [==============================] - 0s 69ms/step - loss: 5.2882e-04
Epoch 386/500
5/5 [==============================] - 0s 69ms/step - loss: 4.4750e-04
Epoch 387/500
5/5 [==============================] - 0s 70ms/step - loss: 2.9749e-04
Epoch 388/500
5/5 [==============================] - 0s 79ms/step - loss: 3.0690e-04
Epoch 389/500
5/5 [==============================] - 0s 69ms/step - loss: 4.0818e-04
Epoch 390/500
5/5 [==============================] - 0s 69ms/step - loss: 5.1956e-04
Epoch 391/500
5/5 [==============================] - 0s 74ms/step - loss: 6.0320e-04
Epoch 392/500
5/5 [==============================] - 0s 71ms/step - loss: 5.0685e-04
Epoch 393/500
5/5 [==============================] - 0s 76ms/step - loss: 4.4078e-04
Epoch 394/500
5/5 [==============================] - 0s 69ms/step - loss: 3.7471e-04
Epoch 395/500
5/5 [==============================] - 0s 71ms/step - loss: 4.5780e-04
Epoch 396/500
5/5 [==============================] - 0s 70ms/step - loss: 3.6152e-04
Epoch 397/500
5/5 [==============================] - 0s 66ms/step - loss: 3.5874e-04
Epoch 398/500
5/5 [==============================] - 0s 78ms/step - loss: 4.6268e-04
Epoch 399/500
5/5 [==============================] - 0s 75ms/step - loss: 6.8581e-04
Epoch 400/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0012
Epoch 401/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0017
Epoch 402/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0038
Epoch 403/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0023
Epoch 404/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0019
Epoch 405/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0044
Epoch 406/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0072
Epoch 407/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0063
Epoch 408/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0031
Epoch 409/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0023
Epoch 410/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0107
Epoch 411/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0090
Epoch 412/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0088
Epoch 413/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0084
Epoch 414/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0064
Epoch 415/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0055
Epoch 416/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0078
Epoch 417/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0090
Epoch 418/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0083
Epoch 419/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0189
Epoch 420/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0181
Epoch 421/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0238
Epoch 422/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0174
Epoch 423/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0169
Epoch 424/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0107
Epoch 425/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0047
Epoch 426/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0045
Epoch 427/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0035
Epoch 428/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0044
Epoch 429/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0038
Epoch 430/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0020
Epoch 431/500
5/5 [==============================] - 0s 71ms/step - loss: 9.8518e-04
Epoch 432/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0016
Epoch 433/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0011
Epoch 434/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0011
Epoch 435/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0012
Epoch 436/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0012
Epoch 437/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0012
Epoch 438/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0012
Epoch 439/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0010
Epoch 440/500
5/5 [==============================] - 0s 79ms/step - loss: 8.8435e-04
Epoch 441/500
5/5 [==============================] - 0s 70ms/step - loss: 7.5856e-04
Epoch 442/500
5/5 [==============================] - 0s 73ms/step - loss: 6.0850e-04
Epoch 443/500
5/5 [==============================] - 0s 73ms/step - loss: 3.9508e-04
Epoch 444/500
5/5 [==============================] - 0s 71ms/step - loss: 2.8001e-04
Epoch 445/500
5/5 [==============================] - 0s 69ms/step - loss: 3.3561e-04
Epoch 446/500
5/5 [==============================] - 0s 77ms/step - loss: 2.2420e-04
Epoch 447/500
5/5 [==============================] - 0s 70ms/step - loss: 1.8929e-04
Epoch 448/500
5/5 [==============================] - 0s 75ms/step - loss: 1.8569e-04
Epoch 449/500
5/5 [==============================] - 0s 73ms/step - loss: 1.4801e-04
Epoch 450/500
5/5 [==============================] - 0s 70ms/step - loss: 1.5466e-04
Epoch 451/500
5/5 [==============================] - 0s 68ms/step - loss: 1.3371e-04
Epoch 452/500
5/5 [==============================] - 0s 76ms/step - loss: 1.2026e-04
Epoch 453/500
5/5 [==============================] - 0s 73ms/step - loss: 1.1201e-04
Epoch 454/500
5/5 [==============================] - 0s 72ms/step - loss: 1.2246e-04
Epoch 455/500
5/5 [==============================] - 0s 69ms/step - loss: 1.1169e-04
Epoch 456/500
5/5 [==============================] - 0s 69ms/step - loss: 1.3572e-04
Epoch 457/500
5/5 [==============================] - 0s 75ms/step - loss: 1.2934e-04
Epoch 458/500
5/5 [==============================] - 0s 68ms/step - loss: 1.4059e-04
Epoch 459/500
5/5 [==============================] - 0s 69ms/step - loss: 2.2072e-04
Epoch 460/500
5/5 [==============================] - 0s 72ms/step - loss: 1.9362e-04
Epoch 461/500
5/5 [==============================] - 0s 68ms/step - loss: 3.2308e-04
Epoch 462/500
5/5 [==============================] - 0s 74ms/step - loss: 3.3949e-04
Epoch 463/500
5/5 [==============================] - 0s 84ms/step - loss: 2.7512e-04
Epoch 464/500
5/5 [==============================] - 0s 73ms/step - loss: 3.4622e-04
Epoch 465/500
5/5 [==============================] - 0s 70ms/step - loss: 3.4738e-04
Epoch 466/500
5/5 [==============================] - 0s 70ms/step - loss: 4.6647e-04
Epoch 467/500
5/5 [==============================] - 0s 72ms/step - loss: 3.8697e-04
Epoch 468/500
5/5 [==============================] - 0s 76ms/step - loss: 2.8572e-04
Epoch 469/500
5/5 [==============================] - 0s 75ms/step - loss: 2.2263e-04
Epoch 470/500
5/5 [==============================] - 0s 70ms/step - loss: 9.1099e-05
Epoch 471/500
5/5 [==============================] - 0s 80ms/step - loss: 1.2939e-04
Epoch 472/500
5/5 [==============================] - 0s 78ms/step - loss: 9.1079e-05
Epoch 473/500
5/5 [==============================] - 0s 72ms/step - loss: 1.0718e-04
Epoch 474/500
5/5 [==============================] - 0s 72ms/step - loss: 7.7158e-05
Epoch 475/500
5/5 [==============================] - 0s 80ms/step - loss: 5.0360e-05
Epoch 476/500
5/5 [==============================] - 0s 76ms/step - loss: 5.0983e-05
Epoch 477/500
5/5 [==============================] - 0s 71ms/step - loss: 4.8445e-05
Epoch 478/500
5/5 [==============================] - 0s 71ms/step - loss: 4.2461e-05
Epoch 479/500
5/5 [==============================] - 0s 77ms/step - loss: 4.7179e-05
Epoch 480/500
5/5 [==============================] - 0s 65ms/step - loss: 7.3849e-05
Epoch 481/500
5/5 [==============================] - 0s 69ms/step - loss: 1.3774e-04
Epoch 482/500
5/5 [==============================] - 0s 75ms/step - loss: 2.1677e-04
Epoch 483/500
5/5 [==============================] - 0s 68ms/step - loss: 3.1755e-04
Epoch 484/500
5/5 [==============================] - 0s 73ms/step - loss: 2.3774e-04
Epoch 485/500
5/5 [==============================] - 0s 73ms/step - loss: 5.2398e-04
Epoch 486/500
5/5 [==============================] - 0s 66ms/step - loss: 4.8582e-04
Epoch 487/500
5/5 [==============================] - 0s 64ms/step - loss: 6.3026e-04
Epoch 488/500
5/5 [==============================] - 0s 70ms/step - loss: 5.7440e-04
Epoch 489/500
5/5 [==============================] - 0s 69ms/step - loss: 3.8410e-04
Epoch 490/500
5/5 [==============================] - 0s 69ms/step - loss: 4.7589e-04
Epoch 491/500
5/5 [==============================] - 0s 69ms/step - loss: 3.3985e-04
Epoch 492/500
5/5 [==============================] - 0s 65ms/step - loss: 4.7296e-04
Epoch 493/500
5/5 [==============================] - 0s 76ms/step - loss: 3.7222e-04
Epoch 494/500
5/5 [==============================] - 0s 74ms/step - loss: 4.4234e-04
Epoch 495/500
5/5 [==============================] - 0s 71ms/step - loss: 4.3349e-04
Epoch 496/500
5/5 [==============================] - 0s 78ms/step - loss: 4.3140e-04
Epoch 497/500
5/5 [==============================] - 0s 72ms/step - loss: 7.6934e-04
Epoch 498/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0023
Epoch 499/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0024
Epoch 500/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0047
Epoch 1/500
5/5 [==============================] - 1s 208ms/step - loss: 0.1955
Epoch 2/500
5/5 [==============================] - 0s 82ms/step - loss: 0.1300
Epoch 3/500
5/5 [==============================] - 0s 82ms/step - loss: 0.0801
Epoch 4/500
5/5 [==============================] - 0s 79ms/step - loss: 0.0591
Epoch 5/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0591
Epoch 6/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0550
Epoch 7/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0488
Epoch 8/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0501
Epoch 9/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0498
Epoch 10/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0486
Epoch 11/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0490
Epoch 12/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0497
Epoch 13/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0488
Epoch 14/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0482
Epoch 15/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0483
Epoch 16/500
5/5 [==============================] - 0s 80ms/step - loss: 0.0487
Epoch 17/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0490
Epoch 18/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0488
Epoch 19/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0497
Epoch 20/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0485
Epoch 21/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0486
Epoch 22/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0482
Epoch 23/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0481
Epoch 24/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0489
Epoch 25/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0486
Epoch 26/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0480
Epoch 27/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0481
Epoch 28/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0481
Epoch 29/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0483
Epoch 30/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0483
Epoch 31/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0477
Epoch 32/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0489
Epoch 33/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0482
Epoch 34/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0481
Epoch 35/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0482
Epoch 36/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0484
Epoch 37/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0491
Epoch 38/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0480
Epoch 39/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0480
Epoch 40/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0481
Epoch 41/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0477
Epoch 42/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0477
Epoch 43/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0477
Epoch 44/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0479
Epoch 45/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0485
Epoch 46/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0482
Epoch 47/500
5/5 [==============================] - 0s 79ms/step - loss: 0.0478
Epoch 48/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0474
Epoch 49/500
5/5 [==============================] - 0s 80ms/step - loss: 0.0480
Epoch 50/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0477
Epoch 51/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0473
Epoch 52/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0472
Epoch 53/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0473
Epoch 54/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0480
Epoch 55/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0474
Epoch 56/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0484
Epoch 57/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0474
Epoch 58/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0477
Epoch 59/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0473
Epoch 60/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0470
Epoch 61/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0479
Epoch 62/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0473
Epoch 63/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0471
Epoch 64/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0475
Epoch 65/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0471
Epoch 66/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0470
Epoch 67/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0469
Epoch 68/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0468
Epoch 69/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0467
Epoch 70/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0467
Epoch 71/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0465
Epoch 72/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0467
Epoch 73/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0465
Epoch 74/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0464
Epoch 75/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0470
Epoch 76/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0460
Epoch 77/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0460
Epoch 78/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0461
Epoch 79/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0469
Epoch 80/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0454
Epoch 81/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0456
Epoch 82/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0461
Epoch 83/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0454
Epoch 84/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0470
Epoch 85/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0465
Epoch 86/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0460
Epoch 87/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0457
Epoch 88/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0452
Epoch 89/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0454
Epoch 90/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0451
Epoch 91/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0456
Epoch 92/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0450
Epoch 93/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0443
Epoch 94/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0447
Epoch 95/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0442
Epoch 96/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0446
Epoch 97/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0443
Epoch 98/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0440
Epoch 99/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0429
Epoch 100/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0447
Epoch 101/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0439
Epoch 102/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0435
Epoch 103/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0455
Epoch 104/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0426
Epoch 105/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0432
Epoch 106/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0440
Epoch 107/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0453
Epoch 108/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0435
Epoch 109/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0423
Epoch 110/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0427
Epoch 111/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0430
Epoch 112/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0414
Epoch 113/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0430
Epoch 114/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0440
Epoch 115/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0427
Epoch 116/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0429
Epoch 117/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0417
Epoch 118/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0419
Epoch 119/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0414
Epoch 120/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0443
Epoch 121/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0423
Epoch 122/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0417
Epoch 123/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0403
Epoch 124/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0405
Epoch 125/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0404
Epoch 126/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0404
Epoch 127/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0405
Epoch 128/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0396
Epoch 129/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0433
Epoch 130/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0397
Epoch 131/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0429
Epoch 132/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0412
Epoch 133/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0423
Epoch 134/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0398
Epoch 135/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0382
Epoch 136/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0376
Epoch 137/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0384
Epoch 138/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0375
Epoch 139/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0373
Epoch 140/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0386
Epoch 141/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0384
Epoch 142/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0369
Epoch 143/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0373
Epoch 144/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0375
Epoch 145/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0430
Epoch 146/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0363
Epoch 147/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0395
Epoch 148/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0379
Epoch 149/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0388
Epoch 150/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0362
Epoch 151/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0384
Epoch 152/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0383
Epoch 153/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0359
Epoch 154/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0427
Epoch 155/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0356
Epoch 156/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0389
Epoch 157/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0351
Epoch 158/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0358
Epoch 159/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0359
Epoch 160/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0345
Epoch 161/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0348
Epoch 162/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0350
Epoch 163/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0339
Epoch 164/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0337
Epoch 165/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0337
Epoch 166/500
5/5 [==============================] - 0s 82ms/step - loss: 0.0319
Epoch 167/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0313
Epoch 168/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0312
Epoch 169/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0343
Epoch 170/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0303
Epoch 171/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0299
Epoch 172/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0288
Epoch 173/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0286
Epoch 174/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0276
Epoch 175/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0254
Epoch 176/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0313
Epoch 177/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0290
Epoch 178/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0249
Epoch 179/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0258
Epoch 180/500
5/5 [==============================] - 0s 81ms/step - loss: 0.0297
Epoch 181/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0329
Epoch 182/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0243
Epoch 183/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0232
Epoch 184/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0238
Epoch 185/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0295
Epoch 186/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0258
Epoch 187/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0230
Epoch 188/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0198
Epoch 189/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0163
Epoch 190/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0160
Epoch 191/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0459
Epoch 192/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0322
Epoch 193/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0371
Epoch 194/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0355
Epoch 195/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0324
Epoch 196/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0286
Epoch 197/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0224
Epoch 198/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0191
Epoch 199/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0190
Epoch 200/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0213
Epoch 201/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0155
Epoch 202/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0166
Epoch 203/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0136
Epoch 204/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0144
Epoch 205/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0130
Epoch 206/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0120
Epoch 207/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0103
Epoch 208/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0110
Epoch 209/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0130
Epoch 210/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0118
Epoch 211/500
5/5 [==============================] - 0s 81ms/step - loss: 0.0136
Epoch 212/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0109
Epoch 213/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0114
Epoch 214/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0109
Epoch 215/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0106
Epoch 216/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0120
Epoch 217/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0126
Epoch 218/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0092
Epoch 219/500
5/5 [==============================] - 0s 83ms/step - loss: 0.0096
Epoch 220/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0082
Epoch 221/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0100
Epoch 222/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0092
Epoch 223/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0082
Epoch 224/500
5/5 [==============================] - 0s 82ms/step - loss: 0.0094
Epoch 225/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0104
Epoch 226/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0089
Epoch 227/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0119
Epoch 228/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0077
Epoch 229/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0155
Epoch 230/500
5/5 [==============================] - 0s 79ms/step - loss: 0.0112
Epoch 231/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0084
Epoch 232/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0120
Epoch 233/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0168
Epoch 234/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0176
Epoch 235/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0192
Epoch 236/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0129
Epoch 237/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0217
Epoch 238/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0135
Epoch 239/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0166
Epoch 240/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0124
Epoch 241/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0165
Epoch 242/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0221
Epoch 243/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0205
Epoch 244/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0168
Epoch 245/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0113
Epoch 246/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0096
Epoch 247/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0108
Epoch 248/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0075
Epoch 249/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0080
Epoch 250/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0066
Epoch 251/500
5/5 [==============================] - 0s 64ms/step - loss: 0.0058
Epoch 252/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0058
Epoch 253/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0059
Epoch 254/500
5/5 [==============================] - 0s 62ms/step - loss: 0.0063
Epoch 255/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0092
Epoch 256/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0051
Epoch 257/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0049
Epoch 258/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0044
Epoch 259/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0038
Epoch 260/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0045
Epoch 261/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0037
Epoch 262/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0044
Epoch 263/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0058
Epoch 264/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0061
Epoch 265/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0048
Epoch 266/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0070
Epoch 267/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0115
Epoch 268/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0132
Epoch 269/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0143
Epoch 270/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0217
Epoch 271/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0219
Epoch 272/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0113
Epoch 273/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0085
Epoch 274/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0147
Epoch 275/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0086
Epoch 276/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0071
Epoch 277/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0056
Epoch 278/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0043
Epoch 279/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0038
Epoch 280/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0029
Epoch 281/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0027
Epoch 282/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0025
Epoch 283/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0022
Epoch 284/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0020
Epoch 285/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0019
Epoch 286/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0019
Epoch 287/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0018
Epoch 288/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0021
Epoch 289/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0022
Epoch 290/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0019
Epoch 291/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0019
Epoch 292/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0023
Epoch 293/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0019
Epoch 294/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0016
Epoch 295/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0015
Epoch 296/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0013
Epoch 297/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0014
Epoch 298/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0012
Epoch 299/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0013
Epoch 300/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0015
Epoch 301/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0036
Epoch 302/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0067
Epoch 303/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0076
Epoch 304/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0068
Epoch 305/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0074
Epoch 306/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0063
Epoch 307/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0094
Epoch 308/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0022
Epoch 309/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0030
Epoch 310/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0018
Epoch 311/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0027
Epoch 312/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0013
Epoch 313/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0015
Epoch 314/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0010
Epoch 315/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0013
Epoch 316/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0011
Epoch 317/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0011
Epoch 318/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0010
Epoch 319/500
5/5 [==============================] - 0s 72ms/step - loss: 8.6427e-04
Epoch 320/500
5/5 [==============================] - 0s 73ms/step - loss: 7.3188e-04
Epoch 321/500
5/5 [==============================] - 0s 73ms/step - loss: 7.7150e-04
Epoch 322/500
5/5 [==============================] - 0s 74ms/step - loss: 8.3312e-04
Epoch 323/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0011
Epoch 324/500
5/5 [==============================] - 0s 77ms/step - loss: 5.9238e-04
Epoch 325/500
5/5 [==============================] - 0s 73ms/step - loss: 6.5032e-04
Epoch 326/500
5/5 [==============================] - 0s 68ms/step - loss: 5.8441e-04
Epoch 327/500
5/5 [==============================] - 0s 71ms/step - loss: 5.8695e-04
Epoch 328/500
5/5 [==============================] - 0s 69ms/step - loss: 5.0752e-04
Epoch 329/500
5/5 [==============================] - 0s 70ms/step - loss: 5.3487e-04
Epoch 330/500
5/5 [==============================] - 0s 69ms/step - loss: 5.6448e-04
Epoch 331/500
5/5 [==============================] - 0s 72ms/step - loss: 6.1445e-04
Epoch 332/500
5/5 [==============================] - 0s 70ms/step - loss: 9.0924e-04
Epoch 333/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0011
Epoch 334/500
5/5 [==============================] - 0s 79ms/step - loss: 0.0011
Epoch 335/500
5/5 [==============================] - 0s 72ms/step - loss: 9.1898e-04
Epoch 336/500
5/5 [==============================] - 0s 71ms/step - loss: 6.1120e-04
Epoch 337/500
5/5 [==============================] - 0s 74ms/step - loss: 7.0305e-04
Epoch 338/500
5/5 [==============================] - 0s 71ms/step - loss: 7.7452e-04
Epoch 339/500
5/5 [==============================] - 0s 78ms/step - loss: 7.0101e-04
Epoch 340/500
5/5 [==============================] - 0s 70ms/step - loss: 5.8251e-04
Epoch 341/500
5/5 [==============================] - 0s 79ms/step - loss: 9.3046e-04
Epoch 342/500
5/5 [==============================] - 0s 80ms/step - loss: 8.9404e-04
Epoch 343/500
5/5 [==============================] - 0s 69ms/step - loss: 6.3385e-04
Epoch 344/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0014
Epoch 345/500
5/5 [==============================] - 0s 71ms/step - loss: 9.1381e-04
Epoch 346/500
5/5 [==============================] - 0s 71ms/step - loss: 9.0312e-04
Epoch 347/500
5/5 [==============================] - 0s 67ms/step - loss: 6.5900e-04
Epoch 348/500
5/5 [==============================] - 0s 73ms/step - loss: 7.9192e-04
Epoch 349/500
5/5 [==============================] - 0s 69ms/step - loss: 6.0859e-04
Epoch 350/500
5/5 [==============================] - 0s 72ms/step - loss: 6.7143e-04
Epoch 351/500
5/5 [==============================] - 0s 71ms/step - loss: 4.1511e-04
Epoch 352/500
5/5 [==============================] - 0s 75ms/step - loss: 4.2865e-04
Epoch 353/500
5/5 [==============================] - 0s 71ms/step - loss: 4.9107e-04
Epoch 354/500
5/5 [==============================] - 0s 65ms/step - loss: 4.0848e-04
Epoch 355/500
5/5 [==============================] - 0s 65ms/step - loss: 3.4476e-04
Epoch 356/500
5/5 [==============================] - 0s 75ms/step - loss: 3.3911e-04
Epoch 357/500
5/5 [==============================] - 0s 65ms/step - loss: 2.7905e-04
Epoch 358/500
5/5 [==============================] - 0s 74ms/step - loss: 2.6521e-04
Epoch 359/500
5/5 [==============================] - 0s 71ms/step - loss: 3.0386e-04
Epoch 360/500
5/5 [==============================] - 0s 76ms/step - loss: 2.6127e-04
Epoch 361/500
5/5 [==============================] - 0s 71ms/step - loss: 2.3923e-04
Epoch 362/500
5/5 [==============================] - 0s 71ms/step - loss: 2.7092e-04
Epoch 363/500
5/5 [==============================] - 0s 70ms/step - loss: 2.1081e-04
Epoch 364/500
5/5 [==============================] - 0s 75ms/step - loss: 2.2792e-04
Epoch 365/500
5/5 [==============================] - 0s 70ms/step - loss: 2.4067e-04
Epoch 366/500
5/5 [==============================] - 0s 68ms/step - loss: 2.0851e-04
Epoch 367/500
5/5 [==============================] - 0s 73ms/step - loss: 1.8146e-04
Epoch 368/500
5/5 [==============================] - 0s 72ms/step - loss: 2.2886e-04
Epoch 369/500
5/5 [==============================] - 0s 75ms/step - loss: 2.1991e-04
Epoch 370/500
5/5 [==============================] - 0s 70ms/step - loss: 2.3238e-04
Epoch 371/500
5/5 [==============================] - 0s 65ms/step - loss: 1.7227e-04
Epoch 372/500
5/5 [==============================] - 0s 74ms/step - loss: 1.8564e-04
Epoch 373/500
5/5 [==============================] - 0s 71ms/step - loss: 2.0887e-04
Epoch 374/500
5/5 [==============================] - 0s 68ms/step - loss: 2.0820e-04
Epoch 375/500
5/5 [==============================] - 0s 73ms/step - loss: 2.7565e-04
Epoch 376/500
5/5 [==============================] - 0s 74ms/step - loss: 1.5595e-04
Epoch 377/500
5/5 [==============================] - 0s 70ms/step - loss: 3.0087e-04
Epoch 378/500
5/5 [==============================] - 0s 76ms/step - loss: 3.8012e-04
Epoch 379/500
5/5 [==============================] - 0s 67ms/step - loss: 4.8643e-04
Epoch 380/500
5/5 [==============================] - 0s 69ms/step - loss: 3.2567e-04
Epoch 381/500
5/5 [==============================] - 0s 68ms/step - loss: 8.7728e-04
Epoch 382/500
5/5 [==============================] - 0s 74ms/step - loss: 9.3308e-04
Epoch 383/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0025
Epoch 384/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0077
Epoch 385/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0040
Epoch 386/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0057
Epoch 387/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0065
Epoch 388/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0109
Epoch 389/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0078
Epoch 390/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0101
Epoch 391/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0078
Epoch 392/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0058
Epoch 393/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0142
Epoch 394/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0081
Epoch 395/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0189
Epoch 396/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0142
Epoch 397/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0193
Epoch 398/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0102
Epoch 399/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0207
Epoch 400/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0336
Epoch 401/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0205
Epoch 402/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0191
Epoch 403/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0112
Epoch 404/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0132
Epoch 405/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0114
Epoch 406/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0069
Epoch 407/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0052
Epoch 408/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0046
Epoch 409/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0037
Epoch 410/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0030
Epoch 411/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0025
Epoch 412/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0016
Epoch 413/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0017
Epoch 414/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0015
Epoch 415/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0017
Epoch 416/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0017
Epoch 417/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0012
Epoch 418/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0012
Epoch 419/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0011
Epoch 420/500
5/5 [==============================] - 0s 72ms/step - loss: 9.2474e-04
Epoch 421/500
5/5 [==============================] - 0s 71ms/step - loss: 9.6337e-04
Epoch 422/500
5/5 [==============================] - 0s 70ms/step - loss: 9.3275e-04
Epoch 423/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0011
Epoch 424/500
5/5 [==============================] - 0s 74ms/step - loss: 8.4384e-04
Epoch 425/500
5/5 [==============================] - 0s 80ms/step - loss: 6.1407e-04
Epoch 426/500
5/5 [==============================] - 0s 70ms/step - loss: 4.2823e-04
Epoch 427/500
5/5 [==============================] - 0s 69ms/step - loss: 4.0385e-04
Epoch 428/500
5/5 [==============================] - 0s 73ms/step - loss: 3.2599e-04
Epoch 429/500
5/5 [==============================] - 0s 68ms/step - loss: 3.2153e-04
Epoch 430/500
5/5 [==============================] - 0s 79ms/step - loss: 2.9805e-04
Epoch 431/500
5/5 [==============================] - 0s 71ms/step - loss: 2.9984e-04
Epoch 432/500
5/5 [==============================] - 0s 71ms/step - loss: 2.9355e-04
Epoch 433/500
5/5 [==============================] - 0s 72ms/step - loss: 2.4914e-04
Epoch 434/500
5/5 [==============================] - 0s 72ms/step - loss: 2.6341e-04
Epoch 435/500
5/5 [==============================] - 0s 67ms/step - loss: 2.4015e-04
Epoch 436/500
5/5 [==============================] - 0s 72ms/step - loss: 2.3156e-04
Epoch 437/500
5/5 [==============================] - 0s 71ms/step - loss: 2.1043e-04
Epoch 438/500
5/5 [==============================] - 0s 72ms/step - loss: 1.9793e-04
Epoch 439/500
5/5 [==============================] - 0s 72ms/step - loss: 1.9175e-04
Epoch 440/500
5/5 [==============================] - 0s 72ms/step - loss: 1.9362e-04
Epoch 441/500
5/5 [==============================] - 0s 70ms/step - loss: 1.9220e-04
Epoch 442/500
5/5 [==============================] - 0s 71ms/step - loss: 1.9858e-04
Epoch 443/500
5/5 [==============================] - 0s 72ms/step - loss: 2.1231e-04
Epoch 444/500
5/5 [==============================] - 0s 66ms/step - loss: 2.1051e-04
Epoch 445/500
5/5 [==============================] - 0s 76ms/step - loss: 2.0049e-04
Epoch 446/500
5/5 [==============================] - 0s 72ms/step - loss: 2.1215e-04
Epoch 447/500
5/5 [==============================] - 0s 68ms/step - loss: 2.5678e-04
Epoch 448/500
5/5 [==============================] - 0s 71ms/step - loss: 2.2288e-04
Epoch 449/500
5/5 [==============================] - 0s 72ms/step - loss: 1.9712e-04
Epoch 450/500
5/5 [==============================] - 0s 70ms/step - loss: 1.9703e-04
Epoch 451/500
5/5 [==============================] - 0s 75ms/step - loss: 1.9111e-04
Epoch 452/500
5/5 [==============================] - 0s 68ms/step - loss: 1.8569e-04
Epoch 453/500
5/5 [==============================] - 0s 73ms/step - loss: 1.7586e-04
Epoch 454/500
5/5 [==============================] - 0s 74ms/step - loss: 1.7103e-04
Epoch 455/500
5/5 [==============================] - 0s 66ms/step - loss: 1.9805e-04
Epoch 456/500
5/5 [==============================] - 0s 72ms/step - loss: 2.1587e-04
Epoch 457/500
5/5 [==============================] - 0s 73ms/step - loss: 1.8554e-04
Epoch 458/500
5/5 [==============================] - 0s 77ms/step - loss: 1.7778e-04
Epoch 459/500
5/5 [==============================] - 0s 73ms/step - loss: 2.3055e-04
Epoch 460/500
5/5 [==============================] - 0s 67ms/step - loss: 1.9337e-04
Epoch 461/500
5/5 [==============================] - 0s 81ms/step - loss: 1.8697e-04
Epoch 462/500
5/5 [==============================] - 0s 73ms/step - loss: 1.8628e-04
Epoch 463/500
5/5 [==============================] - 0s 76ms/step - loss: 1.7037e-04
Epoch 464/500
5/5 [==============================] - 0s 72ms/step - loss: 1.9468e-04
Epoch 465/500
5/5 [==============================] - 0s 73ms/step - loss: 1.9341e-04
Epoch 466/500
5/5 [==============================] - 0s 70ms/step - loss: 2.8241e-04
Epoch 467/500
5/5 [==============================] - 0s 73ms/step - loss: 3.3427e-04
Epoch 468/500
5/5 [==============================] - 0s 70ms/step - loss: 6.9837e-04
Epoch 469/500
5/5 [==============================] - 0s 78ms/step - loss: 4.2515e-04
Epoch 470/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0032
Epoch 471/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0026
Epoch 472/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0057
Epoch 473/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0081
Epoch 474/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0067
Epoch 475/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0038
Epoch 476/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0031
Epoch 477/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0013
Epoch 478/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0011
Epoch 479/500
5/5 [==============================] - 0s 69ms/step - loss: 7.6646e-04
Epoch 480/500
5/5 [==============================] - 0s 72ms/step - loss: 5.6775e-04
Epoch 481/500
5/5 [==============================] - 0s 70ms/step - loss: 5.3050e-04
Epoch 482/500
5/5 [==============================] - 0s 74ms/step - loss: 5.6809e-04
Epoch 483/500
5/5 [==============================] - 0s 65ms/step - loss: 9.2664e-04
Epoch 484/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0012
Epoch 485/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0013
Epoch 486/500
5/5 [==============================] - 0s 64ms/step - loss: 0.0016
Epoch 487/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0012
Epoch 488/500
5/5 [==============================] - 0s 84ms/step - loss: 0.0011
Epoch 489/500
5/5 [==============================] - 0s 71ms/step - loss: 7.8214e-04
Epoch 490/500
5/5 [==============================] - 0s 68ms/step - loss: 4.5496e-04
Epoch 491/500
5/5 [==============================] - 0s 69ms/step - loss: 2.6216e-04
Epoch 492/500
5/5 [==============================] - 0s 68ms/step - loss: 2.1499e-04
Epoch 493/500
5/5 [==============================] - 0s 74ms/step - loss: 3.7210e-04
Epoch 494/500
5/5 [==============================] - 0s 72ms/step - loss: 2.5280e-04
Epoch 495/500
5/5 [==============================] - 0s 71ms/step - loss: 1.9074e-04
Epoch 496/500
5/5 [==============================] - 0s 77ms/step - loss: 2.0284e-04
Epoch 497/500
5/5 [==============================] - 0s 75ms/step - loss: 1.5633e-04
Epoch 498/500
5/5 [==============================] - 0s 69ms/step - loss: 2.1866e-04
Epoch 499/500
5/5 [==============================] - 0s 69ms/step - loss: 1.9662e-04
Epoch 500/500
5/5 [==============================] - 0s 70ms/step - loss: 2.0453e-04
Epoch 1/500
5/5 [==============================] - 1s 197ms/step - loss: 0.2343
Epoch 2/500
5/5 [==============================] - 0s 71ms/step - loss: 0.1491
Epoch 3/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0872
Epoch 4/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0580
Epoch 5/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0584
Epoch 6/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0515
Epoch 7/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0484
Epoch 8/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0502
Epoch 9/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0504
Epoch 10/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0505
Epoch 11/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0499
Epoch 12/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0501
Epoch 13/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0487
Epoch 14/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0484
Epoch 15/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0483
Epoch 16/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0487
Epoch 17/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0484
Epoch 18/500
5/5 [==============================] - 0s 79ms/step - loss: 0.0480
Epoch 19/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0492
Epoch 20/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0484
Epoch 21/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0481
Epoch 22/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0483
Epoch 23/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0480
Epoch 24/500
5/5 [==============================] - 0s 63ms/step - loss: 0.0482
Epoch 25/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0487
Epoch 26/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0481
Epoch 27/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0495
Epoch 28/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0481
Epoch 29/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0483
Epoch 30/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0481
Epoch 31/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0480
Epoch 32/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0484
Epoch 33/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0480
Epoch 34/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0484
Epoch 35/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0485
Epoch 36/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0481
Epoch 37/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0477
Epoch 38/500
5/5 [==============================] - 0s 64ms/step - loss: 0.0478
Epoch 39/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0481
Epoch 40/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0489
Epoch 41/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0487
Epoch 42/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0474
Epoch 43/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0476
Epoch 44/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0481
Epoch 45/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0470
Epoch 46/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0477
Epoch 47/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0475
Epoch 48/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0478
Epoch 49/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0474
Epoch 50/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0474
Epoch 51/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0480
Epoch 52/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0469
Epoch 53/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0473
Epoch 54/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0477
Epoch 55/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0474
Epoch 56/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0468
Epoch 57/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0474
Epoch 58/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0473
Epoch 59/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0487
Epoch 60/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0475
Epoch 61/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0481
Epoch 62/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0469
Epoch 63/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0470
Epoch 64/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0474
Epoch 65/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0468
Epoch 66/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0474
Epoch 67/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0466
Epoch 68/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0464
Epoch 69/500
5/5 [==============================] - 0s 61ms/step - loss: 0.0475
Epoch 70/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0463
Epoch 71/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0460
Epoch 72/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0474
Epoch 73/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0466
Epoch 74/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0466
Epoch 75/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0467
Epoch 76/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0480
Epoch 77/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0462
Epoch 78/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0474
Epoch 79/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0459
Epoch 80/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0455
Epoch 81/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0453
Epoch 82/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0453
Epoch 83/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0453
Epoch 84/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0455
Epoch 85/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0449
Epoch 86/500
5/5 [==============================] - 0s 63ms/step - loss: 0.0457
Epoch 87/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0446
Epoch 88/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0486
Epoch 89/500
5/5 [==============================] - 0s 64ms/step - loss: 0.0464
Epoch 90/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0447
Epoch 91/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0446
Epoch 92/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0444
Epoch 93/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0437
Epoch 94/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0440
Epoch 95/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0435
Epoch 96/500
5/5 [==============================] - 0s 79ms/step - loss: 0.0435
Epoch 97/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0439
Epoch 98/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0435
Epoch 99/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0432
Epoch 100/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0436
Epoch 101/500
5/5 [==============================] - 0s 80ms/step - loss: 0.0430
Epoch 102/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0457
Epoch 103/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0442
Epoch 104/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0435
Epoch 105/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0427
Epoch 106/500
5/5 [==============================] - 0s 81ms/step - loss: 0.0429
Epoch 107/500
5/5 [==============================] - 0s 81ms/step - loss: 0.0431
Epoch 108/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0419
Epoch 109/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0417
Epoch 110/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0421
Epoch 111/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0440
Epoch 112/500
5/5 [==============================] - 0s 80ms/step - loss: 0.0433
Epoch 113/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0419
Epoch 114/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0405
Epoch 115/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0422
Epoch 116/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0417
Epoch 117/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0405
Epoch 118/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0399
Epoch 119/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0405
Epoch 120/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0401
Epoch 121/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0420
Epoch 122/500
5/5 [==============================] - 0s 79ms/step - loss: 0.0384
Epoch 123/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0409
Epoch 124/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0402
Epoch 125/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0385
Epoch 126/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0391
Epoch 127/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0402
Epoch 128/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0403
Epoch 129/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0373
Epoch 130/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0380
Epoch 131/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0376
Epoch 132/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0372
Epoch 133/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0374
Epoch 134/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0382
Epoch 135/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0356
Epoch 136/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0361
Epoch 137/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0356
Epoch 138/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0378
Epoch 139/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0394
Epoch 140/500
5/5 [==============================] - 0s 79ms/step - loss: 0.0336
Epoch 141/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0406
Epoch 142/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0358
Epoch 143/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0394
Epoch 144/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0341
Epoch 145/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0375
Epoch 146/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0334
Epoch 147/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0340
Epoch 148/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0366
Epoch 149/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0317
Epoch 150/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0364
Epoch 151/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0372
Epoch 152/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0346
Epoch 153/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0324
Epoch 154/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0329
Epoch 155/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0341
Epoch 156/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0347
Epoch 157/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0301
Epoch 158/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0323
Epoch 159/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0314
Epoch 160/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0331
Epoch 161/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0305
Epoch 162/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0322
Epoch 163/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0306
Epoch 164/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0322
Epoch 165/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0293
Epoch 166/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0285
Epoch 167/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0271
Epoch 168/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0297
Epoch 169/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0325
Epoch 170/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0332
Epoch 171/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0304
Epoch 172/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0315
Epoch 173/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0313
Epoch 174/500
5/5 [==============================] - 0s 82ms/step - loss: 0.0270
Epoch 175/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0309
Epoch 176/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0280
Epoch 177/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0269
Epoch 178/500
5/5 [==============================] - 0s 82ms/step - loss: 0.0261
Epoch 179/500
5/5 [==============================] - 0s 79ms/step - loss: 0.0252
Epoch 180/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0249
Epoch 181/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0240
Epoch 182/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0235
Epoch 183/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0260
Epoch 184/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0396
Epoch 185/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0334
Epoch 186/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0415
Epoch 187/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0462
Epoch 188/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0363
Epoch 189/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0367
Epoch 190/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0302
Epoch 191/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0354
Epoch 192/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0315
Epoch 193/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0303
Epoch 194/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0283
Epoch 195/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0251
Epoch 196/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0242
Epoch 197/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0232
Epoch 198/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0206
Epoch 199/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0206
Epoch 200/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0215
Epoch 201/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0308
Epoch 202/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0340
Epoch 203/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0356
Epoch 204/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0390
Epoch 205/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0335
Epoch 206/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0347
Epoch 207/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0265
Epoch 208/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0287
Epoch 209/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0257
Epoch 210/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0256
Epoch 211/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0240
Epoch 212/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0214
Epoch 213/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0207
Epoch 214/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0192
Epoch 215/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0182
Epoch 216/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0188
Epoch 217/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0163
Epoch 218/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0159
Epoch 219/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0159
Epoch 220/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0189
Epoch 221/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0177
Epoch 222/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0215
Epoch 223/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0205
Epoch 224/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0195
Epoch 225/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0211
Epoch 226/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0226
Epoch 227/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0200
Epoch 228/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0209
Epoch 229/500
5/5 [==============================] - 0s 79ms/step - loss: 0.0189
Epoch 230/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0143
Epoch 231/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0152
Epoch 232/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0123
Epoch 233/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0129
Epoch 234/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0107
Epoch 235/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0100
Epoch 236/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0096
Epoch 237/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0092
Epoch 238/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0094
Epoch 239/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0087
Epoch 240/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0100
Epoch 241/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0087
Epoch 242/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0132
Epoch 243/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0139
Epoch 244/500
5/5 [==============================] - 0s 79ms/step - loss: 0.0095
Epoch 245/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0103
Epoch 246/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0178
Epoch 247/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0135
Epoch 248/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0112
Epoch 249/500
5/5 [==============================] - 0s 64ms/step - loss: 0.0082
Epoch 250/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0101
Epoch 251/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0088
Epoch 252/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0087
Epoch 253/500
5/5 [==============================] - 0s 80ms/step - loss: 0.0078
Epoch 254/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0071
Epoch 255/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0057
Epoch 256/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0057
Epoch 257/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0059
Epoch 258/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0051
Epoch 259/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0052
Epoch 260/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0052
Epoch 261/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0048
Epoch 262/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0113
Epoch 263/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0175
Epoch 264/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0167
Epoch 265/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0124
Epoch 266/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0087
Epoch 267/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0138
Epoch 268/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0156
Epoch 269/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0093
Epoch 270/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0113
Epoch 271/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0060
Epoch 272/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0077
Epoch 273/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0051
Epoch 274/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0061
Epoch 275/500
5/5 [==============================] - 0s 64ms/step - loss: 0.0042
Epoch 276/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0055
Epoch 277/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0041
Epoch 278/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0084
Epoch 279/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0069
Epoch 280/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0070
Epoch 281/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0053
Epoch 282/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0086
Epoch 283/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0100
Epoch 284/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0117
Epoch 285/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0082
Epoch 286/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0085
Epoch 287/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0101
Epoch 288/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0073
Epoch 289/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0157
Epoch 290/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0221
Epoch 291/500
5/5 [==============================] - 0s 63ms/step - loss: 0.0107
Epoch 292/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0118
Epoch 293/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0069
Epoch 294/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0092
Epoch 295/500
5/5 [==============================] - 0s 79ms/step - loss: 0.0061
Epoch 296/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0044
Epoch 297/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0045
Epoch 298/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0033
Epoch 299/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0034
Epoch 300/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0034
Epoch 301/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0029
Epoch 302/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0031
Epoch 303/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0027
Epoch 304/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0029
Epoch 305/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0025
Epoch 306/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0025
Epoch 307/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0024
Epoch 308/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0022
Epoch 309/500
5/5 [==============================] - 0s 85ms/step - loss: 0.0023
Epoch 310/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0021
Epoch 311/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0023
Epoch 312/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0024
Epoch 313/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0021
Epoch 314/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0020
Epoch 315/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0018
Epoch 316/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0019
Epoch 317/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0019
Epoch 318/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0020
Epoch 319/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0017
Epoch 320/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0017
Epoch 321/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0017
Epoch 322/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0015
Epoch 323/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0015
Epoch 324/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0014
Epoch 325/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0014
Epoch 326/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0014
Epoch 327/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0014
Epoch 328/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0014
Epoch 329/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0015
Epoch 330/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0015
Epoch 331/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0025
Epoch 332/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0032
Epoch 333/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0031
Epoch 334/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0016
Epoch 335/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0018
Epoch 336/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0012
Epoch 337/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0012
Epoch 338/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0011
Epoch 339/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0013
Epoch 340/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0010
Epoch 341/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0014
Epoch 342/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0012
Epoch 343/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0011
Epoch 344/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0010
Epoch 345/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0010
Epoch 346/500
5/5 [==============================] - 0s 77ms/step - loss: 8.6833e-04
Epoch 347/500
5/5 [==============================] - 0s 73ms/step - loss: 8.2185e-04
Epoch 348/500
5/5 [==============================] - 0s 71ms/step - loss: 8.8680e-04
Epoch 349/500
5/5 [==============================] - 0s 77ms/step - loss: 7.0971e-04
Epoch 350/500
5/5 [==============================] - 0s 69ms/step - loss: 8.4164e-04
Epoch 351/500
5/5 [==============================] - 0s 68ms/step - loss: 7.8575e-04
Epoch 352/500
5/5 [==============================] - 0s 73ms/step - loss: 7.9335e-04
Epoch 353/500
5/5 [==============================] - 0s 70ms/step - loss: 8.8992e-04
Epoch 354/500
5/5 [==============================] - 0s 74ms/step - loss: 6.9523e-04
Epoch 355/500
5/5 [==============================] - 0s 67ms/step - loss: 6.7955e-04
Epoch 356/500
5/5 [==============================] - 0s 74ms/step - loss: 6.1650e-04
Epoch 357/500
5/5 [==============================] - 0s 72ms/step - loss: 6.8811e-04
Epoch 358/500
5/5 [==============================] - 0s 70ms/step - loss: 7.9343e-04
Epoch 359/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0017
Epoch 360/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0018
Epoch 361/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0021
Epoch 362/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0017
Epoch 363/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0011
Epoch 364/500
5/5 [==============================] - 0s 71ms/step - loss: 6.0833e-04
Epoch 365/500
5/5 [==============================] - 0s 68ms/step - loss: 6.5503e-04
Epoch 366/500
5/5 [==============================] - 0s 69ms/step - loss: 6.3454e-04
Epoch 367/500
5/5 [==============================] - 0s 64ms/step - loss: 6.3314e-04
Epoch 368/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0011
Epoch 369/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0015
Epoch 370/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0023
Epoch 371/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0022
Epoch 372/500
5/5 [==============================] - 0s 79ms/step - loss: 0.0017
Epoch 373/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0025
Epoch 374/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0027
Epoch 375/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0011
Epoch 376/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0050
Epoch 377/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0056
Epoch 378/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0030
Epoch 379/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0073
Epoch 380/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0046
Epoch 381/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0031
Epoch 382/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0025
Epoch 383/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0033
Epoch 384/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0016
Epoch 385/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0017
Epoch 386/500
5/5 [==============================] - 0s 82ms/step - loss: 0.0020
Epoch 387/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0021
Epoch 388/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0011
Epoch 389/500
5/5 [==============================] - 0s 83ms/step - loss: 0.0011
Epoch 390/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0014
Epoch 391/500
5/5 [==============================] - 0s 76ms/step - loss: 7.3570e-04
Epoch 392/500
5/5 [==============================] - 0s 69ms/step - loss: 6.3332e-04
Epoch 393/500
5/5 [==============================] - 0s 73ms/step - loss: 8.8094e-04
Epoch 394/500
5/5 [==============================] - 0s 70ms/step - loss: 6.3973e-04
Epoch 395/500
5/5 [==============================] - 0s 66ms/step - loss: 6.9151e-04
Epoch 396/500
5/5 [==============================] - 0s 69ms/step - loss: 7.3871e-04
Epoch 397/500
5/5 [==============================] - 0s 81ms/step - loss: 5.6250e-04
Epoch 398/500
5/5 [==============================] - 0s 71ms/step - loss: 9.0691e-04
Epoch 399/500
5/5 [==============================] - 0s 74ms/step - loss: 8.5906e-04
Epoch 400/500
5/5 [==============================] - 0s 74ms/step - loss: 6.1695e-04
Epoch 401/500
5/5 [==============================] - 0s 62ms/step - loss: 6.7558e-04
Epoch 402/500
5/5 [==============================] - 0s 74ms/step - loss: 5.4213e-04
Epoch 403/500
5/5 [==============================] - 0s 70ms/step - loss: 3.9655e-04
Epoch 404/500
5/5 [==============================] - 0s 74ms/step - loss: 4.3977e-04
Epoch 405/500
5/5 [==============================] - 0s 75ms/step - loss: 3.8870e-04
Epoch 406/500
5/5 [==============================] - 0s 67ms/step - loss: 4.9923e-04
Epoch 407/500
5/5 [==============================] - 0s 70ms/step - loss: 3.7609e-04
Epoch 408/500
5/5 [==============================] - 0s 67ms/step - loss: 3.5228e-04
Epoch 409/500
5/5 [==============================] - 0s 69ms/step - loss: 3.7040e-04
Epoch 410/500
5/5 [==============================] - 0s 65ms/step - loss: 5.8212e-04
Epoch 411/500
5/5 [==============================] - 0s 70ms/step - loss: 5.7458e-04
Epoch 412/500
5/5 [==============================] - 0s 71ms/step - loss: 5.7026e-04
Epoch 413/500
5/5 [==============================] - 0s 64ms/step - loss: 0.0011
Epoch 414/500
5/5 [==============================] - 0s 75ms/step - loss: 6.9367e-04
Epoch 415/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0011
Epoch 416/500
5/5 [==============================] - 0s 74ms/step - loss: 9.0562e-04
Epoch 417/500
5/5 [==============================] - 0s 70ms/step - loss: 7.1824e-04
Epoch 418/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0011
Epoch 419/500
5/5 [==============================] - 0s 74ms/step - loss: 8.8856e-04
Epoch 420/500
5/5 [==============================] - 0s 69ms/step - loss: 7.1052e-04
Epoch 421/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0010
Epoch 422/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0011
Epoch 423/500
5/5 [==============================] - 0s 71ms/step - loss: 4.7629e-04
Epoch 424/500
5/5 [==============================] - 0s 70ms/step - loss: 3.9323e-04
Epoch 425/500
5/5 [==============================] - 0s 65ms/step - loss: 3.8778e-04
Epoch 426/500
5/5 [==============================] - 0s 67ms/step - loss: 2.6931e-04
Epoch 427/500
5/5 [==============================] - 0s 70ms/step - loss: 4.5416e-04
Epoch 428/500
5/5 [==============================] - 0s 74ms/step - loss: 5.4376e-04
Epoch 429/500
5/5 [==============================] - 0s 74ms/step - loss: 4.6010e-04
Epoch 430/500
5/5 [==============================] - 0s 68ms/step - loss: 3.2351e-04
Epoch 431/500
5/5 [==============================] - 0s 74ms/step - loss: 5.8339e-04
Epoch 432/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0012
Epoch 433/500
5/5 [==============================] - 0s 69ms/step - loss: 3.8044e-04
Epoch 434/500
5/5 [==============================] - 0s 78ms/step - loss: 5.3856e-04
Epoch 435/500
5/5 [==============================] - 0s 67ms/step - loss: 4.7466e-04
Epoch 436/500
5/5 [==============================] - 0s 68ms/step - loss: 4.4019e-04
Epoch 437/500
5/5 [==============================] - 0s 74ms/step - loss: 8.5507e-04
Epoch 438/500
5/5 [==============================] - 0s 67ms/step - loss: 3.2880e-04
Epoch 439/500
5/5 [==============================] - 0s 70ms/step - loss: 5.0505e-04
Epoch 440/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0012
Epoch 441/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0012
Epoch 442/500
5/5 [==============================] - 0s 68ms/step - loss: 2.9122e-04
Epoch 443/500
5/5 [==============================] - 0s 67ms/step - loss: 2.3673e-04
Epoch 444/500
5/5 [==============================] - 0s 66ms/step - loss: 2.7843e-04
Epoch 445/500
5/5 [==============================] - 0s 75ms/step - loss: 1.5144e-04
Epoch 446/500
5/5 [==============================] - 0s 66ms/step - loss: 2.0448e-04
Epoch 447/500
5/5 [==============================] - 0s 76ms/step - loss: 1.7523e-04
Epoch 448/500
5/5 [==============================] - 0s 74ms/step - loss: 3.1159e-04
Epoch 449/500
5/5 [==============================] - 0s 65ms/step - loss: 3.4387e-04
Epoch 450/500
5/5 [==============================] - 0s 67ms/step - loss: 2.2492e-04
Epoch 451/500
5/5 [==============================] - 0s 70ms/step - loss: 1.5413e-04
Epoch 452/500
5/5 [==============================] - 0s 70ms/step - loss: 1.4490e-04
Epoch 453/500
5/5 [==============================] - 0s 70ms/step - loss: 1.6485e-04
Epoch 454/500
5/5 [==============================] - 0s 65ms/step - loss: 1.7791e-04
Epoch 455/500
5/5 [==============================] - 0s 65ms/step - loss: 1.9300e-04
Epoch 456/500
5/5 [==============================] - 0s 69ms/step - loss: 1.4055e-04
Epoch 457/500
5/5 [==============================] - 0s 65ms/step - loss: 1.9110e-04
Epoch 458/500
5/5 [==============================] - 0s 65ms/step - loss: 1.4825e-04
Epoch 459/500
5/5 [==============================] - 0s 69ms/step - loss: 1.1807e-04
Epoch 460/500
5/5 [==============================] - 0s 74ms/step - loss: 1.8296e-04
Epoch 461/500
5/5 [==============================] - 0s 73ms/step - loss: 1.9155e-04
Epoch 462/500
5/5 [==============================] - 0s 68ms/step - loss: 2.2944e-04
Epoch 463/500
5/5 [==============================] - 0s 75ms/step - loss: 2.0475e-04
Epoch 464/500
5/5 [==============================] - 0s 69ms/step - loss: 2.3518e-04
Epoch 465/500
5/5 [==============================] - 0s 68ms/step - loss: 3.2274e-04
Epoch 466/500
5/5 [==============================] - 0s 71ms/step - loss: 5.7172e-04
Epoch 467/500
5/5 [==============================] - 0s 74ms/step - loss: 4.5219e-04
Epoch 468/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0010
Epoch 469/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0012
Epoch 470/500
5/5 [==============================] - 0s 69ms/step - loss: 8.5885e-04
Epoch 471/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0022
Epoch 472/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0020
Epoch 473/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0028
Epoch 474/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0092
Epoch 475/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0064
Epoch 476/500
5/5 [==============================] - 0s 63ms/step - loss: 0.0110
Epoch 477/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0156
Epoch 478/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0084
Epoch 479/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0072
Epoch 480/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0059
Epoch 481/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0049
Epoch 482/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0039
Epoch 483/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0067
Epoch 484/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0055
Epoch 485/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0076
Epoch 486/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0076
Epoch 487/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0145
Epoch 488/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0199
Epoch 489/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0207
Epoch 490/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0206
Epoch 491/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0191
Epoch 492/500
5/5 [==============================] - 0s 64ms/step - loss: 0.0213
Epoch 493/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0140
Epoch 494/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0089
Epoch 495/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0063
Epoch 496/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0090
Epoch 497/500
5/5 [==============================] - 0s 79ms/step - loss: 0.0117
Epoch 498/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0071
Epoch 499/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0049
Epoch 500/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0039
Epoch 1/500
5/5 [==============================] - 1s 196ms/step - loss: 0.1441
Epoch 2/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0883
Epoch 3/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0481
Epoch 4/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0573
Epoch 5/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0508
Epoch 6/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0522
Epoch 7/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0504
Epoch 8/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0489
Epoch 9/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0485
Epoch 10/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0507
Epoch 11/500
5/5 [==============================] - 0s 64ms/step - loss: 0.0509
Epoch 12/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0487
Epoch 13/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0485
Epoch 14/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0483
Epoch 15/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0483
Epoch 16/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0484
Epoch 17/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0495
Epoch 18/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0488
Epoch 19/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0482
Epoch 20/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0485
Epoch 21/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0483
Epoch 22/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0487
Epoch 23/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0479
Epoch 24/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0486
Epoch 25/500
5/5 [==============================] - 0s 62ms/step - loss: 0.0492
Epoch 26/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0478
Epoch 27/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0475
Epoch 28/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0485
Epoch 29/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0493
Epoch 30/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0481
Epoch 31/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0481
Epoch 32/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0480
Epoch 33/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0478
Epoch 34/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0479
Epoch 35/500
5/5 [==============================] - 0s 62ms/step - loss: 0.0478
Epoch 36/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0476
Epoch 37/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0477
Epoch 38/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0492
Epoch 39/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0474
Epoch 40/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0476
Epoch 41/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0489
Epoch 42/500
5/5 [==============================] - 0s 62ms/step - loss: 0.0477
Epoch 43/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0469
Epoch 44/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0475
Epoch 45/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0479
Epoch 46/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0481
Epoch 47/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0473
Epoch 48/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0480
Epoch 49/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0477
Epoch 50/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0486
Epoch 51/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0479
Epoch 52/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0470
Epoch 53/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0472
Epoch 54/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0472
Epoch 55/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0468
Epoch 56/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0473
Epoch 57/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0469
Epoch 58/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0464
Epoch 59/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0489
Epoch 60/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0469
Epoch 61/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0478
Epoch 62/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0474
Epoch 63/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0473
Epoch 64/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0475
Epoch 65/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0473
Epoch 66/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0462
Epoch 67/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0465
Epoch 68/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0473
Epoch 69/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0455
Epoch 70/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0485
Epoch 71/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0468
Epoch 72/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0451
Epoch 73/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0461
Epoch 74/500
5/5 [==============================] - 0s 79ms/step - loss: 0.0461
Epoch 75/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0457
Epoch 76/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0463
Epoch 77/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0451
Epoch 78/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0462
Epoch 79/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0453
Epoch 80/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0450
Epoch 81/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0456
Epoch 82/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0464
Epoch 83/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0442
Epoch 84/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0449
Epoch 85/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0452
Epoch 86/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0443
Epoch 87/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0449
Epoch 88/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0442
Epoch 89/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0439
Epoch 90/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0432
Epoch 91/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0427
Epoch 92/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0431
Epoch 93/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0423
Epoch 94/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0425
Epoch 95/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0424
Epoch 96/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0422
Epoch 97/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0433
Epoch 98/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0434
Epoch 99/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0442
Epoch 100/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0413
Epoch 101/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0413
Epoch 102/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0414
Epoch 103/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0433
Epoch 104/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0414
Epoch 105/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0419
Epoch 106/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0423
Epoch 107/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0409
Epoch 108/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0406
Epoch 109/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0383
Epoch 110/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0381
Epoch 111/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0378
Epoch 112/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0371
Epoch 113/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0379
Epoch 114/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0370
Epoch 115/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0372
Epoch 116/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0401
Epoch 117/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0399
Epoch 118/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0392
Epoch 119/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0367
Epoch 120/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0376
Epoch 121/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0368
Epoch 122/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0354
Epoch 123/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0353
Epoch 124/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0339
Epoch 125/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0329
Epoch 126/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0315
Epoch 127/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0309
Epoch 128/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0292
Epoch 129/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0307
Epoch 130/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0322
Epoch 131/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0335
Epoch 132/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0322
Epoch 133/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0288
Epoch 134/500
5/5 [==============================] - 0s 81ms/step - loss: 0.0285
Epoch 135/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0277
Epoch 136/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0257
Epoch 137/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0232
Epoch 138/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0326
Epoch 139/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0451
Epoch 140/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0458
Epoch 141/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0419
Epoch 142/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0435
Epoch 143/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0445
Epoch 144/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0440
Epoch 145/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0407
Epoch 146/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0397
Epoch 147/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0422
Epoch 148/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0384
Epoch 149/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0376
Epoch 150/500
5/5 [==============================] - 0s 64ms/step - loss: 0.0373
Epoch 151/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0331
Epoch 152/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0323
Epoch 153/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0308
Epoch 154/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0295
Epoch 155/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0275
Epoch 156/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0331
Epoch 157/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0287
Epoch 158/500
5/5 [==============================] - 0s 62ms/step - loss: 0.0297
Epoch 159/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0260
Epoch 160/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0245
Epoch 161/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0199
Epoch 162/500
5/5 [==============================] - 0s 63ms/step - loss: 0.0188
Epoch 163/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0210
Epoch 164/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0238
Epoch 165/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0302
Epoch 166/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0329
Epoch 167/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0269
Epoch 168/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0170
Epoch 169/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0201
Epoch 170/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0183
Epoch 171/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0165
Epoch 172/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0207
Epoch 173/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0208
Epoch 174/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0196
Epoch 175/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0165
Epoch 176/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0141
Epoch 177/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0217
Epoch 178/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0209
Epoch 179/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0174
Epoch 180/500
5/5 [==============================] - 0s 80ms/step - loss: 0.0219
Epoch 181/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0216
Epoch 182/500
5/5 [==============================] - 0s 62ms/step - loss: 0.0169
Epoch 183/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0151
Epoch 184/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0127
Epoch 185/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0157
Epoch 186/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0216
Epoch 187/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0155
Epoch 188/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0418
Epoch 189/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0334
Epoch 190/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0403
Epoch 191/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0401
Epoch 192/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0363
Epoch 193/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0425
Epoch 194/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0368
Epoch 195/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0380
Epoch 196/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0363
Epoch 197/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0337
Epoch 198/500
5/5 [==============================] - 0s 80ms/step - loss: 0.0321
Epoch 199/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0310
Epoch 200/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0287
Epoch 201/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0285
Epoch 202/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0233
Epoch 203/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0244
Epoch 204/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0227
Epoch 205/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0218
Epoch 206/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0201
Epoch 207/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0200
Epoch 208/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0178
Epoch 209/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0170
Epoch 210/500
5/5 [==============================] - 0s 64ms/step - loss: 0.0151
Epoch 211/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0141
Epoch 212/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0153
Epoch 213/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0140
Epoch 214/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0119
Epoch 215/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0114
Epoch 216/500
5/5 [==============================] - 0s 64ms/step - loss: 0.0115
Epoch 217/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0128
Epoch 218/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0118
Epoch 219/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0102
Epoch 220/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0086
Epoch 221/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0099
Epoch 222/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0138
Epoch 223/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0128
Epoch 224/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0081
Epoch 225/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0197
Epoch 226/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0227
Epoch 227/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0173
Epoch 228/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0134
Epoch 229/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0121
Epoch 230/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0109
Epoch 231/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0133
Epoch 232/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0187
Epoch 233/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0189
Epoch 234/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0174
Epoch 235/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0188
Epoch 236/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0159
Epoch 237/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0159
Epoch 238/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0138
Epoch 239/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0183
Epoch 240/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0172
Epoch 241/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0177
Epoch 242/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0133
Epoch 243/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0094
Epoch 244/500
5/5 [==============================] - 0s 63ms/step - loss: 0.0091
Epoch 245/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0077
Epoch 246/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0074
Epoch 247/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0067
Epoch 248/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0084
Epoch 249/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0094
Epoch 250/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0122
Epoch 251/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0120
Epoch 252/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0092
Epoch 253/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0093
Epoch 254/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0094
Epoch 255/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0101
Epoch 256/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0095
Epoch 257/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0080
Epoch 258/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0083
Epoch 259/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0074
Epoch 260/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0093
Epoch 261/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0097
Epoch 262/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0100
Epoch 263/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0104
Epoch 264/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0072
Epoch 265/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0098
Epoch 266/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0117
Epoch 267/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0130
Epoch 268/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0111
Epoch 269/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0083
Epoch 270/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0093
Epoch 271/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0056
Epoch 272/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0052
Epoch 273/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0045
Epoch 274/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0037
Epoch 275/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0041
Epoch 276/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0037
Epoch 277/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0038
Epoch 278/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0033
Epoch 279/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0029
Epoch 280/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0028
Epoch 281/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0026
Epoch 282/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0032
Epoch 283/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0025
Epoch 284/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0029
Epoch 285/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0024
Epoch 286/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0022
Epoch 287/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0031
Epoch 288/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0019
Epoch 289/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0018
Epoch 290/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0021
Epoch 291/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0015
Epoch 292/500
5/5 [==============================] - 0s 64ms/step - loss: 0.0016
Epoch 293/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0017
Epoch 294/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0014
Epoch 295/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0021
Epoch 296/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0033
Epoch 297/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0048
Epoch 298/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0053
Epoch 299/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0101
Epoch 300/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0171
Epoch 301/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0060
Epoch 302/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0094
Epoch 303/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0122
Epoch 304/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0101
Epoch 305/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0073
Epoch 306/500
5/5 [==============================] - 0s 59ms/step - loss: 0.0101
Epoch 307/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0096
Epoch 308/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0128
Epoch 309/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0104
Epoch 310/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0076
Epoch 311/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0055
Epoch 312/500
5/5 [==============================] - 0s 64ms/step - loss: 0.0064
Epoch 313/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0036
Epoch 314/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0029
Epoch 315/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0043
Epoch 316/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0036
Epoch 317/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0034
Epoch 318/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0040
Epoch 319/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0041
Epoch 320/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0056
Epoch 321/500
5/5 [==============================] - 0s 62ms/step - loss: 0.0099
Epoch 322/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0206
Epoch 323/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0265
Epoch 324/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0160
Epoch 325/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0093
Epoch 326/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0084
Epoch 327/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0069
Epoch 328/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0051
Epoch 329/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0053
Epoch 330/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0044
Epoch 331/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0034
Epoch 332/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0029
Epoch 333/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0026
Epoch 334/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0021
Epoch 335/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0020
Epoch 336/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0020
Epoch 337/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0017
Epoch 338/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0019
Epoch 339/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0016
Epoch 340/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0021
Epoch 341/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0015
Epoch 342/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0024
Epoch 343/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0031
Epoch 344/500
5/5 [==============================] - 0s 64ms/step - loss: 0.0030
Epoch 345/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0018
Epoch 346/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0043
Epoch 347/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0080
Epoch 348/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0099
Epoch 349/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0059
Epoch 350/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0044
Epoch 351/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0069
Epoch 352/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0071
Epoch 353/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0050
Epoch 354/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0051
Epoch 355/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0058
Epoch 356/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0069
Epoch 357/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0057
Epoch 358/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0033
Epoch 359/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0048
Epoch 360/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0047
Epoch 361/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0035
Epoch 362/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0030
Epoch 363/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0024
Epoch 364/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0024
Epoch 365/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0026
Epoch 366/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0022
Epoch 367/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0017
Epoch 368/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0018
Epoch 369/500
5/5 [==============================] - 0s 80ms/step - loss: 0.0013
Epoch 370/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0012
Epoch 371/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0017
Epoch 372/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0015
Epoch 373/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0016
Epoch 374/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0025
Epoch 375/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0017
Epoch 376/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0011
Epoch 377/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0016
Epoch 378/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0015
Epoch 379/500
5/5 [==============================] - 0s 74ms/step - loss: 9.0706e-04
Epoch 380/500
5/5 [==============================] - 0s 68ms/step - loss: 9.0713e-04
Epoch 381/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0016
Epoch 382/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0017
Epoch 383/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0018
Epoch 384/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0018
Epoch 385/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0012
Epoch 386/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0013
Epoch 387/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0013
Epoch 388/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0016
Epoch 389/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0020
Epoch 390/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0023
Epoch 391/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0020
Epoch 392/500
5/5 [==============================] - 0s 64ms/step - loss: 0.0019
Epoch 393/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0021
Epoch 394/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0034
Epoch 395/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0063
Epoch 396/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0071
Epoch 397/500
5/5 [==============================] - 0s 62ms/step - loss: 0.0048
Epoch 398/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0030
Epoch 399/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0016
Epoch 400/500
5/5 [==============================] - 0s 76ms/step - loss: 9.3639e-04
Epoch 401/500
5/5 [==============================] - 0s 68ms/step - loss: 8.9461e-04
Epoch 402/500
5/5 [==============================] - 0s 66ms/step - loss: 7.8913e-04
Epoch 403/500
5/5 [==============================] - 0s 67ms/step - loss: 7.4646e-04
Epoch 404/500
5/5 [==============================] - 0s 79ms/step - loss: 9.0182e-04
Epoch 405/500
5/5 [==============================] - 0s 65ms/step - loss: 7.2219e-04
Epoch 406/500
5/5 [==============================] - 0s 81ms/step - loss: 5.9993e-04
Epoch 407/500
5/5 [==============================] - 0s 65ms/step - loss: 5.8801e-04
Epoch 408/500
5/5 [==============================] - 0s 66ms/step - loss: 5.8852e-04
Epoch 409/500
5/5 [==============================] - 0s 62ms/step - loss: 6.4643e-04
Epoch 410/500
5/5 [==============================] - 0s 70ms/step - loss: 6.1886e-04
Epoch 411/500
5/5 [==============================] - 0s 67ms/step - loss: 5.5108e-04
Epoch 412/500
5/5 [==============================] - 0s 64ms/step - loss: 4.9274e-04
Epoch 413/500
5/5 [==============================] - 0s 69ms/step - loss: 4.3937e-04
Epoch 414/500
5/5 [==============================] - 0s 61ms/step - loss: 4.3081e-04
Epoch 415/500
5/5 [==============================] - 0s 66ms/step - loss: 3.9320e-04
Epoch 416/500
5/5 [==============================] - 0s 74ms/step - loss: 4.0349e-04
Epoch 417/500
5/5 [==============================] - 0s 67ms/step - loss: 3.8469e-04
Epoch 418/500
5/5 [==============================] - 0s 71ms/step - loss: 3.9564e-04
Epoch 419/500
5/5 [==============================] - 0s 72ms/step - loss: 4.1035e-04
Epoch 420/500
5/5 [==============================] - 0s 67ms/step - loss: 3.9906e-04
Epoch 421/500
5/5 [==============================] - 0s 70ms/step - loss: 4.4241e-04
Epoch 422/500
5/5 [==============================] - 0s 73ms/step - loss: 3.9764e-04
Epoch 423/500
5/5 [==============================] - 0s 61ms/step - loss: 4.4020e-04
Epoch 424/500
5/5 [==============================] - 0s 63ms/step - loss: 4.5739e-04
Epoch 425/500
5/5 [==============================] - 0s 65ms/step - loss: 7.5073e-04
Epoch 426/500
5/5 [==============================] - 0s 63ms/step - loss: 0.0018
Epoch 427/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0024
Epoch 428/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0053
Epoch 429/500
5/5 [==============================] - 0s 63ms/step - loss: 0.0031
Epoch 430/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0021
Epoch 431/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0015
Epoch 432/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0019
Epoch 433/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0012
Epoch 434/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0013
Epoch 435/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0010
Epoch 436/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0013
Epoch 437/500
5/5 [==============================] - 0s 65ms/step - loss: 7.8862e-04
Epoch 438/500
5/5 [==============================] - 0s 64ms/step - loss: 9.9490e-04
Epoch 439/500
5/5 [==============================] - 0s 70ms/step - loss: 7.9495e-04
Epoch 440/500
5/5 [==============================] - 0s 71ms/step - loss: 7.8389e-04
Epoch 441/500
5/5 [==============================] - 0s 73ms/step - loss: 7.1866e-04
Epoch 442/500
5/5 [==============================] - 0s 76ms/step - loss: 9.3993e-04
Epoch 443/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0029
Epoch 444/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0046
Epoch 445/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0058
Epoch 446/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0068
Epoch 447/500
5/5 [==============================] - 0s 85ms/step - loss: 0.0096
Epoch 448/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0162
Epoch 449/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0134
Epoch 450/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0057
Epoch 451/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0086
Epoch 452/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0113
Epoch 453/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0085
Epoch 454/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0054
Epoch 455/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0055
Epoch 456/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0030
Epoch 457/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0031
Epoch 458/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0017
Epoch 459/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0014
Epoch 460/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0011
Epoch 461/500
5/5 [==============================] - 0s 73ms/step - loss: 8.5840e-04
Epoch 462/500
5/5 [==============================] - 0s 66ms/step - loss: 6.9809e-04
Epoch 463/500
5/5 [==============================] - 0s 68ms/step - loss: 6.5621e-04
Epoch 464/500
5/5 [==============================] - 0s 69ms/step - loss: 6.1112e-04
Epoch 465/500
5/5 [==============================] - 0s 74ms/step - loss: 5.8500e-04
Epoch 466/500
5/5 [==============================] - 0s 74ms/step - loss: 5.1328e-04
Epoch 467/500
5/5 [==============================] - 0s 69ms/step - loss: 5.1588e-04
Epoch 468/500
5/5 [==============================] - 0s 71ms/step - loss: 5.2653e-04
Epoch 469/500
5/5 [==============================] - 0s 68ms/step - loss: 4.6735e-04
Epoch 470/500
5/5 [==============================] - 0s 78ms/step - loss: 4.5830e-04
Epoch 471/500
5/5 [==============================] - 0s 65ms/step - loss: 5.1724e-04
Epoch 472/500
5/5 [==============================] - 0s 68ms/step - loss: 4.4313e-04
Epoch 473/500
5/5 [==============================] - 0s 67ms/step - loss: 4.0828e-04
Epoch 474/500
5/5 [==============================] - 0s 71ms/step - loss: 4.0812e-04
Epoch 475/500
5/5 [==============================] - 0s 67ms/step - loss: 4.1432e-04
Epoch 476/500
5/5 [==============================] - 0s 63ms/step - loss: 3.9929e-04
Epoch 477/500
5/5 [==============================] - 0s 65ms/step - loss: 3.4556e-04
Epoch 478/500
5/5 [==============================] - 0s 71ms/step - loss: 3.3448e-04
Epoch 479/500
5/5 [==============================] - 0s 70ms/step - loss: 3.4508e-04
Epoch 480/500
5/5 [==============================] - 0s 61ms/step - loss: 3.3559e-04
Epoch 481/500
5/5 [==============================] - 0s 73ms/step - loss: 3.1135e-04
Epoch 482/500
5/5 [==============================] - 0s 70ms/step - loss: 3.5616e-04
Epoch 483/500
5/5 [==============================] - 0s 73ms/step - loss: 3.2889e-04
Epoch 484/500
5/5 [==============================] - 0s 81ms/step - loss: 3.0677e-04
Epoch 485/500
5/5 [==============================] - 0s 69ms/step - loss: 2.7050e-04
Epoch 486/500
5/5 [==============================] - 0s 69ms/step - loss: 2.4636e-04
Epoch 487/500
5/5 [==============================] - 0s 76ms/step - loss: 2.7100e-04
Epoch 488/500
5/5 [==============================] - 0s 73ms/step - loss: 3.0710e-04
Epoch 489/500
5/5 [==============================] - 0s 74ms/step - loss: 3.4376e-04
Epoch 490/500
5/5 [==============================] - 0s 71ms/step - loss: 2.7560e-04
Epoch 491/500
5/5 [==============================] - 0s 76ms/step - loss: 3.8191e-04
Epoch 492/500
5/5 [==============================] - 0s 71ms/step - loss: 3.1982e-04
Epoch 493/500
5/5 [==============================] - 0s 79ms/step - loss: 3.6312e-04
Epoch 494/500
5/5 [==============================] - 0s 64ms/step - loss: 2.9536e-04
Epoch 495/500
5/5 [==============================] - 0s 70ms/step - loss: 4.4175e-04
Epoch 496/500
5/5 [==============================] - 0s 71ms/step - loss: 4.3451e-04
Epoch 497/500
5/5 [==============================] - 0s 71ms/step - loss: 4.3311e-04
Epoch 498/500
5/5 [==============================] - 0s 74ms/step - loss: 3.2855e-04
Epoch 499/500
5/5 [==============================] - 0s 69ms/step - loss: 6.2606e-04
Epoch 500/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0019
Epoch 1/500
5/5 [==============================] - 1s 191ms/step - loss: 0.2078
Epoch 2/500
5/5 [==============================] - 0s 74ms/step - loss: 0.1435
Epoch 3/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0816
Epoch 4/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0508
Epoch 5/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0510
Epoch 6/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0553
Epoch 7/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0489
Epoch 8/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0480
Epoch 9/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0508
Epoch 10/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0504
Epoch 11/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0502
Epoch 12/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0483
Epoch 13/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0484
Epoch 14/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0485
Epoch 15/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0484
Epoch 16/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0484
Epoch 17/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0485
Epoch 18/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0483
Epoch 19/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0485
Epoch 20/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0492
Epoch 21/500
5/5 [==============================] - 0s 79ms/step - loss: 0.0482
Epoch 22/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0487
Epoch 23/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0481
Epoch 24/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0493
Epoch 25/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0485
Epoch 26/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0486
Epoch 27/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0480
Epoch 28/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0477
Epoch 29/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0498
Epoch 30/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0487
Epoch 31/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0505
Epoch 32/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0480
Epoch 33/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0481
Epoch 34/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0484
Epoch 35/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0481
Epoch 36/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0481
Epoch 37/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0487
Epoch 38/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0479
Epoch 39/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0477
Epoch 40/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0479
Epoch 41/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0476
Epoch 42/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0484
Epoch 43/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0480
Epoch 44/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0479
Epoch 45/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0477
Epoch 46/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0479
Epoch 47/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0477
Epoch 48/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0475
Epoch 49/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0476
Epoch 50/500
5/5 [==============================] - 0s 79ms/step - loss: 0.0477
Epoch 51/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0474
Epoch 52/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0482
Epoch 53/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0479
Epoch 54/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0470
Epoch 55/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0490
Epoch 56/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0478
Epoch 57/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0490
Epoch 58/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0477
Epoch 59/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0475
Epoch 60/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0473
Epoch 61/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0469
Epoch 62/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0470
Epoch 63/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0478
Epoch 64/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0472
Epoch 65/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0476
Epoch 66/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0480
Epoch 67/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0473
Epoch 68/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0469
Epoch 69/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0477
Epoch 70/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0477
Epoch 71/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0469
Epoch 72/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0469
Epoch 73/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0478
Epoch 74/500
5/5 [==============================] - 0s 64ms/step - loss: 0.0485
Epoch 75/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0475
Epoch 76/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0463
Epoch 77/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0464
Epoch 78/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0472
Epoch 79/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0465
Epoch 80/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0461
Epoch 81/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0459
Epoch 82/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0464
Epoch 83/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0464
Epoch 84/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0454
Epoch 85/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0465
Epoch 86/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0456
Epoch 87/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0466
Epoch 88/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0465
Epoch 89/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0459
Epoch 90/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0452
Epoch 91/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0454
Epoch 92/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0474
Epoch 93/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0462
Epoch 94/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0451
Epoch 95/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0465
Epoch 96/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0448
Epoch 97/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0456
Epoch 98/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0454
Epoch 99/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0474
Epoch 100/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0449
Epoch 101/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0450
Epoch 102/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0458
Epoch 103/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0437
Epoch 104/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0439
Epoch 105/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0439
Epoch 106/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0439
Epoch 107/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0434
Epoch 108/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0441
Epoch 109/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0433
Epoch 110/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0427
Epoch 111/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0434
Epoch 112/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0455
Epoch 113/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0458
Epoch 114/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0432
Epoch 115/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0425
Epoch 116/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0435
Epoch 117/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0449
Epoch 118/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0433
Epoch 119/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0419
Epoch 120/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0433
Epoch 121/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0432
Epoch 122/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0415
Epoch 123/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0403
Epoch 124/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0407
Epoch 125/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0423
Epoch 126/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0410
Epoch 127/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0402
Epoch 128/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0436
Epoch 129/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0426
Epoch 130/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0413
Epoch 131/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0400
Epoch 132/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0410
Epoch 133/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0389
Epoch 134/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0388
Epoch 135/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0387
Epoch 136/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0393
Epoch 137/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0389
Epoch 138/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0376
Epoch 139/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0386
Epoch 140/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0411
Epoch 141/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0457
Epoch 142/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0378
Epoch 143/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0416
Epoch 144/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0368
Epoch 145/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0388
Epoch 146/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0376
Epoch 147/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0373
Epoch 148/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0351
Epoch 149/500
5/5 [==============================] - 0s 80ms/step - loss: 0.0360
Epoch 150/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0363
Epoch 151/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0377
Epoch 152/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0314
Epoch 153/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0421
Epoch 154/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0414
Epoch 155/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0334
Epoch 156/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0407
Epoch 157/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0362
Epoch 158/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0372
Epoch 159/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0361
Epoch 160/500
5/5 [==============================] - 0s 64ms/step - loss: 0.0329
Epoch 161/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0396
Epoch 162/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0365
Epoch 163/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0335
Epoch 164/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0375
Epoch 165/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0334
Epoch 166/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0314
Epoch 167/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0366
Epoch 168/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0319
Epoch 169/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0289
Epoch 170/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0364
Epoch 171/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0318
Epoch 172/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0387
Epoch 173/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0310
Epoch 174/500
5/5 [==============================] - 0s 81ms/step - loss: 0.0300
Epoch 175/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0305
Epoch 176/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0292
Epoch 177/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0397
Epoch 178/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0493
Epoch 179/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0397
Epoch 180/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0396
Epoch 181/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0319
Epoch 182/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0356
Epoch 183/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0304
Epoch 184/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0311
Epoch 185/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0361
Epoch 186/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0280
Epoch 187/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0315
Epoch 188/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0271
Epoch 189/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0260
Epoch 190/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0256
Epoch 191/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0241
Epoch 192/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0234
Epoch 193/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0264
Epoch 194/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0255
Epoch 195/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0347
Epoch 196/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0236
Epoch 197/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0304
Epoch 198/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0285
Epoch 199/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0332
Epoch 200/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0247
Epoch 201/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0235
Epoch 202/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0267
Epoch 203/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0248
Epoch 204/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0204
Epoch 205/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0354
Epoch 206/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0308
Epoch 207/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0315
Epoch 208/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0275
Epoch 209/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0260
Epoch 210/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0229
Epoch 211/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0216
Epoch 212/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0206
Epoch 213/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0209
Epoch 214/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0233
Epoch 215/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0214
Epoch 216/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0254
Epoch 217/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0193
Epoch 218/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0191
Epoch 219/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0228
Epoch 220/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0205
Epoch 221/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0241
Epoch 222/500
5/5 [==============================] - 0s 82ms/step - loss: 0.0192
Epoch 223/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0178
Epoch 224/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0229
Epoch 225/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0183
Epoch 226/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0260
Epoch 227/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0189
Epoch 228/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0200
Epoch 229/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0209
Epoch 230/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0276
Epoch 231/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0212
Epoch 232/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0191
Epoch 233/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0169
Epoch 234/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0193
Epoch 235/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0236
Epoch 236/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0162
Epoch 237/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0166
Epoch 238/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0165
Epoch 239/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0161
Epoch 240/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0183
Epoch 241/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0156
Epoch 242/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0146
Epoch 243/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0143
Epoch 244/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0132
Epoch 245/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0131
Epoch 246/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0132
Epoch 247/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0142
Epoch 248/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0163
Epoch 249/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0178
Epoch 250/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0170
Epoch 251/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0229
Epoch 252/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0153
Epoch 253/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0143
Epoch 254/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0127
Epoch 255/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0137
Epoch 256/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0121
Epoch 257/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0133
Epoch 258/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0115
Epoch 259/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0120
Epoch 260/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0109
Epoch 261/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0120
Epoch 262/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0125
Epoch 263/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0123
Epoch 264/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0128
Epoch 265/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0130
Epoch 266/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0151
Epoch 267/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0228
Epoch 268/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0223
Epoch 269/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0349
Epoch 270/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0220
Epoch 271/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0245
Epoch 272/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0266
Epoch 273/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0160
Epoch 274/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0135
Epoch 275/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0117
Epoch 276/500
5/5 [==============================] - 0s 79ms/step - loss: 0.0120
Epoch 277/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0147
Epoch 278/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0144
Epoch 279/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0135
Epoch 280/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0133
Epoch 281/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0119
Epoch 282/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0137
Epoch 283/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0144
Epoch 284/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0128
Epoch 285/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0112
Epoch 286/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0127
Epoch 287/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0132
Epoch 288/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0153
Epoch 289/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0135
Epoch 290/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0142
Epoch 291/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0115
Epoch 292/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0128
Epoch 293/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0133
Epoch 294/500
5/5 [==============================] - 0s 84ms/step - loss: 0.0119
Epoch 295/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0122
Epoch 296/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0092
Epoch 297/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0087
Epoch 298/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0083
Epoch 299/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0099
Epoch 300/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0088
Epoch 301/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0095
Epoch 302/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0103
Epoch 303/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0089
Epoch 304/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0084
Epoch 305/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0074
Epoch 306/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0076
Epoch 307/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0083
Epoch 308/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0075
Epoch 309/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0069
Epoch 310/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0063
Epoch 311/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0059
Epoch 312/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0058
Epoch 313/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0057
Epoch 314/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0055
Epoch 315/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0051
Epoch 316/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0049
Epoch 317/500
5/5 [==============================] - 0s 80ms/step - loss: 0.0046
Epoch 318/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0044
Epoch 319/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0041
Epoch 320/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0044
Epoch 321/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0038
Epoch 322/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0070
Epoch 323/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0079
Epoch 324/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0172
Epoch 325/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0145
Epoch 326/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0443
Epoch 327/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0537
Epoch 328/500
5/5 [==============================] - 0s 79ms/step - loss: 0.0619
Epoch 329/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0486
Epoch 330/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0395
Epoch 331/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0457
Epoch 332/500
5/5 [==============================] - 0s 84ms/step - loss: 0.0312
Epoch 333/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0356
Epoch 334/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0317
Epoch 335/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0291
Epoch 336/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0262
Epoch 337/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0246
Epoch 338/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0233
Epoch 339/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0214
Epoch 340/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0184
Epoch 341/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0179
Epoch 342/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0155
Epoch 343/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0138
Epoch 344/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0133
Epoch 345/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0118
Epoch 346/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0107
Epoch 347/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0101
Epoch 348/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0089
Epoch 349/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0090
Epoch 350/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0090
Epoch 351/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0086
Epoch 352/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0074
Epoch 353/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0070
Epoch 354/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0069
Epoch 355/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0066
Epoch 356/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0062
Epoch 357/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0068
Epoch 358/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0074
Epoch 359/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0090
Epoch 360/500
5/5 [==============================] - 0s 80ms/step - loss: 0.0065
Epoch 361/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0066
Epoch 362/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0060
Epoch 363/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0069
Epoch 364/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0074
Epoch 365/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0094
Epoch 366/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0146
Epoch 367/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0248
Epoch 368/500
5/5 [==============================] - 0s 80ms/step - loss: 0.0149
Epoch 369/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0092
Epoch 370/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0081
Epoch 371/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0068
Epoch 372/500
5/5 [==============================] - 0s 64ms/step - loss: 0.0067
Epoch 373/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0080
Epoch 374/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0148
Epoch 375/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0122
Epoch 376/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0092
Epoch 377/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0111
Epoch 378/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0074
Epoch 379/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0054
Epoch 380/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0051
Epoch 381/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0044
Epoch 382/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0044
Epoch 383/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0045
Epoch 384/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0048
Epoch 385/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0042
Epoch 386/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0038
Epoch 387/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0039
Epoch 388/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0039
Epoch 389/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0039
Epoch 390/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0039
Epoch 391/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0035
Epoch 392/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0035
Epoch 393/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0036
Epoch 394/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0048
Epoch 395/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0062
Epoch 396/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0036
Epoch 397/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0030
Epoch 398/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0029
Epoch 399/500
5/5 [==============================] - 0s 79ms/step - loss: 0.0027
Epoch 400/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0026
Epoch 401/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0025
Epoch 402/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0024
Epoch 403/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0034
Epoch 404/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0066
Epoch 405/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0107
Epoch 406/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0108
Epoch 407/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0251
Epoch 408/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0509
Epoch 409/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0560
Epoch 410/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0432
Epoch 411/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0329
Epoch 412/500
5/5 [==============================] - 0s 81ms/step - loss: 0.0196
Epoch 413/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0225
Epoch 414/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0186
Epoch 415/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0155
Epoch 416/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0158
Epoch 417/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0142
Epoch 418/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0125
Epoch 419/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0103
Epoch 420/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0080
Epoch 421/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0138
Epoch 422/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0146
Epoch 423/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0079
Epoch 424/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0071
Epoch 425/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0061
Epoch 426/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0064
Epoch 427/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0061
Epoch 428/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0060
Epoch 429/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0065
Epoch 430/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0056
Epoch 431/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0048
Epoch 432/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0047
Epoch 433/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0045
Epoch 434/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0045
Epoch 435/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0046
Epoch 436/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0044
Epoch 437/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0046
Epoch 438/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0044
Epoch 439/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0043
Epoch 440/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0040
Epoch 441/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0040
Epoch 442/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0037
Epoch 443/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0036
Epoch 444/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0034
Epoch 445/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0034
Epoch 446/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0033
Epoch 447/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0032
Epoch 448/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0032
Epoch 449/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0031
Epoch 450/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0031
Epoch 451/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0031
Epoch 452/500
5/5 [==============================] - 0s 69ms/step - loss: 0.0031
Epoch 453/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0030
Epoch 454/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0029
Epoch 455/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0029
Epoch 456/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0028
Epoch 457/500
5/5 [==============================] - 0s 65ms/step - loss: 0.0028
Epoch 458/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0027
Epoch 459/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0027
Epoch 460/500
5/5 [==============================] - 0s 77ms/step - loss: 0.0027
Epoch 461/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0027
Epoch 462/500
5/5 [==============================] - 0s 78ms/step - loss: 0.0029
Epoch 463/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0029
Epoch 464/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0026
Epoch 465/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0025
Epoch 466/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0025
Epoch 467/500
5/5 [==============================] - 0s 68ms/step - loss: 0.0025
Epoch 468/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0025
Epoch 469/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0025
Epoch 470/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0027
Epoch 471/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0024
Epoch 472/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0024
Epoch 473/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0027
Epoch 474/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0023
Epoch 475/500
5/5 [==============================] - 0s 66ms/step - loss: 0.0022
Epoch 476/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0034
Epoch 477/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0036
Epoch 478/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0034
Epoch 479/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0035
Epoch 480/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0035
Epoch 481/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0024
Epoch 482/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0025
Epoch 483/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0024
Epoch 484/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0020
Epoch 485/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0019
Epoch 486/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0022
Epoch 487/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0023
Epoch 488/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0018
Epoch 489/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0025
Epoch 490/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0020
Epoch 491/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0019
Epoch 492/500
5/5 [==============================] - 0s 75ms/step - loss: 0.0020
Epoch 493/500
5/5 [==============================] - 0s 73ms/step - loss: 0.0022
Epoch 494/500
5/5 [==============================] - 0s 70ms/step - loss: 0.0029
Epoch 495/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0033
Epoch 496/500
5/5 [==============================] - 0s 71ms/step - loss: 0.0026
Epoch 497/500
5/5 [==============================] - 0s 74ms/step - loss: 0.0036
Epoch 498/500
5/5 [==============================] - 0s 76ms/step - loss: 0.0018
Epoch 499/500
5/5 [==============================] - 0s 67ms/step - loss: 0.0017
Epoch 500/500
5/5 [==============================] - 0s 72ms/step - loss: 0.0019
[[ 759.87189315 911.39010649 731.79821086 915.63465383
1159.44285458 893.26055696 994.34024895 850.80846316
882.06570397 722.5795249 842.62067811 671.55724978
404.3544663 809.88913003 798.3745056 1082.15607364
718.96773854 886.21412073 701.90289172 432.62849689]
[ 948.92075587 685.13935452 656.18233122 775.12662158
790.31735265 855.18396554 796.36109201 979.42466879
904.05554764 631.09090377 731.57037169 237.49572826
928.33330992 710.86601889 984.72606046 580.51833247
681.53208943 885.21874399 932.13563505 623.90290906]
[ 1168.81198006 738.14325985 698.43158735 703.06065701
688.15578793 861.51518163 816.98939078 1069.18727232
909.02204318 476.62011981 644.61939929 246.10036398
964.90356849 851.44499186 898.54467096 710.57412855
702.17169134 914.76598 1269.20567862 791.64784081]
[ 1065.79595118 919.00896643 664.50338577 651.85381764
761.18348891 960.39075978 829.75661929 534.40967031
871.55862062 790.89349025 845.71930154 303.42575207
448.09549574 530.57311279 684.97169116 1051.16806304
661.66048259 1031.18834967 1092.75288246 825.59980591]
[ 1125.58319852 838.46569476 1114.86609191 657.16444021
824.23185589 996.92974631 1080.26489552 766.07446866
825.79831072 887.32414368 1056.82200528 301.7470193
742.60601177 656.35292802 787.70675608 608.48140538
538.30059059 1052.71783227 698.83441001 682.64706423]
[ 1581.99952082 952.27149333 1228.95635304 830.26310797
960.22928624 1275.85246784 1360.2471526 1344.2035721
1065.56988822 736.29266542 1169.56380087 425.8242306
726.08721464 949.8726424 1242.76470913 889.76680777
368.19246666 1388.70611076 812.84770209 628.84020481]
[ 899.59688638 850.84694768 812.19669459 838.03768222
795.59393122 833.9016451 1021.77514192 1392.87966357
1075.13326637 572.09081303 849.17531976 772.99743146
790.52280082 728.45387851 1138.96424179 1315.99651266
365.08418172 1076.59363308 907.88500033 653.13629433]
[ 627.37340607 203.47594091 436.4485572 448.93673252
287.66423893 536.31742638 801.44960773 677.73398952
730.85159913 520.00423889 473.9058034 731.30108765
532.97373993 562.48410615 551.97414319 1085.17455238
357.27059814 636.06488092 801.20336058 749.88620787]
[ 908.54063673 -405.89506 420.26573268 332.29603717
340.3060533 616.51425657 487.27777724 643.00579419
525.32842524 679.67850773 653.7969095 767.28288282
892.01823336 217.1391861 897.48782663 541.00538007
457.17501842 524.14377461 1128.74398927 1072.27755296]
[ 896.38555441 -1707.80686885 670.85010332 589.73411191
691.83367079 676.85734966 826.98933956 895.88353317
675.87973502 1041.10653902 625.08551437 989.70595831
1068.78412671 689.33572892 1296.62162535 574.8702571
597.48225833 595.79381024 1099.59478554 1056.16922157]
[ 1139.02301815 56.80718507 969.14235661 926.35558198
1131.75929236 886.68906824 973.55941152 1205.51976027
860.78214558 1039.6272799 748.40231984 1173.041618
1064.87840469 939.1417029 1508.7438192 1008.78949352
673.34503101 1021.92240579 1130.59770553 816.05752697]
[ 953.47258736 -337.17229747 729.50281064 903.08353074
1226.78937811 832.39337458 890.13986547 933.07799464
751.46062872 754.55144761 943.89656045 1776.57826027
804.47799018 1297.6350333 620.90135813 1544.0917769
822.03694604 1050.51441815 875.79191863 776.10321355]]
In [0]:
# Creating a matrix the size of the output matrix used during training
final_result = np.zeros((result.shape[0],1))
In [0]:
# Loop to make final predictions (takeing the mean from each repetition's prediction)
for i in range(result.shape[0]):
final_result[i] = np.mean(result[i,:])
In [75]:
# Final predictions
final_result
Out[75]:
array([[808.49287841],
[765.90508964],
[806.19577969],
[776.22548536],
[812.14594346],
[996.91756986],
[884.54309833],
[587.62471087],
[584.91944573],
[692.55781772],
[963.70925636],
[907.4663398 ]])
In [0]:
# Adjusting shape
final_result = final_result.reshape((12,))
In [77]:
# Final predictions
final_result
Out[77]:
array([808.49287841, 765.90508964, 806.19577969, 776.22548536,
812.14594346, 996.91756986, 884.54309833, 587.62471087,
584.91944573, 692.55781772, 963.70925636, 907.4663398 ])
In [78]:
# Model performance
bidirectional_lstm_performance = performance(testset, final_result)
bidirectional_lstm_performance
The prediction MSE is 247543.77
The prediction RMSE is 497.54
The prediction MAPE is 33.47
In [79]:
# Plot
plt.figure(figsize = (20, 6))
# Original Series
plt.plot(sales_technology_monthly_mean.index,
sales_technology_monthly_mean.values,
label = 'Observed Values',
color = 'Blue')
# Predictions
plt.plot(sales_technology_monthly_mean[36:].index,
final_result,
label = 'Stacked LSTM Model Predictions',
color = 'Red')
plt.title('Stacked LSTM Model Predictions')
plt.xlabel('Data')
plt.ylabel('Sales')
plt.legend()
plt.show()
Model comparison:
ARMA (3,1):
ARIMA (6,0,4):
SARIMA (0,0,1)x(1,1,0,12):
SARIMA (1,1,1)x(1,1,0,12):
SARIMAX (1,1,1)x(1,1,0,12):
Prophet:
Stacked LSTM:
Differentiated LSTM:
Bidirectional LSTM:
Part 5: https://colab.research.google.com/drive/1DJ-RdGu0WEjTorNWnqz5a70HZPARlZx0
Part 4: https://colab.research.google.com/drive/10-vxlLMWIPOkZwl7DVY5O0jl1-v_GBWy
Modeling sales time series with an Autoregressive RNN, which was developed specifically for such task.
Model's paper: DeepAR: Probabilistic Forecasting with Autoregressive Recurrent Networks
Using the GluonTS package to implement this DeepAR model.
GluonTS is ran on the MxNet framework.
Loading Packages
In [0]:
# Installing MxNet
!pip install -q mxnet
|████████████████████████████████| 68.7MB 56kB/s
When installing GluonTS, Pandas will be removed and reinstalled on version 0.25.3. Without this version GluonTS won't work. This also implies that this Jupyter Notebook cannot be ran on Google Colab, since Colab requires the Pandas version to be 1.0.0 or later.
In [0]:
# Installing GluonTS
!pip install -q gluonts
|████████████████████████████████| 327kB 4.7MB/s
|████████████████████████████████| 7.4MB 9.5MB/s
|████████████████████████████████| 10.4MB 50.6MB/s
|████████████████████████████████| 194kB 50.1MB/s
|████████████████████████████████| 235kB 43.8MB/s
Building wheel for ujson (setup.py) ... done
ERROR: google-colab 1.0.0 has requirement pandas~=1.0.0; python_version >= "3.0", but you'll have pandas 0.25.3 which is incompatible.
ERROR: albumentations 0.1.12 has requirement imgaug<0.2.7,>=0.2.5, but you'll have imgaug 0.2.9 which is incompatible.
ERROR: Operation cancelled by user
In [0]:
# Deactivating the multiple warning messages produced by the newest versions of Pandas and Matplotlib.import sys
import warnings
import matplotlib.cbook
if not sys.warnoptions:
warnings.simplefilter("ignore")
warnings.simplefilter(action='ignore', category=FutureWarning)
warnings.filterwarnings("ignore", category=FutureWarning)
warnings.filterwarnings("ignore", category=matplotlib.cbook.mplDeprecation)
# Data manipulation imports
import math
import numpy as np
import pandas as pd
import itertools
from pandas import Series
from pandas.tseries.offsets import DateOffset
# Data visualization imports
import matplotlib.pyplot as plt
import matplotlib as m
import seaborn as sns
# Predictive modeling imports
import statsmodels
import statsmodels.api as sm
import statsmodels.tsa.api as smt
import statsmodels.stats as sms
from statsmodels.tsa.seasonal import seasonal_decompose
from statsmodels.tsa.stattools import adfuller
# MxNet / GluonTS
import mxnet
import gluonts
from mxnet import gpu, cpu
from mxnet.context import num_gpus
from gluonts.dataset.common import ListDataset
from gluonts.trainer import Trainer
from gluonts.dataset.util import to_pandas
from gluonts.model.deepar import DeepAREstimator
from gluonts.distribution.neg_binomial import NegativeBinomialOutput
from gluonts.evaluation.backtest import make_evaluation_predictions
from gluonts.evaluation import Evaluator
# Graphics formatting imports
m.rcParams['text.color'] = 'k'
from matplotlib.pylab import rcParams
%matplotlib inline
INFO:root:Using CPU
Data
The dataset used is available publicly in Tableau's website, and represents the historic sales from the startup in which HappyMoonVC is considering investing.
Dataset source: https://community.tableau.com/docs/DOC-1236
HappyMoonVC wants to analyze and predict all data the in the "technology" category
In [0]:
# Load data
data = pd.read_csv('https://raw.githubusercontent.com/Matheus-Schmitz/Datasets/master/tableau_superstore_sales.csv')
In [0]:
# Shape
data.shape
Out[0]:
(9994, 21)
In [0]:
# Columns
data.columns
Out[0]:
Index(['Row ID', 'Order ID', 'Order Date', 'Ship Date', 'Ship Mode',
'Customer ID', 'Customer Name', 'Segment', 'Country', 'City', 'State',
'Postal Code', 'Region', 'Product ID', 'Category', 'Sub-Category',
'Product Name', 'Sales', 'Quantity', 'Discount', 'Profit'],
dtype='object')
Exploratory Analysis
In [0]:
# Visualizing data
data.head()
Out[0]:
| Row ID | Order ID | Order Date | Ship Date | Ship Mode | Customer ID | Customer Name | Segment | Country | City | State | Postal Code | Region | Product ID | Category | Sub-Category | Product Name | Sales | Quantity | Discount | Profit |
0 | 1 | CA-2016-152156 | 2016-11-08 | 2016-11-11 | Second Class | CG-12520 | Claire Gute | Consumer | United States | Henderson | Kentucky | 42420 | South | FUR-BO-10001798 | Furniture | Bookcases | Bush Somerset Collection Bookcase | 261.9600 | 2 | 0.00 | 41.9136 |
1 | 2 | CA-2016-152156 | 2016-11-08 | 2016-11-11 | Second Class | CG-12520 | Claire Gute | Consumer | United States | Henderson | Kentucky | 42420 | South | FUR-CH-10000454 | Furniture | Chairs | Hon Deluxe Fabric Upholstered Stacking Chairs,... | 731.9400 | 3 | 0.00 | 219.5820 |
2 | 3 | CA-2016-138688 | 2016-06-12 | 2016-06-16 | Second Class | DV-13045 | Darrin Van Huff | Corporate | United States | Los Angeles | California | 90036 | West | OFF-LA-10000240 | Office Supplies | Labels | Self-Adhesive Address Labels for Typewriters b... | 14.6200 | 2 | 0.00 | 6.8714 |
3 | 4 | US-2015-108966 | 2015-10-11 | 2015-10-18 | Standard Class | SO-20335 | Sean O'Donnell | Consumer | United States | Fort Lauderdale | Florida | 33311 | South | FUR-TA-10000577 | Furniture | Tables | Bretford CR4500 Series Slim Rectangular Table | 957.5775 | 5 | 0.45 | -383.0310 |
4 | 5 | US-2015-108966 | 2015-10-11 | 2015-10-18 | Standard Class | SO-20335 | Sean O'Donnell | Consumer | United States | Fort Lauderdale | Florida | 33311 | South | OFF-ST-10000760 | Office Supplies | Storage | Eldon Fold 'N Roll Cart System | 22.3680 | 2 | 0.20 | 2.5164 |
In [0]:
# Statistic summaries
data.describe()
Out[0]:
| Row ID | Postal Code | Sales | Quantity | Discount | Profit |
count | 9994.000000 | 9994.000000 | 9994.000000 | 9994.000000 | 9994.000000 | 9994.000000 |
mean | 4997.500000 | 55190.379428 | 229.858001 | 3.789574 | 0.156203 | 28.656896 |
std | 2885.163629 | 32063.693350 | 623.245101 | 2.225110 | 0.206452 | 234.260108 |
min | 1.000000 | 1040.000000 | 0.444000 | 1.000000 | 0.000000 | -6599.978000 |
25% | 2499.250000 | 23223.000000 | 17.280000 | 2.000000 | 0.000000 | 1.728750 |
50% | 4997.500000 | 56430.500000 | 54.490000 | 3.000000 | 0.200000 | 8.666500 |
75% | 7495.750000 | 90008.000000 | 209.940000 | 5.000000 | 0.200000 | 29.364000 |
max | 9994.000000 | 99301.000000 | 22638.480000 | 14.000000 | 0.800000 | 8399.976000 |
In [0]:
# Checking for missing values
data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 9994 entries, 0 to 9993
Data columns (total 21 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Row ID 9994 non-null int64
1 Order ID 9994 non-null object
2 Order Date 9994 non-null object
3 Ship Date 9994 non-null object
4 Ship Mode 9994 non-null object
5 Customer ID 9994 non-null object
6 Customer Name 9994 non-null object
7 Segment 9994 non-null object
8 Country 9994 non-null object
9 City 9994 non-null object
10 State 9994 non-null object
11 Postal Code 9994 non-null int64
12 Region 9994 non-null object
13 Product ID 9994 non-null object
14 Category 9994 non-null object
15 Sub-Category 9994 non-null object
16 Product Name 9994 non-null object
17 Sales 9994 non-null float64
18 Quantity 9994 non-null int64
19 Discount 9994 non-null float64
20 Profit 9994 non-null float64
dtypes: float64(3), int64(3), object(15)
memory usage: 1.6+ MB
In [0]:
# Setting column names to lowercase
data.columns = map(str.lower, data.columns)
In [0]:
# Substituting espaces and dashes in the column names by underscores
data.columns = data.columns.str.replace(" ", "_")
data.columns = data.columns.str.replace("-", "_")
In [0]:
# Checking
data.columns
Out[0]:
Index(['row_id', 'order_id', 'order_date', 'ship_date', 'ship_mode',
'customer_id', 'customer_name', 'segment', 'country', 'city', 'state',
'postal_code', 'region', 'product_id', 'category', 'sub_category',
'product_name', 'sales', 'quantity', 'discount', 'profit'],
dtype='object')
In [0]:
# Assess the unique values per column (to know whether a variable is categorical or not)
for c in data.columns:
if len(set(data[c])) < 20:
print(c,set(data[c]))
ship_mode {'Standard Class', 'Same Day', 'First Class', 'Second Class'}
segment {'Home Office', 'Corporate', 'Consumer'}
country {'United States'}
region {'East', 'South', 'West', 'Central'}
category {'Office Supplies', 'Technology', 'Furniture'}
sub_category {'Chairs', 'Accessories', 'Envelopes', 'Bookcases', 'Appliances', 'Supplies', 'Art', 'Binders', 'Tables', 'Phones', 'Fasteners', 'Furnishings', 'Machines', 'Labels', 'Paper', 'Copiers', 'Storage'}
quantity {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14}
discount {0.0, 0.8, 0.2, 0.3, 0.45, 0.5, 0.7, 0.6, 0.32, 0.1, 0.4, 0.15}
In [0]:
# Splitting data by category
df_technology = data.loc[data['category'] == 'Technology']
df_furniture = data.loc[data['category'] == 'Furniture']
df_office = data.loc[data['category'] == 'Office Supplies']
In [0]:
# Aggregating sales by order date
ts_technology = df_technology.groupby('order_date')['sales'].sum().reset_index()
ts_furniture = df_furniture.groupby('order_date')['sales'].sum().reset_index()
ts_office = df_office.groupby('order_date')['sales'].sum().reset_index()
In [0]:
# Checking dataset
ts_technology
Out[0]:
| order_date | sales |
0 | 2014-01-06 | 1147.940 |
1 | 2014-01-09 | 31.200 |
2 | 2014-01-13 | 646.740 |
3 | 2014-01-15 | 149.950 |
4 | 2014-01-16 | 124.200 |
... | ... | ... |
819 | 2017-12-25 | 401.208 |
820 | 2017-12-27 | 164.388 |
821 | 2017-12-28 | 14.850 |
822 | 2017-12-29 | 302.376 |
823 | 2017-12-30 | 90.930 |
824 rows × 2 columns
In [0]:
# Setting the date as index
ts_technology = ts_technology.set_index('order_date')
ts_furniture = ts_furniture.set_index('order_date')
ts_office = ts_office.set_index('order_date')
In [0]:
# Visualizing the series
ts_technology
Out[0]:
| sales |
order_date |
|
2014-01-06 | 1147.940 |
2014-01-09 | 31.200 |
2014-01-13 | 646.740 |
2014-01-15 | 149.950 |
2014-01-16 | 124.200 |
... | ... |
2017-12-25 | 401.208 |
2017-12-27 | 164.388 |
2017-12-28 | 14.850 |
2017-12-29 | 302.376 |
2017-12-30 | 90.930 |
824 rows × 1 columns
In [0]:
# Plotting sales in the technology category
sales_technology = ts_technology[['sales']]
ax = sales_technology.plot(color = 'b', figsize = (18,6))
plt.xlabel("Data")
plt.ylabel('Sales')
plt.title("Technology Category Sales")
plt.show()
In [0]:
# Plotting sales in the furniture category
sales_furniture = ts_furniture[['sales']]
ax = sales_furniture.plot(color = 'g', figsize = (18,6))
plt.xlabel("Data")
plt.ylabel('Sales')
plt.title("Furniture Category Sales")
plt.show()
In [0]:
# Plotting sales in the office category
sales_office = ts_office[['sales']]
ax = sales_office.plot(color = 'r', figsize = (18,6))
plt.xlabel("Data")
plt.ylabel('Sales')
plt.title("Office Category Sales")
plt.show()
Adjusting the index type to DateTimeIndex (which characterizes a time series), so that it's possible to aggregate monthly and obtain the mean monthly sales.
In [0]:
# Checking index type
type(sales_technology.index)
Out[0]:
pandas.core.indexes.base.Index
In [0]:
# Changing index type
sales_technology.index = pd.to_datetime(sales_technology.index)
sales_furniture.index = pd.to_datetime(sales_furniture.index)
sales_office.index = pd.to_datetime(sales_office.index)
In [0]:
# Checking index type
type(sales_technology.index)
Out[0]:
pandas.core.indexes.datetimes.DatetimeIndex
In [0]:
# Resampling data to a monthly frequency
# Done by setting the month as index and then calculating the mean of daily sales over the month
sales_technology_monthly_mean = sales_technology['sales'].resample('MS').mean()
sales_furniture_monthly_mean = sales_furniture['sales'].resample('MS').mean()
sales_office_monthly_mean = sales_office['sales'].resample('MS').mean()
In [0]:
# Verifying the resulting type
type(sales_technology_monthly_mean)
Out[0]:
pandas.core.series.Series
In [0]:
# Checking the data
sales_technology_monthly_mean
Out[0]:
order_date
2014-01-01 449.041429
2014-02-01 229.787143
2014-03-01 2031.948375
2014-04-01 613.028933
2014-05-01 564.698588
2014-06-01 766.905909
2014-07-01 533.608933
2014-08-01 708.435385
2014-09-01 2035.838133
2014-10-01 596.900900
2014-11-01 1208.056320
2014-12-01 1160.732889
2015-01-01 925.070800
2015-02-01 431.121250
2015-03-01 574.662333
2015-04-01 697.559500
2015-05-01 831.642857
2015-06-01 429.024400
2015-07-01 691.397733
2015-08-01 1108.902286
2015-09-01 950.856400
2015-10-01 594.716111
2015-11-01 1037.982652
2015-12-01 1619.637636
2016-01-01 374.671067
2016-02-01 1225.891400
2016-03-01 1135.150105
2016-04-01 875.911882
2016-05-01 1601.816167
2016-06-01 1023.259500
2016-07-01 829.312500
2016-08-01 483.620100
2016-09-01 1144.170300
2016-10-01 1970.835875
2016-11-01 1085.642360
2016-12-01 970.554870
2017-01-01 1195.218071
2017-02-01 430.501714
2017-03-01 1392.859250
2017-04-01 825.559133
2017-05-01 678.329400
2017-06-01 853.055000
2017-07-01 1054.996636
2017-08-01 978.842333
2017-09-01 1077.704120
2017-10-01 1493.439227
2017-11-01 1996.750920
2017-12-01 955.865652
Freq: MS, Name: sales, dtype: float64
In [0]:
# Plotting the monthly mean daily sales of technology products
sales_technology_monthly_mean.plot(figsize = (18, 6), color = 'blue')
plt.xlabel("Purchase Date")
plt.ylabel('Sales')
plt.title("Technology: Average Daily Sales per Month")
plt.show()
In [0]:
# Plotting the monthly mean daily sales of furniture products
sales_furniture_monthly_mean.plot(figsize = (18, 6), color = 'green')
plt.xlabel("Purchase Date")
plt.ylabel('Sales')
plt.title("Furniture: Average Daily Sales per Month")
plt.show()
In [0]:
# Plotting the monthly mean daily sales of office products
sales_office_monthly_mean.plot(figsize = (20, 6), color = 'red')
plt.xlabel("Purchase Date")
plt.ylabel('Sales')
plt.title("Office: Average Daily Sales per Month")
plt.show()
Decomposing the series to analyze its componentes.
In [0]:
# Decomposing the time series with the monthly mean daily sales of technology products
decomposition = seasonal_decompose(sales_technology_monthly_mean, freq = 12)
rcParams['figure.figsize'] = 18, 12
# Components
trend = decomposition.trend
seasonal = decomposition.seasonal
residual = decomposition.resid
# Plot
plt.subplot(411)
plt.plot(sales_technology_monthly_mean, label = 'Original Series')
plt.legend(loc = 'best')
plt.subplot(412)
plt.plot(trend, label = 'Trend')
plt.legend(loc = 'best')
plt.subplot(413)
plt.plot(seasonal, label = 'Seasonality')
plt.legend(loc = 'best')
plt.subplot(414)
plt.plot(residual, label = 'Residuals')
plt.legend(loc = 'best')
plt.tight_layout()
Stationarity test:
In [0]:
# Function to test stationarity
def stationarity_test(serie):
# Calculating moving statistics
rolmean = serie.rolling(window = 12).mean()
rolstd = serie.rolling(window = 12).std()
# Plot of moving statistics
orig = plt.plot(serie, color = 'blue', label = 'Original')
mean = plt.plot(rolmean, color = 'red', label = 'Moving Average')
std = plt.plot(rolstd, color = 'black', label = 'Standard Deviation')
plt.legend(loc = 'best')
plt.title('Moving Statistics - Mean and Standard Deviation')
plt.show()
# Dickey-Fuller test:
print('\nDickey-Fuller Test Result:\n')
# Test
dftest = adfuller(serie, autolag = 'AIC')
# Formatting the output
df_output = pd.Series(dftest[0:4], index = ['Test Statistic',
'P-value',
'Number of Lags Considered',
'Number of Observations Used'])
# Loop through each item in the test output
for key, value in dftest[4].items():
df_output['Critical Value (%s)'%key] = value
print (df_output)
# Testing p-value
print ('\nConclusion:')
if df_output[1] > 0.05:
print('\nThe p-value is above 0.05, therefore there are no evidences to reject the null hypothesis.')
print('This series probably is not stationary.')
else:
print('\nThe p-value is below 0.05, therefore there are evidences to reject the null hypothesis.')
print('This series probably is stationary.')
In [0]:
# Verifying if the series is stationary
stationarity_test(sales_technology_monthly_mean)
Dickey-Fuller Test Result:
Test Statistic -7.187969e+00
P-value 2.547334e-10
Number of Lags Considered 0.000000e+00
Number of Observations Used 4.700000e+01
Critical Value (1%) -3.577848e+00
Critical Value (5%) -2.925338e+00
Critical Value (10%) -2.600774e+00
dtype: float64
Conclusion:
The p-value is below 0.05, therefore there are evidences to reject the null hypothesis.
This series probably is stationary.
Train-Test Split
In [0]:
# Original series
X = sales_technology_monthly_mean
In [0]:
# Using the first 3 years (first 36 rows) for training
X[:-12]
Out[0]:
order_date
2014-01-01 449.041429
2014-02-01 229.787143
2014-03-01 2031.948375
2014-04-01 613.028933
2014-05-01 564.698588
2014-06-01 766.905909
2014-07-01 533.608933
2014-08-01 708.435385
2014-09-01 2035.838133
2014-10-01 596.900900
2014-11-01 1208.056320
2014-12-01 1160.732889
2015-01-01 925.070800
2015-02-01 431.121250
2015-03-01 574.662333
2015-04-01 697.559500
2015-05-01 831.642857
2015-06-01 429.024400
2015-07-01 691.397733
2015-08-01 1108.902286
2015-09-01 950.856400
2015-10-01 594.716111
2015-11-01 1037.982652
2015-12-01 1619.637636
2016-01-01 374.671067
2016-02-01 1225.891400
2016-03-01 1135.150105
2016-04-01 875.911882
2016-05-01 1601.816167
2016-06-01 1023.259500
2016-07-01 829.312500
2016-08-01 483.620100
2016-09-01 1144.170300
2016-10-01 1970.835875
2016-11-01 1085.642360
2016-12-01 970.554870
Freq: MS, Name: sales, dtype: float64
In [0]:
# Using the last year (last 12 rows) for testing
X[-12:]
Out[0]:
order_date
2017-01-01 1195.218071
2017-02-01 430.501714
2017-03-01 1392.859250
2017-04-01 825.559133
2017-05-01 678.329400
2017-06-01 853.055000
2017-07-01 1054.996636
2017-08-01 978.842333
2017-09-01 1077.704120
2017-10-01 1493.439227
2017-11-01 1996.750920
2017-12-01 955.865652
Freq: MS, Name: sales, dtype: float64
In [0]:
# Train-test split
training, testing = np.array(X[:-12]), np.array(X[-12:])
In [0]:
# Ajusta o shape, pois agora não temos um objeto pd.Series,
# mas sim um array NumPy, que é necessário para treinar o modelo LSTM
trainset = training.reshape(-1,1)
testset = testing.reshape(-1,1)
In [0]:
len(trainset)
Out[0]:
36
In [0]:
training
Out[0]:
array([ 449.04142857, 229.78714286, 2031.948375 , 613.02893333,
564.69858824, 766.90590909, 533.60893333, 708.43538462,
2035.83813333, 596.9009 , 1208.05632 , 1160.73288889,
925.0708 , 431.12125 , 574.66233333, 697.5595 ,
831.64285714, 429.0244 , 691.39773333, 1108.90228571,
950.8564 , 594.71611111, 1037.98265217, 1619.63763636,
374.67106667, 1225.8914 , 1135.15010526, 875.91188235,
1601.81616667, 1023.2595 , 829.3125 , 483.6201 ,
1144.1703 , 1970.835875 , 1085.64236 , 970.55486957])
In [0]:
trainset
Out[0]:
array([[ 449.04142857],
[ 229.78714286],
[2031.948375 ],
[ 613.02893333],
[ 564.69858824],
[ 766.90590909],
[ 533.60893333],
[ 708.43538462],
[2035.83813333],
[ 596.9009 ],
[1208.05632 ],
[1160.73288889],
[ 925.0708 ],
[ 431.12125 ],
[ 574.66233333],
[ 697.5595 ],
[ 831.64285714],
[ 429.0244 ],
[ 691.39773333],
[1108.90228571],
[ 950.8564 ],
[ 594.71611111],
[1037.98265217],
[1619.63763636],
[ 374.67106667],
[1225.8914 ],
[1135.15010526],
[ 875.91188235],
[1601.81616667],
[1023.2595 ],
[ 829.3125 ],
[ 483.6201 ],
[1144.1703 ],
[1970.835875 ],
[1085.64236 ],
[ 970.55486957]])
In [0]:
len(testset)
Out[0]:
12
In [0]:
testset
Out[0]:
array([[1195.21807143],
[ 430.50171429],
[1392.85925 ],
[ 825.55913333],
[ 678.3294 ],
[ 853.055 ],
[1054.99663636],
[ 978.84233333],
[1077.70412 ],
[1493.43922727],
[1996.75092 ],
[ 955.86565217]])
GluonTS
In [0]:
# Function
def plot_forecast(predictor, test_data):
for test_entry, forecast in zip(test_data, predictor.predict(test_data)):
to_pandas(test_entry).plot(linewidth = 2)
forecast.plot(color = 'g', prediction_intervals = [50.0, 90.0])
plt.grid(which = 'both')
Preparing the Dataset for GluonTS
GluonTS doesn't require a specific format for the inputed data. The only requiresments are iterable data and having fields named "start" and "target", where "start" represents the first point on the series index (the date), and "target" represents the series values. This is done with the gluonts.dataset.common.ListDataset class. Here start is pandas.index and target is an iterable with the values on the sales column.
In [0]:
# Training dataset
training_data = ListDataset([{"start": trainset.index[0],
"target": trainset.sales[: "2016-12-01"]}],
freq = "M")
In [0]:
# Testing dataset
test_data = ListDataset([{"start": testset.index[0],
"target": testset.sales[:"2017-12-01"]}],
freq = "M")
In [0]:
# Creating model
# https://gluon-ts.mxnet.io/api/gluonts/gluonts.model.deepar.html
gluonts_model = DeepAREstimator(freq = "M",
prediction_length = 12,
distr_output = NegativeBinomialOutput(),
num_layers = 2,
trainer = Trainer(learning_rate = 1e-3,
epochs = 500,
num_batches_per_epoch = 50,
batch_size = 32))
INFO:root:Using CPU
In [0]:
# Training model
gluonts_model_predictor = gluonts_model.train(training_data = training_data)
INFO:root:Start model training
INFO:root:Epoch[0] Learning rate is 0.001
0%| | 0/50 [00:00<?, ?it/s]INFO:numexpr.utils:Note: NumExpr detected 12 cores but "NUMEXPR_MAX_THREADS" not set, so enforcing safe limit of 8.
INFO:numexpr.utils:NumExpr defaulting to 8 threads.
INFO:root:Number of parameters in DeepARTrainingNetwork: 36403
learning rate from ``lr_scheduler`` has been overwritten by ``learning_rate`` in optimizer.
100%|██████████| 50/50 [00:01<00:00, 34.69it/s, avg_epoch_loss=7.91]
INFO:root:Epoch[0] Elapsed time 1.443 seconds
INFO:root:Epoch[0] Evaluation metric 'epoch_loss'=7.908975
INFO:root:Epoch[1] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.94it/s, avg_epoch_loss=7.34]
INFO:root:Epoch[1] Elapsed time 1.319 seconds
INFO:root:Epoch[1] Evaluation metric 'epoch_loss'=7.337769
INFO:root:Epoch[2] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.96it/s, avg_epoch_loss=7.08]
INFO:root:Epoch[2] Elapsed time 1.318 seconds
INFO:root:Epoch[2] Evaluation metric 'epoch_loss'=7.077264
INFO:root:Epoch[3] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.84it/s, avg_epoch_loss=6.83]
INFO:root:Epoch[3] Elapsed time 1.323 seconds
INFO:root:Epoch[3] Evaluation metric 'epoch_loss'=6.828020
INFO:root:Epoch[4] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.95it/s, avg_epoch_loss=6.68]
INFO:root:Epoch[4] Elapsed time 1.319 seconds
INFO:root:Epoch[4] Evaluation metric 'epoch_loss'=6.675156
INFO:root:Epoch[5] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.17it/s, avg_epoch_loss=6.42]
INFO:root:Epoch[5] Elapsed time 1.346 seconds
INFO:root:Epoch[5] Evaluation metric 'epoch_loss'=6.417465
INFO:root:Epoch[6] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 35.98it/s, avg_epoch_loss=6.16]
INFO:root:Epoch[6] Elapsed time 1.391 seconds
INFO:root:Epoch[6] Evaluation metric 'epoch_loss'=6.155249
INFO:root:Epoch[7] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 36.17it/s, avg_epoch_loss=5.96]
INFO:root:Epoch[7] Elapsed time 1.384 seconds
INFO:root:Epoch[7] Evaluation metric 'epoch_loss'=5.958463
INFO:root:Epoch[8] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.41it/s, avg_epoch_loss=5.78]
INFO:root:Epoch[8] Elapsed time 1.338 seconds
INFO:root:Epoch[8] Evaluation metric 'epoch_loss'=5.784959
INFO:root:Epoch[9] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.18it/s, avg_epoch_loss=5.65]
INFO:root:Epoch[9] Elapsed time 1.311 seconds
INFO:root:Epoch[9] Evaluation metric 'epoch_loss'=5.654531
INFO:root:Epoch[10] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.07it/s, avg_epoch_loss=5.55]
INFO:root:Epoch[10] Elapsed time 1.350 seconds
INFO:root:Epoch[10] Evaluation metric 'epoch_loss'=5.551714
INFO:root:Epoch[11] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 36.32it/s, avg_epoch_loss=5.49]
INFO:root:Epoch[11] Elapsed time 1.378 seconds
INFO:root:Epoch[11] Evaluation metric 'epoch_loss'=5.486680
INFO:root:Epoch[12] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.19it/s, avg_epoch_loss=5.39]
INFO:root:Epoch[12] Elapsed time 1.310 seconds
INFO:root:Epoch[12] Evaluation metric 'epoch_loss'=5.391356
INFO:root:Epoch[13] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 35.09it/s, avg_epoch_loss=5.36]
INFO:root:Epoch[13] Elapsed time 1.426 seconds
INFO:root:Epoch[13] Evaluation metric 'epoch_loss'=5.357374
INFO:root:Epoch[14] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 36.90it/s, avg_epoch_loss=5.3]
INFO:root:Epoch[14] Elapsed time 1.356 seconds
INFO:root:Epoch[14] Evaluation metric 'epoch_loss'=5.302440
INFO:root:Epoch[15] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 36.20it/s, avg_epoch_loss=5.24]
INFO:root:Epoch[15] Elapsed time 1.382 seconds
INFO:root:Epoch[15] Evaluation metric 'epoch_loss'=5.238807
INFO:root:Epoch[16] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.06it/s, avg_epoch_loss=5.25]
INFO:root:Epoch[16] Elapsed time 1.315 seconds
INFO:root:Epoch[16] Evaluation metric 'epoch_loss'=5.250712
INFO:root:Epoch[17] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.22it/s, avg_epoch_loss=5.18]
INFO:root:Epoch[17] Elapsed time 1.309 seconds
INFO:root:Epoch[17] Evaluation metric 'epoch_loss'=5.175333
INFO:root:Epoch[18] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.08it/s, avg_epoch_loss=5.13]
INFO:root:Epoch[18] Elapsed time 1.314 seconds
INFO:root:Epoch[18] Evaluation metric 'epoch_loss'=5.134513
INFO:root:Epoch[19] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.26it/s, avg_epoch_loss=5.14]
INFO:root:Epoch[19] Elapsed time 1.343 seconds
INFO:root:Epoch[19] Evaluation metric 'epoch_loss'=5.140099
INFO:root:Epoch[20] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.95it/s, avg_epoch_loss=5.16]
INFO:root:Epoch[20] Elapsed time 1.319 seconds
INFO:root:Epoch[20] Evaluation metric 'epoch_loss'=5.163877
INFO:root:Epoch[21] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 34.45it/s, avg_epoch_loss=5.06]
INFO:root:Epoch[21] Elapsed time 1.452 seconds
INFO:root:Epoch[21] Evaluation metric 'epoch_loss'=5.061568
INFO:root:Epoch[22] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.01it/s, avg_epoch_loss=5.05]
INFO:root:Epoch[22] Elapsed time 1.352 seconds
INFO:root:Epoch[22] Evaluation metric 'epoch_loss'=5.050069
INFO:root:Epoch[23] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 36.43it/s, avg_epoch_loss=5.03]
INFO:root:Epoch[23] Elapsed time 1.374 seconds
INFO:root:Epoch[23] Evaluation metric 'epoch_loss'=5.032214
INFO:root:Epoch[24] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.06it/s, avg_epoch_loss=5.03]
INFO:root:Epoch[24] Elapsed time 1.315 seconds
INFO:root:Epoch[24] Evaluation metric 'epoch_loss'=5.034330
INFO:root:Epoch[25] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.02it/s, avg_epoch_loss=5.01]
INFO:root:Epoch[25] Elapsed time 1.316 seconds
INFO:root:Epoch[25] Evaluation metric 'epoch_loss'=5.014648
INFO:root:Epoch[26] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.76it/s, avg_epoch_loss=5]
INFO:root:Epoch[26] Elapsed time 1.325 seconds
INFO:root:Epoch[26] Evaluation metric 'epoch_loss'=5.001250
INFO:root:Epoch[27] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.89it/s, avg_epoch_loss=4.99]
INFO:root:Epoch[27] Elapsed time 1.321 seconds
INFO:root:Epoch[27] Evaluation metric 'epoch_loss'=4.989177
INFO:root:Epoch[28] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.95it/s, avg_epoch_loss=4.97]
INFO:root:Epoch[28] Elapsed time 1.319 seconds
INFO:root:Epoch[28] Evaluation metric 'epoch_loss'=4.974059
INFO:root:Epoch[29] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.37it/s, avg_epoch_loss=4.99]
INFO:root:Epoch[29] Elapsed time 1.304 seconds
INFO:root:Epoch[29] Evaluation metric 'epoch_loss'=4.985838
INFO:root:Epoch[30] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.76it/s, avg_epoch_loss=4.96]
INFO:root:Epoch[30] Elapsed time 1.325 seconds
INFO:root:Epoch[30] Evaluation metric 'epoch_loss'=4.955548
INFO:root:Epoch[31] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.75it/s, avg_epoch_loss=4.95]
INFO:root:Epoch[31] Elapsed time 1.326 seconds
INFO:root:Epoch[31] Evaluation metric 'epoch_loss'=4.954384
INFO:root:Epoch[32] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.26it/s, avg_epoch_loss=4.93]
INFO:root:Epoch[32] Elapsed time 1.308 seconds
INFO:root:Epoch[32] Evaluation metric 'epoch_loss'=4.925572
INFO:root:Epoch[33] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.00it/s, avg_epoch_loss=4.95]
INFO:root:Epoch[33] Elapsed time 1.317 seconds
INFO:root:Epoch[33] Evaluation metric 'epoch_loss'=4.945440
INFO:root:Epoch[34] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.60it/s, avg_epoch_loss=4.91]
INFO:root:Epoch[34] Elapsed time 1.331 seconds
INFO:root:Epoch[34] Evaluation metric 'epoch_loss'=4.905046
INFO:root:Epoch[35] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.03it/s, avg_epoch_loss=4.9]
INFO:root:Epoch[35] Elapsed time 1.316 seconds
INFO:root:Epoch[35] Evaluation metric 'epoch_loss'=4.899971
INFO:root:Epoch[36] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.98it/s, avg_epoch_loss=4.89]
INFO:root:Epoch[36] Elapsed time 1.318 seconds
INFO:root:Epoch[36] Evaluation metric 'epoch_loss'=4.893135
INFO:root:Epoch[37] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.04it/s, avg_epoch_loss=4.91]
INFO:root:Epoch[37] Elapsed time 1.316 seconds
INFO:root:Epoch[37] Evaluation metric 'epoch_loss'=4.910334
INFO:root:Epoch[38] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.27it/s, avg_epoch_loss=4.89]
INFO:root:Epoch[38] Elapsed time 1.308 seconds
INFO:root:Epoch[38] Evaluation metric 'epoch_loss'=4.893278
INFO:root:Epoch[39] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.89it/s, avg_epoch_loss=4.88]
INFO:root:Epoch[39] Elapsed time 1.321 seconds
INFO:root:Epoch[39] Evaluation metric 'epoch_loss'=4.882927
INFO:root:Epoch[40] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.75it/s, avg_epoch_loss=4.87]
INFO:root:Epoch[40] Elapsed time 1.326 seconds
INFO:root:Epoch[40] Evaluation metric 'epoch_loss'=4.867955
INFO:root:Epoch[41] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.21it/s, avg_epoch_loss=4.88]
INFO:root:Epoch[41] Elapsed time 1.310 seconds
INFO:root:Epoch[41] Evaluation metric 'epoch_loss'=4.883507
INFO:root:Epoch[42] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.80it/s, avg_epoch_loss=4.88]
INFO:root:Epoch[42] Elapsed time 1.324 seconds
INFO:root:Epoch[42] Evaluation metric 'epoch_loss'=4.884902
INFO:root:Epoch[43] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.09it/s, avg_epoch_loss=4.85]
INFO:root:Epoch[43] Elapsed time 1.349 seconds
INFO:root:Epoch[43] Evaluation metric 'epoch_loss'=4.849318
INFO:root:Epoch[44] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.85it/s, avg_epoch_loss=4.88]
INFO:root:Epoch[44] Elapsed time 1.322 seconds
INFO:root:Epoch[44] Evaluation metric 'epoch_loss'=4.881761
INFO:root:Epoch[45] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.16it/s, avg_epoch_loss=4.85]
INFO:root:Epoch[45] Elapsed time 1.311 seconds
INFO:root:Epoch[45] Evaluation metric 'epoch_loss'=4.851471
INFO:root:Epoch[46] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.62it/s, avg_epoch_loss=4.86]
INFO:root:Epoch[46] Elapsed time 1.296 seconds
INFO:root:Epoch[46] Evaluation metric 'epoch_loss'=4.856909
INFO:root:Epoch[47] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.44it/s, avg_epoch_loss=4.86]
INFO:root:Epoch[47] Elapsed time 1.302 seconds
INFO:root:Epoch[47] Evaluation metric 'epoch_loss'=4.861635
INFO:root:Epoch[48] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.11it/s, avg_epoch_loss=4.85]
INFO:root:Epoch[48] Elapsed time 1.313 seconds
INFO:root:Epoch[48] Evaluation metric 'epoch_loss'=4.845951
INFO:root:Epoch[49] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.13it/s, avg_epoch_loss=4.82]
INFO:root:Epoch[49] Elapsed time 1.313 seconds
INFO:root:Epoch[49] Evaluation metric 'epoch_loss'=4.818326
INFO:root:Epoch[50] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.24it/s, avg_epoch_loss=4.83]
INFO:root:Epoch[50] Elapsed time 1.309 seconds
INFO:root:Epoch[50] Evaluation metric 'epoch_loss'=4.826273
INFO:root:Epoch[51] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 36.34it/s, avg_epoch_loss=4.82]
INFO:root:Epoch[51] Elapsed time 1.377 seconds
INFO:root:Epoch[51] Evaluation metric 'epoch_loss'=4.821697
INFO:root:Epoch[52] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.02it/s, avg_epoch_loss=4.84]
INFO:root:Epoch[52] Elapsed time 1.316 seconds
INFO:root:Epoch[52] Evaluation metric 'epoch_loss'=4.842250
INFO:root:Epoch[53] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.93it/s, avg_epoch_loss=4.81]
INFO:root:Epoch[53] Elapsed time 1.320 seconds
INFO:root:Epoch[53] Evaluation metric 'epoch_loss'=4.813155
INFO:root:Epoch[54] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.46it/s, avg_epoch_loss=4.84]
INFO:root:Epoch[54] Elapsed time 1.301 seconds
INFO:root:Epoch[54] Evaluation metric 'epoch_loss'=4.839889
INFO:root:Epoch[55] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.16it/s, avg_epoch_loss=4.8]
INFO:root:Epoch[55] Elapsed time 1.311 seconds
INFO:root:Epoch[55] Evaluation metric 'epoch_loss'=4.795072
INFO:root:Epoch[56] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.10it/s, avg_epoch_loss=4.77]
INFO:root:Epoch[56] Elapsed time 1.314 seconds
INFO:root:Epoch[56] Evaluation metric 'epoch_loss'=4.771750
INFO:root:Epoch[57] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.92it/s, avg_epoch_loss=4.79]
INFO:root:Epoch[57] Elapsed time 1.320 seconds
INFO:root:Epoch[57] Evaluation metric 'epoch_loss'=4.791831
INFO:root:Epoch[58] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.00it/s, avg_epoch_loss=4.79]
INFO:root:Epoch[58] Elapsed time 1.317 seconds
INFO:root:Epoch[58] Evaluation metric 'epoch_loss'=4.787448
INFO:root:Epoch[59] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.16it/s, avg_epoch_loss=4.76]
INFO:root:Epoch[59] Elapsed time 1.347 seconds
INFO:root:Epoch[59] Evaluation metric 'epoch_loss'=4.758240
INFO:root:Epoch[60] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.23it/s, avg_epoch_loss=4.78]
INFO:root:Epoch[60] Elapsed time 1.309 seconds
INFO:root:Epoch[60] Evaluation metric 'epoch_loss'=4.782533
INFO:root:Epoch[61] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.61it/s, avg_epoch_loss=4.8]
INFO:root:Epoch[61] Elapsed time 1.331 seconds
INFO:root:Epoch[61] Evaluation metric 'epoch_loss'=4.804369
INFO:root:Epoch[62] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 36.39it/s, avg_epoch_loss=4.75]
INFO:root:Epoch[62] Elapsed time 1.375 seconds
INFO:root:Epoch[62] Evaluation metric 'epoch_loss'=4.749014
INFO:root:Epoch[63] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.55it/s, avg_epoch_loss=4.74]
INFO:root:Epoch[63] Elapsed time 1.333 seconds
INFO:root:Epoch[63] Evaluation metric 'epoch_loss'=4.742798
INFO:root:Epoch[64] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.25it/s, avg_epoch_loss=4.82]
INFO:root:Epoch[64] Elapsed time 1.308 seconds
INFO:root:Epoch[64] Evaluation metric 'epoch_loss'=4.819559
INFO:root:Epoch[65] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.31it/s, avg_epoch_loss=4.85]
INFO:root:Epoch[65] Elapsed time 1.306 seconds
INFO:root:Epoch[65] Evaluation metric 'epoch_loss'=4.853737
INFO:root:Epoch[66] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.91it/s, avg_epoch_loss=4.82]
INFO:root:Epoch[66] Elapsed time 1.320 seconds
INFO:root:Epoch[66] Evaluation metric 'epoch_loss'=4.816071
INFO:root:Epoch[67] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.74it/s, avg_epoch_loss=4.82]
INFO:root:Epoch[67] Elapsed time 1.326 seconds
INFO:root:Epoch[67] Evaluation metric 'epoch_loss'=4.815696
INFO:root:Epoch[68] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.75it/s, avg_epoch_loss=4.74]
INFO:root:Epoch[68] Elapsed time 1.326 seconds
INFO:root:Epoch[68] Evaluation metric 'epoch_loss'=4.743043
INFO:root:Epoch[69] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.48it/s, avg_epoch_loss=4.71]
INFO:root:Epoch[69] Elapsed time 1.301 seconds
INFO:root:Epoch[69] Evaluation metric 'epoch_loss'=4.706826
INFO:root:Epoch[70] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.03it/s, avg_epoch_loss=4.81]
INFO:root:Epoch[70] Elapsed time 1.352 seconds
INFO:root:Epoch[70] Evaluation metric 'epoch_loss'=4.814454
INFO:root:Epoch[71] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.53it/s, avg_epoch_loss=4.84]
INFO:root:Epoch[71] Elapsed time 1.299 seconds
INFO:root:Epoch[71] Evaluation metric 'epoch_loss'=4.835189
INFO:root:Epoch[72] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.11it/s, avg_epoch_loss=4.75]
INFO:root:Epoch[72] Elapsed time 1.313 seconds
INFO:root:Epoch[72] Evaluation metric 'epoch_loss'=4.754260
INFO:root:Epoch[73] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.33it/s, avg_epoch_loss=4.75]
INFO:root:Epoch[73] Elapsed time 1.306 seconds
INFO:root:Epoch[73] Evaluation metric 'epoch_loss'=4.747565
INFO:root:Epoch[74] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.98it/s, avg_epoch_loss=4.74]
INFO:root:Epoch[74] Elapsed time 1.317 seconds
INFO:root:Epoch[74] Evaluation metric 'epoch_loss'=4.739699
INFO:root:Epoch[75] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 36.98it/s, avg_epoch_loss=4.73]
INFO:root:Epoch[75] Elapsed time 1.353 seconds
INFO:root:Epoch[75] Evaluation metric 'epoch_loss'=4.729369
INFO:root:Epoch[76] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 36.78it/s, avg_epoch_loss=4.71]
INFO:root:Epoch[76] Elapsed time 1.361 seconds
INFO:root:Epoch[76] Evaluation metric 'epoch_loss'=4.705359
INFO:root:Epoch[77] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.93it/s, avg_epoch_loss=4.69]
INFO:root:Epoch[77] Elapsed time 1.319 seconds
INFO:root:Epoch[77] Evaluation metric 'epoch_loss'=4.689175
INFO:root:Epoch[78] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.19it/s, avg_epoch_loss=4.72]
INFO:root:Epoch[78] Elapsed time 1.311 seconds
INFO:root:Epoch[78] Evaluation metric 'epoch_loss'=4.724005
INFO:root:Epoch[79] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.07it/s, avg_epoch_loss=4.71]
INFO:root:Epoch[79] Elapsed time 1.314 seconds
INFO:root:Epoch[79] Evaluation metric 'epoch_loss'=4.707859
INFO:root:Epoch[80] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 36.29it/s, avg_epoch_loss=4.7]
INFO:root:Epoch[80] Elapsed time 1.379 seconds
INFO:root:Epoch[80] Evaluation metric 'epoch_loss'=4.695344
INFO:root:Epoch[81] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.02it/s, avg_epoch_loss=4.69]
INFO:root:Epoch[81] Elapsed time 1.316 seconds
INFO:root:Epoch[81] Evaluation metric 'epoch_loss'=4.685401
INFO:root:Epoch[82] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.10it/s, avg_epoch_loss=4.68]
INFO:root:Epoch[82] Elapsed time 1.314 seconds
INFO:root:Epoch[82] Evaluation metric 'epoch_loss'=4.675446
INFO:root:Epoch[83] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.92it/s, avg_epoch_loss=4.7]
INFO:root:Epoch[83] Elapsed time 1.320 seconds
INFO:root:Epoch[83] Evaluation metric 'epoch_loss'=4.695039
INFO:root:Epoch[84] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.29it/s, avg_epoch_loss=4.67]
INFO:root:Epoch[84] Elapsed time 1.307 seconds
INFO:root:Epoch[84] Evaluation metric 'epoch_loss'=4.672759
INFO:root:Epoch[85] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 36.96it/s, avg_epoch_loss=4.67]
INFO:root:Epoch[85] Elapsed time 1.354 seconds
INFO:root:Epoch[85] Evaluation metric 'epoch_loss'=4.665972
INFO:root:Epoch[86] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.99it/s, avg_epoch_loss=4.66]
INFO:root:Epoch[86] Elapsed time 1.317 seconds
INFO:root:Epoch[86] Evaluation metric 'epoch_loss'=4.655447
INFO:root:Epoch[87] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 36.78it/s, avg_epoch_loss=4.68]
INFO:root:Epoch[87] Elapsed time 1.361 seconds
INFO:root:Epoch[87] Evaluation metric 'epoch_loss'=4.683816
INFO:root:Epoch[88] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 36.66it/s, avg_epoch_loss=4.66]
INFO:root:Epoch[88] Elapsed time 1.365 seconds
INFO:root:Epoch[88] Evaluation metric 'epoch_loss'=4.659782
INFO:root:Epoch[89] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 34.60it/s, avg_epoch_loss=4.67]
INFO:root:Epoch[89] Elapsed time 1.446 seconds
INFO:root:Epoch[89] Evaluation metric 'epoch_loss'=4.665016
INFO:root:Epoch[90] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 34.82it/s, avg_epoch_loss=4.64]
INFO:root:Epoch[90] Elapsed time 1.437 seconds
INFO:root:Epoch[90] Evaluation metric 'epoch_loss'=4.636382
INFO:root:Epoch[91] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.82it/s, avg_epoch_loss=4.62]
INFO:root:Epoch[91] Elapsed time 1.323 seconds
INFO:root:Epoch[91] Evaluation metric 'epoch_loss'=4.620934
INFO:root:Epoch[92] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.98it/s, avg_epoch_loss=4.61]
INFO:root:Epoch[92] Elapsed time 1.318 seconds
INFO:root:Epoch[92] Evaluation metric 'epoch_loss'=4.606396
INFO:root:Epoch[93] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.87it/s, avg_epoch_loss=4.57]
INFO:root:Epoch[93] Elapsed time 1.322 seconds
INFO:root:Epoch[93] Evaluation metric 'epoch_loss'=4.569764
INFO:root:Epoch[94] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.14it/s, avg_epoch_loss=4.61]
INFO:root:Epoch[94] Elapsed time 1.347 seconds
INFO:root:Epoch[94] Evaluation metric 'epoch_loss'=4.609239
INFO:root:Epoch[95] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.14it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[95] Elapsed time 1.347 seconds
INFO:root:Epoch[95] Evaluation metric 'epoch_loss'=4.589666
INFO:root:Epoch[96] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 34.75it/s, avg_epoch_loss=4.63]
INFO:root:Epoch[96] Elapsed time 1.440 seconds
INFO:root:Epoch[96] Evaluation metric 'epoch_loss'=4.628588
INFO:root:Epoch[97] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.58it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[97] Elapsed time 1.332 seconds
INFO:root:Epoch[97] Evaluation metric 'epoch_loss'=4.596138
INFO:root:Epoch[98] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.55it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[98] Elapsed time 1.333 seconds
INFO:root:Epoch[98] Evaluation metric 'epoch_loss'=4.595384
INFO:root:Epoch[99] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.02it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[99] Elapsed time 1.316 seconds
INFO:root:Epoch[99] Evaluation metric 'epoch_loss'=4.597873
INFO:root:Epoch[100] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.07it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[100] Elapsed time 1.315 seconds
INFO:root:Epoch[100] Evaluation metric 'epoch_loss'=4.589622
INFO:root:Epoch[101] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 36.45it/s, avg_epoch_loss=4.57]
INFO:root:Epoch[101] Elapsed time 1.373 seconds
INFO:root:Epoch[101] Evaluation metric 'epoch_loss'=4.571001
INFO:root:Epoch[102] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.27it/s, avg_epoch_loss=4.56]
INFO:root:Epoch[102] Elapsed time 1.308 seconds
INFO:root:Epoch[102] Evaluation metric 'epoch_loss'=4.556369
INFO:root:Epoch[103] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.21it/s, avg_epoch_loss=4.55]
INFO:root:Epoch[103] Elapsed time 1.310 seconds
INFO:root:Epoch[103] Evaluation metric 'epoch_loss'=4.547130
INFO:root:Epoch[104] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 36.05it/s, avg_epoch_loss=4.52]
INFO:root:Epoch[104] Elapsed time 1.388 seconds
INFO:root:Epoch[104] Evaluation metric 'epoch_loss'=4.523829
INFO:root:Epoch[105] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.69it/s, avg_epoch_loss=4.51]
INFO:root:Epoch[105] Elapsed time 1.328 seconds
INFO:root:Epoch[105] Evaluation metric 'epoch_loss'=4.508866
INFO:root:Epoch[106] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.04it/s, avg_epoch_loss=4.61]
INFO:root:Epoch[106] Elapsed time 1.316 seconds
INFO:root:Epoch[106] Evaluation metric 'epoch_loss'=4.613594
INFO:root:Epoch[107] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.80it/s, avg_epoch_loss=4.55]
INFO:root:Epoch[107] Elapsed time 1.324 seconds
INFO:root:Epoch[107] Evaluation metric 'epoch_loss'=4.552715
INFO:root:Epoch[108] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.51it/s, avg_epoch_loss=4.62]
INFO:root:Epoch[108] Elapsed time 1.334 seconds
INFO:root:Epoch[108] Evaluation metric 'epoch_loss'=4.622584
INFO:root:Epoch[109] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 36.83it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[109] Elapsed time 1.359 seconds
INFO:root:Epoch[109] Evaluation metric 'epoch_loss'=4.585529
INFO:root:Epoch[110] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.21it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[110] Elapsed time 1.310 seconds
INFO:root:Epoch[110] Evaluation metric 'epoch_loss'=4.604274
INFO:root:Epoch[111] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.78it/s, avg_epoch_loss=4.61]
INFO:root:Epoch[111] Elapsed time 1.324 seconds
INFO:root:Epoch[111] Evaluation metric 'epoch_loss'=4.613225
INFO:root:Epoch[112] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.12it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[112] Elapsed time 1.313 seconds
INFO:root:Epoch[112] Evaluation metric 'epoch_loss'=4.594928
INFO:root:Epoch[113] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.78it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[113] Elapsed time 1.325 seconds
INFO:root:Epoch[113] Evaluation metric 'epoch_loss'=4.597929
INFO:root:Epoch[114] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 37.09it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[114] Elapsed time 1.349 seconds
INFO:root:Epoch[114] Evaluation metric 'epoch_loss'=4.600609
INFO:root:Epoch[115] Learning rate is 0.001
100%|██████████| 50/50 [00:01<00:00, 38.23it/s, avg_epoch_loss=4.55]
INFO:root:Epoch[115] Elapsed time 1.309 seconds
INFO:root:Epoch[115] Evaluation metric 'epoch_loss'=4.554605
INFO:root:Loading parameters from best epoch (105)
INFO:root:Epoch[116] Learning rate is 0.0005
100%|██████████| 50/50 [00:01<00:00, 36.79it/s, avg_epoch_loss=4.55]
INFO:root:Epoch[116] Elapsed time 1.360 seconds
INFO:root:Epoch[116] Evaluation metric 'epoch_loss'=4.549491
INFO:root:Epoch[117] Learning rate is 0.0005
100%|██████████| 50/50 [00:01<00:00, 38.08it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[117] Elapsed time 1.314 seconds
INFO:root:Epoch[117] Evaluation metric 'epoch_loss'=4.590574
INFO:root:Epoch[118] Learning rate is 0.0005
100%|██████████| 50/50 [00:01<00:00, 37.83it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[118] Elapsed time 1.323 seconds
INFO:root:Epoch[118] Evaluation metric 'epoch_loss'=4.601432
INFO:root:Epoch[119] Learning rate is 0.0005
100%|██████████| 50/50 [00:01<00:00, 37.72it/s, avg_epoch_loss=4.62]
INFO:root:Epoch[119] Elapsed time 1.326 seconds
INFO:root:Epoch[119] Evaluation metric 'epoch_loss'=4.616829
INFO:root:Epoch[120] Learning rate is 0.0005
100%|██████████| 50/50 [00:01<00:00, 38.09it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[120] Elapsed time 1.314 seconds
INFO:root:Epoch[120] Evaluation metric 'epoch_loss'=4.586191
INFO:root:Epoch[121] Learning rate is 0.0005
100%|██████████| 50/50 [00:01<00:00, 37.93it/s, avg_epoch_loss=4.61]
INFO:root:Epoch[121] Elapsed time 1.319 seconds
INFO:root:Epoch[121] Evaluation metric 'epoch_loss'=4.614181
INFO:root:Epoch[122] Learning rate is 0.0005
100%|██████████| 50/50 [00:01<00:00, 37.43it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[122] Elapsed time 1.337 seconds
INFO:root:Epoch[122] Evaluation metric 'epoch_loss'=4.594424
INFO:root:Epoch[123] Learning rate is 0.0005
100%|██████████| 50/50 [00:01<00:00, 36.63it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[123] Elapsed time 1.367 seconds
INFO:root:Epoch[123] Evaluation metric 'epoch_loss'=4.597417
INFO:root:Epoch[124] Learning rate is 0.0005
100%|██████████| 50/50 [00:01<00:00, 38.00it/s, avg_epoch_loss=4.55]
INFO:root:Epoch[124] Elapsed time 1.317 seconds
INFO:root:Epoch[124] Evaluation metric 'epoch_loss'=4.548450
INFO:root:Epoch[125] Learning rate is 0.0005
100%|██████████| 50/50 [00:01<00:00, 35.35it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[125] Elapsed time 1.416 seconds
INFO:root:Epoch[125] Evaluation metric 'epoch_loss'=4.592809
INFO:root:Loading parameters from best epoch (105)
INFO:root:Epoch[126] Learning rate is 0.00025
100%|██████████| 50/50 [00:01<00:00, 37.00it/s, avg_epoch_loss=4.56]
INFO:root:Epoch[126] Elapsed time 1.352 seconds
INFO:root:Epoch[126] Evaluation metric 'epoch_loss'=4.564122
INFO:root:Epoch[127] Learning rate is 0.00025
100%|██████████| 50/50 [00:01<00:00, 38.23it/s, avg_epoch_loss=4.56]
INFO:root:Epoch[127] Elapsed time 1.311 seconds
INFO:root:Epoch[127] Evaluation metric 'epoch_loss'=4.564808
INFO:root:Epoch[128] Learning rate is 0.00025
100%|██████████| 50/50 [00:01<00:00, 37.97it/s, avg_epoch_loss=4.57]
INFO:root:Epoch[128] Elapsed time 1.318 seconds
INFO:root:Epoch[128] Evaluation metric 'epoch_loss'=4.574943
INFO:root:Epoch[129] Learning rate is 0.00025
100%|██████████| 50/50 [00:01<00:00, 36.69it/s, avg_epoch_loss=4.56]
INFO:root:Epoch[129] Elapsed time 1.364 seconds
INFO:root:Epoch[129] Evaluation metric 'epoch_loss'=4.560503
INFO:root:Epoch[130] Learning rate is 0.00025
100%|██████████| 50/50 [00:01<00:00, 37.92it/s, avg_epoch_loss=4.62]
INFO:root:Epoch[130] Elapsed time 1.320 seconds
INFO:root:Epoch[130] Evaluation metric 'epoch_loss'=4.624975
INFO:root:Epoch[131] Learning rate is 0.00025
100%|██████████| 50/50 [00:01<00:00, 38.24it/s, avg_epoch_loss=4.63]
INFO:root:Epoch[131] Elapsed time 1.309 seconds
INFO:root:Epoch[131] Evaluation metric 'epoch_loss'=4.633945
INFO:root:Epoch[132] Learning rate is 0.00025
100%|██████████| 50/50 [00:01<00:00, 38.28it/s, avg_epoch_loss=4.61]
INFO:root:Epoch[132] Elapsed time 1.307 seconds
INFO:root:Epoch[132] Evaluation metric 'epoch_loss'=4.606106
INFO:root:Epoch[133] Learning rate is 0.00025
100%|██████████| 50/50 [00:01<00:00, 37.84it/s, avg_epoch_loss=4.54]
INFO:root:Epoch[133] Elapsed time 1.322 seconds
INFO:root:Epoch[133] Evaluation metric 'epoch_loss'=4.537872
INFO:root:Epoch[134] Learning rate is 0.00025
100%|██████████| 50/50 [00:01<00:00, 36.29it/s, avg_epoch_loss=4.57]
INFO:root:Epoch[134] Elapsed time 1.379 seconds
INFO:root:Epoch[134] Evaluation metric 'epoch_loss'=4.573945
INFO:root:Epoch[135] Learning rate is 0.00025
100%|██████████| 50/50 [00:01<00:00, 37.08it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[135] Elapsed time 1.350 seconds
INFO:root:Epoch[135] Evaluation metric 'epoch_loss'=4.592586
INFO:root:Loading parameters from best epoch (105)
INFO:root:Epoch[136] Learning rate is 0.000125
100%|██████████| 50/50 [00:01<00:00, 38.00it/s, avg_epoch_loss=4.53]
INFO:root:Epoch[136] Elapsed time 1.317 seconds
INFO:root:Epoch[136] Evaluation metric 'epoch_loss'=4.525768
INFO:root:Epoch[137] Learning rate is 0.000125
100%|██████████| 50/50 [00:01<00:00, 38.01it/s, avg_epoch_loss=4.55]
INFO:root:Epoch[137] Elapsed time 1.316 seconds
INFO:root:Epoch[137] Evaluation metric 'epoch_loss'=4.553340
INFO:root:Epoch[138] Learning rate is 0.000125
100%|██████████| 50/50 [00:01<00:00, 38.20it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[138] Elapsed time 1.310 seconds
INFO:root:Epoch[138] Evaluation metric 'epoch_loss'=4.588766
INFO:root:Epoch[139] Learning rate is 0.000125
100%|██████████| 50/50 [00:01<00:00, 37.83it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[139] Elapsed time 1.323 seconds
INFO:root:Epoch[139] Evaluation metric 'epoch_loss'=4.593056
INFO:root:Epoch[140] Learning rate is 0.000125
100%|██████████| 50/50 [00:01<00:00, 38.26it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[140] Elapsed time 1.308 seconds
INFO:root:Epoch[140] Evaluation metric 'epoch_loss'=4.603639
INFO:root:Epoch[141] Learning rate is 0.000125
100%|██████████| 50/50 [00:01<00:00, 37.93it/s, avg_epoch_loss=4.61]
INFO:root:Epoch[141] Elapsed time 1.319 seconds
INFO:root:Epoch[141] Evaluation metric 'epoch_loss'=4.608594
INFO:root:Epoch[142] Learning rate is 0.000125
100%|██████████| 50/50 [00:01<00:00, 38.18it/s, avg_epoch_loss=4.61]
INFO:root:Epoch[142] Elapsed time 1.311 seconds
INFO:root:Epoch[142] Evaluation metric 'epoch_loss'=4.609249
INFO:root:Epoch[143] Learning rate is 0.000125
100%|██████████| 50/50 [00:01<00:00, 37.98it/s, avg_epoch_loss=4.62]
INFO:root:Epoch[143] Elapsed time 1.318 seconds
INFO:root:Epoch[143] Evaluation metric 'epoch_loss'=4.622874
INFO:root:Epoch[144] Learning rate is 0.000125
100%|██████████| 50/50 [00:01<00:00, 38.28it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[144] Elapsed time 1.307 seconds
INFO:root:Epoch[144] Evaluation metric 'epoch_loss'=4.596835
INFO:root:Epoch[145] Learning rate is 0.000125
100%|██████████| 50/50 [00:01<00:00, 37.96it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[145] Elapsed time 1.318 seconds
INFO:root:Epoch[145] Evaluation metric 'epoch_loss'=4.603448
INFO:root:Loading parameters from best epoch (105)
INFO:root:Epoch[146] Learning rate is 6.25e-05
100%|██████████| 50/50 [00:01<00:00, 38.41it/s, avg_epoch_loss=4.51]
INFO:root:Epoch[146] Elapsed time 1.303 seconds
INFO:root:Epoch[146] Evaluation metric 'epoch_loss'=4.507017
INFO:root:Epoch[147] Learning rate is 6.25e-05
100%|██████████| 50/50 [00:01<00:00, 37.81it/s, avg_epoch_loss=4.53]
INFO:root:Epoch[147] Elapsed time 1.324 seconds
INFO:root:Epoch[147] Evaluation metric 'epoch_loss'=4.529270
INFO:root:Epoch[148] Learning rate is 6.25e-05
100%|██████████| 50/50 [00:01<00:00, 38.16it/s, avg_epoch_loss=4.55]
INFO:root:Epoch[148] Elapsed time 1.311 seconds
INFO:root:Epoch[148] Evaluation metric 'epoch_loss'=4.550545
INFO:root:Epoch[149] Learning rate is 6.25e-05
100%|██████████| 50/50 [00:01<00:00, 38.29it/s, avg_epoch_loss=4.56]
INFO:root:Epoch[149] Elapsed time 1.307 seconds
INFO:root:Epoch[149] Evaluation metric 'epoch_loss'=4.563610
INFO:root:Epoch[150] Learning rate is 6.25e-05
100%|██████████| 50/50 [00:01<00:00, 38.01it/s, avg_epoch_loss=4.57]
INFO:root:Epoch[150] Elapsed time 1.317 seconds
INFO:root:Epoch[150] Evaluation metric 'epoch_loss'=4.573600
INFO:root:Epoch[151] Learning rate is 6.25e-05
100%|██████████| 50/50 [00:01<00:00, 38.26it/s, avg_epoch_loss=4.58]
INFO:root:Epoch[151] Elapsed time 1.308 seconds
INFO:root:Epoch[151] Evaluation metric 'epoch_loss'=4.584253
INFO:root:Epoch[152] Learning rate is 6.25e-05
100%|██████████| 50/50 [00:01<00:00, 37.08it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[152] Elapsed time 1.349 seconds
INFO:root:Epoch[152] Evaluation metric 'epoch_loss'=4.597191
INFO:root:Epoch[153] Learning rate is 6.25e-05
100%|██████████| 50/50 [00:01<00:00, 38.35it/s, avg_epoch_loss=4.57]
INFO:root:Epoch[153] Elapsed time 1.305 seconds
INFO:root:Epoch[153] Evaluation metric 'epoch_loss'=4.574356
INFO:root:Epoch[154] Learning rate is 6.25e-05
100%|██████████| 50/50 [00:01<00:00, 37.94it/s, avg_epoch_loss=4.57]
INFO:root:Epoch[154] Elapsed time 1.320 seconds
INFO:root:Epoch[154] Evaluation metric 'epoch_loss'=4.573986
INFO:root:Epoch[155] Learning rate is 6.25e-05
100%|██████████| 50/50 [00:01<00:00, 37.38it/s, avg_epoch_loss=4.57]
INFO:root:Epoch[155] Elapsed time 1.339 seconds
INFO:root:Epoch[155] Evaluation metric 'epoch_loss'=4.566566
INFO:root:Epoch[156] Learning rate is 6.25e-05
100%|██████████| 50/50 [00:01<00:00, 37.99it/s, avg_epoch_loss=4.56]
INFO:root:Epoch[156] Elapsed time 1.317 seconds
INFO:root:Epoch[156] Evaluation metric 'epoch_loss'=4.557888
INFO:root:Loading parameters from best epoch (146)
INFO:root:Epoch[157] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.49it/s, avg_epoch_loss=4.54]
INFO:root:Epoch[157] Elapsed time 1.335 seconds
INFO:root:Epoch[157] Evaluation metric 'epoch_loss'=4.541591
INFO:root:Epoch[158] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.54it/s, avg_epoch_loss=4.56]
INFO:root:Epoch[158] Elapsed time 1.298 seconds
INFO:root:Epoch[158] Evaluation metric 'epoch_loss'=4.560204
INFO:root:Epoch[159] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.04it/s, avg_epoch_loss=4.58]
INFO:root:Epoch[159] Elapsed time 1.316 seconds
INFO:root:Epoch[159] Evaluation metric 'epoch_loss'=4.575210
INFO:root:Epoch[160] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.98it/s, avg_epoch_loss=4.61]
INFO:root:Epoch[160] Elapsed time 1.318 seconds
INFO:root:Epoch[160] Evaluation metric 'epoch_loss'=4.607135
INFO:root:Epoch[161] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.85it/s, avg_epoch_loss=4.58]
INFO:root:Epoch[161] Elapsed time 1.322 seconds
INFO:root:Epoch[161] Evaluation metric 'epoch_loss'=4.576488
INFO:root:Epoch[162] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.04it/s, avg_epoch_loss=4.57]
INFO:root:Epoch[162] Elapsed time 1.315 seconds
INFO:root:Epoch[162] Evaluation metric 'epoch_loss'=4.572619
INFO:root:Epoch[163] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.16it/s, avg_epoch_loss=4.61]
INFO:root:Epoch[163] Elapsed time 1.312 seconds
INFO:root:Epoch[163] Evaluation metric 'epoch_loss'=4.610960
INFO:root:Epoch[164] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 35.95it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[164] Elapsed time 1.392 seconds
INFO:root:Epoch[164] Evaluation metric 'epoch_loss'=4.599395
INFO:root:Epoch[165] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.23it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[165] Elapsed time 1.344 seconds
INFO:root:Epoch[165] Evaluation metric 'epoch_loss'=4.602174
INFO:root:Epoch[166] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.14it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[166] Elapsed time 1.312 seconds
INFO:root:Epoch[166] Evaluation metric 'epoch_loss'=4.597454
INFO:root:Epoch[167] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.28it/s, avg_epoch_loss=4.62]
INFO:root:Epoch[167] Elapsed time 1.307 seconds
INFO:root:Epoch[167] Evaluation metric 'epoch_loss'=4.620354
INFO:root:Epoch[168] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.74it/s, avg_epoch_loss=4.61]
INFO:root:Epoch[168] Elapsed time 1.326 seconds
INFO:root:Epoch[168] Evaluation metric 'epoch_loss'=4.607277
INFO:root:Epoch[169] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.10it/s, avg_epoch_loss=4.62]
INFO:root:Epoch[169] Elapsed time 1.313 seconds
INFO:root:Epoch[169] Evaluation metric 'epoch_loss'=4.619828
INFO:root:Epoch[170] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.07it/s, avg_epoch_loss=4.64]
INFO:root:Epoch[170] Elapsed time 1.315 seconds
INFO:root:Epoch[170] Evaluation metric 'epoch_loss'=4.640945
INFO:root:Epoch[171] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.11it/s, avg_epoch_loss=4.64]
INFO:root:Epoch[171] Elapsed time 1.313 seconds
INFO:root:Epoch[171] Evaluation metric 'epoch_loss'=4.641851
INFO:root:Epoch[172] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.01it/s, avg_epoch_loss=4.62]
INFO:root:Epoch[172] Elapsed time 1.316 seconds
INFO:root:Epoch[172] Evaluation metric 'epoch_loss'=4.623894
INFO:root:Epoch[173] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.15it/s, avg_epoch_loss=4.63]
INFO:root:Epoch[173] Elapsed time 1.347 seconds
INFO:root:Epoch[173] Evaluation metric 'epoch_loss'=4.627985
INFO:root:Epoch[174] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.75it/s, avg_epoch_loss=4.61]
INFO:root:Epoch[174] Elapsed time 1.326 seconds
INFO:root:Epoch[174] Evaluation metric 'epoch_loss'=4.614293
INFO:root:Epoch[175] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.97it/s, avg_epoch_loss=4.63]
INFO:root:Epoch[175] Elapsed time 1.318 seconds
INFO:root:Epoch[175] Evaluation metric 'epoch_loss'=4.634464
INFO:root:Epoch[176] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.97it/s, avg_epoch_loss=4.61]
INFO:root:Epoch[176] Elapsed time 1.318 seconds
INFO:root:Epoch[176] Evaluation metric 'epoch_loss'=4.606593
INFO:root:Epoch[177] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.08it/s, avg_epoch_loss=4.61]
INFO:root:Epoch[177] Elapsed time 1.314 seconds
INFO:root:Epoch[177] Evaluation metric 'epoch_loss'=4.610968
INFO:root:Epoch[178] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.17it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[178] Elapsed time 1.347 seconds
INFO:root:Epoch[178] Evaluation metric 'epoch_loss'=4.595004
INFO:root:Epoch[179] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.80it/s, avg_epoch_loss=4.61]
INFO:root:Epoch[179] Elapsed time 1.324 seconds
INFO:root:Epoch[179] Evaluation metric 'epoch_loss'=4.614454
INFO:root:Epoch[180] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 36.11it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[180] Elapsed time 1.386 seconds
INFO:root:Epoch[180] Evaluation metric 'epoch_loss'=4.598987
INFO:root:Epoch[181] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.07it/s, avg_epoch_loss=4.64]
INFO:root:Epoch[181] Elapsed time 1.314 seconds
INFO:root:Epoch[181] Evaluation metric 'epoch_loss'=4.635533
INFO:root:Epoch[182] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.63it/s, avg_epoch_loss=4.63]
INFO:root:Epoch[182] Elapsed time 1.330 seconds
INFO:root:Epoch[182] Evaluation metric 'epoch_loss'=4.633949
INFO:root:Epoch[183] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.81it/s, avg_epoch_loss=4.63]
INFO:root:Epoch[183] Elapsed time 1.323 seconds
INFO:root:Epoch[183] Evaluation metric 'epoch_loss'=4.631888
INFO:root:Epoch[184] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.02it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[184] Elapsed time 1.316 seconds
INFO:root:Epoch[184] Evaluation metric 'epoch_loss'=4.604786
INFO:root:Epoch[185] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.26it/s, avg_epoch_loss=4.63]
INFO:root:Epoch[185] Elapsed time 1.308 seconds
INFO:root:Epoch[185] Evaluation metric 'epoch_loss'=4.626025
INFO:root:Epoch[186] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.41it/s, avg_epoch_loss=4.64]
INFO:root:Epoch[186] Elapsed time 1.338 seconds
INFO:root:Epoch[186] Evaluation metric 'epoch_loss'=4.640892
INFO:root:Epoch[187] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 36.99it/s, avg_epoch_loss=4.64]
INFO:root:Epoch[187] Elapsed time 1.353 seconds
INFO:root:Epoch[187] Evaluation metric 'epoch_loss'=4.637912
INFO:root:Epoch[188] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.12it/s, avg_epoch_loss=4.62]
INFO:root:Epoch[188] Elapsed time 1.313 seconds
INFO:root:Epoch[188] Evaluation metric 'epoch_loss'=4.623628
INFO:root:Epoch[189] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.19it/s, avg_epoch_loss=4.62]
INFO:root:Epoch[189] Elapsed time 1.310 seconds
INFO:root:Epoch[189] Evaluation metric 'epoch_loss'=4.623069
INFO:root:Epoch[190] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.98it/s, avg_epoch_loss=4.63]
INFO:root:Epoch[190] Elapsed time 1.317 seconds
INFO:root:Epoch[190] Evaluation metric 'epoch_loss'=4.628880
INFO:root:Epoch[191] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.43it/s, avg_epoch_loss=4.61]
INFO:root:Epoch[191] Elapsed time 1.337 seconds
INFO:root:Epoch[191] Evaluation metric 'epoch_loss'=4.611961
INFO:root:Epoch[192] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.97it/s, avg_epoch_loss=4.63]
INFO:root:Epoch[192] Elapsed time 1.318 seconds
INFO:root:Epoch[192] Evaluation metric 'epoch_loss'=4.629516
INFO:root:Epoch[193] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.43it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[193] Elapsed time 1.337 seconds
INFO:root:Epoch[193] Evaluation metric 'epoch_loss'=4.604615
INFO:root:Epoch[194] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.47it/s, avg_epoch_loss=4.58]
INFO:root:Epoch[194] Elapsed time 1.336 seconds
INFO:root:Epoch[194] Evaluation metric 'epoch_loss'=4.583448
INFO:root:Epoch[195] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 36.07it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[195] Elapsed time 1.387 seconds
INFO:root:Epoch[195] Evaluation metric 'epoch_loss'=4.602978
INFO:root:Epoch[196] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.19it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[196] Elapsed time 1.345 seconds
INFO:root:Epoch[196] Evaluation metric 'epoch_loss'=4.589526
INFO:root:Epoch[197] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.85it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[197] Elapsed time 1.322 seconds
INFO:root:Epoch[197] Evaluation metric 'epoch_loss'=4.600853
INFO:root:Epoch[198] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.93it/s, avg_epoch_loss=4.61]
INFO:root:Epoch[198] Elapsed time 1.319 seconds
INFO:root:Epoch[198] Evaluation metric 'epoch_loss'=4.608878
INFO:root:Epoch[199] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.22it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[199] Elapsed time 1.310 seconds
INFO:root:Epoch[199] Evaluation metric 'epoch_loss'=4.592250
INFO:root:Epoch[200] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.95it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[200] Elapsed time 1.319 seconds
INFO:root:Epoch[200] Evaluation metric 'epoch_loss'=4.589943
INFO:root:Epoch[201] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.08it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[201] Elapsed time 1.314 seconds
INFO:root:Epoch[201] Evaluation metric 'epoch_loss'=4.602462
INFO:root:Epoch[202] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.30it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[202] Elapsed time 1.306 seconds
INFO:root:Epoch[202] Evaluation metric 'epoch_loss'=4.603992
INFO:root:Epoch[203] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.07it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[203] Elapsed time 1.315 seconds
INFO:root:Epoch[203] Evaluation metric 'epoch_loss'=4.598712
INFO:root:Epoch[204] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 36.53it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[204] Elapsed time 1.370 seconds
INFO:root:Epoch[204] Evaluation metric 'epoch_loss'=4.601558
INFO:root:Epoch[205] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.82it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[205] Elapsed time 1.323 seconds
INFO:root:Epoch[205] Evaluation metric 'epoch_loss'=4.588060
INFO:root:Epoch[206] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.26it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[206] Elapsed time 1.308 seconds
INFO:root:Epoch[206] Evaluation metric 'epoch_loss'=4.603345
INFO:root:Epoch[207] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.03it/s, avg_epoch_loss=4.58]
INFO:root:Epoch[207] Elapsed time 1.316 seconds
INFO:root:Epoch[207] Evaluation metric 'epoch_loss'=4.579764
INFO:root:Epoch[208] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.28it/s, avg_epoch_loss=4.58]
INFO:root:Epoch[208] Elapsed time 1.307 seconds
INFO:root:Epoch[208] Evaluation metric 'epoch_loss'=4.581412
INFO:root:Epoch[209] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.29it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[209] Elapsed time 1.307 seconds
INFO:root:Epoch[209] Evaluation metric 'epoch_loss'=4.599639
INFO:root:Epoch[210] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.98it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[210] Elapsed time 1.318 seconds
INFO:root:Epoch[210] Evaluation metric 'epoch_loss'=4.595175
INFO:root:Epoch[211] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.48it/s, avg_epoch_loss=4.61]
INFO:root:Epoch[211] Elapsed time 1.301 seconds
INFO:root:Epoch[211] Evaluation metric 'epoch_loss'=4.607399
INFO:root:Epoch[212] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.77it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[212] Elapsed time 1.325 seconds
INFO:root:Epoch[212] Evaluation metric 'epoch_loss'=4.601523
INFO:root:Epoch[213] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.94it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[213] Elapsed time 1.319 seconds
INFO:root:Epoch[213] Evaluation metric 'epoch_loss'=4.602145
INFO:root:Epoch[214] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 36.88it/s, avg_epoch_loss=4.61]
INFO:root:Epoch[214] Elapsed time 1.357 seconds
INFO:root:Epoch[214] Evaluation metric 'epoch_loss'=4.606978
INFO:root:Epoch[215] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.54it/s, avg_epoch_loss=4.61]
INFO:root:Epoch[215] Elapsed time 1.333 seconds
INFO:root:Epoch[215] Evaluation metric 'epoch_loss'=4.610485
INFO:root:Epoch[216] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.02it/s, avg_epoch_loss=4.62]
INFO:root:Epoch[216] Elapsed time 1.316 seconds
INFO:root:Epoch[216] Evaluation metric 'epoch_loss'=4.621434
INFO:root:Epoch[217] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.93it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[217] Elapsed time 1.319 seconds
INFO:root:Epoch[217] Evaluation metric 'epoch_loss'=4.587259
INFO:root:Epoch[218] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.50it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[218] Elapsed time 1.335 seconds
INFO:root:Epoch[218] Evaluation metric 'epoch_loss'=4.604383
INFO:root:Epoch[219] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.97it/s, avg_epoch_loss=4.63]
INFO:root:Epoch[219] Elapsed time 1.318 seconds
INFO:root:Epoch[219] Evaluation metric 'epoch_loss'=4.631557
INFO:root:Epoch[220] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.90it/s, avg_epoch_loss=4.62]
INFO:root:Epoch[220] Elapsed time 1.321 seconds
INFO:root:Epoch[220] Evaluation metric 'epoch_loss'=4.624233
INFO:root:Epoch[221] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.73it/s, avg_epoch_loss=4.62]
INFO:root:Epoch[221] Elapsed time 1.326 seconds
INFO:root:Epoch[221] Evaluation metric 'epoch_loss'=4.621551
INFO:root:Epoch[222] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.10it/s, avg_epoch_loss=4.62]
INFO:root:Epoch[222] Elapsed time 1.349 seconds
INFO:root:Epoch[222] Evaluation metric 'epoch_loss'=4.621503
INFO:root:Epoch[223] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.09it/s, avg_epoch_loss=4.63]
INFO:root:Epoch[223] Elapsed time 1.314 seconds
INFO:root:Epoch[223] Evaluation metric 'epoch_loss'=4.627906
INFO:root:Epoch[224] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 36.13it/s, avg_epoch_loss=4.64]
INFO:root:Epoch[224] Elapsed time 1.385 seconds
INFO:root:Epoch[224] Evaluation metric 'epoch_loss'=4.635194
INFO:root:Epoch[225] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 36.89it/s, avg_epoch_loss=4.61]
INFO:root:Epoch[225] Elapsed time 1.357 seconds
INFO:root:Epoch[225] Evaluation metric 'epoch_loss'=4.605487
INFO:root:Epoch[226] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.72it/s, avg_epoch_loss=4.61]
INFO:root:Epoch[226] Elapsed time 1.327 seconds
INFO:root:Epoch[226] Evaluation metric 'epoch_loss'=4.606574
INFO:root:Epoch[227] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 36.04it/s, avg_epoch_loss=4.62]
INFO:root:Epoch[227] Elapsed time 1.389 seconds
INFO:root:Epoch[227] Evaluation metric 'epoch_loss'=4.615854
INFO:root:Epoch[228] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.38it/s, avg_epoch_loss=4.61]
INFO:root:Epoch[228] Elapsed time 1.339 seconds
INFO:root:Epoch[228] Evaluation metric 'epoch_loss'=4.612340
INFO:root:Epoch[229] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.21it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[229] Elapsed time 1.310 seconds
INFO:root:Epoch[229] Evaluation metric 'epoch_loss'=4.593016
INFO:root:Epoch[230] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.11it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[230] Elapsed time 1.313 seconds
INFO:root:Epoch[230] Evaluation metric 'epoch_loss'=4.596457
INFO:root:Epoch[231] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.80it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[231] Elapsed time 1.324 seconds
INFO:root:Epoch[231] Evaluation metric 'epoch_loss'=4.591155
INFO:root:Epoch[232] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.29it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[232] Elapsed time 1.307 seconds
INFO:root:Epoch[232] Evaluation metric 'epoch_loss'=4.592328
INFO:root:Epoch[233] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.10it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[233] Elapsed time 1.313 seconds
INFO:root:Epoch[233] Evaluation metric 'epoch_loss'=4.587908
INFO:root:Epoch[234] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.96it/s, avg_epoch_loss=4.57]
INFO:root:Epoch[234] Elapsed time 1.318 seconds
INFO:root:Epoch[234] Evaluation metric 'epoch_loss'=4.572491
INFO:root:Epoch[235] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.12it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[235] Elapsed time 1.313 seconds
INFO:root:Epoch[235] Evaluation metric 'epoch_loss'=4.589817
INFO:root:Epoch[236] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.23it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[236] Elapsed time 1.309 seconds
INFO:root:Epoch[236] Evaluation metric 'epoch_loss'=4.595751
INFO:root:Epoch[237] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.75it/s, avg_epoch_loss=4.57]
INFO:root:Epoch[237] Elapsed time 1.326 seconds
INFO:root:Epoch[237] Evaluation metric 'epoch_loss'=4.574610
INFO:root:Epoch[238] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.43it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[238] Elapsed time 1.337 seconds
INFO:root:Epoch[238] Evaluation metric 'epoch_loss'=4.595426
INFO:root:Epoch[239] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 36.89it/s, avg_epoch_loss=4.57]
INFO:root:Epoch[239] Elapsed time 1.356 seconds
INFO:root:Epoch[239] Evaluation metric 'epoch_loss'=4.570807
INFO:root:Epoch[240] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.13it/s, avg_epoch_loss=4.58]
INFO:root:Epoch[240] Elapsed time 1.312 seconds
INFO:root:Epoch[240] Evaluation metric 'epoch_loss'=4.578699
INFO:root:Epoch[241] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.84it/s, avg_epoch_loss=4.56]
INFO:root:Epoch[241] Elapsed time 1.322 seconds
INFO:root:Epoch[241] Evaluation metric 'epoch_loss'=4.555740
INFO:root:Epoch[242] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.78it/s, avg_epoch_loss=4.56]
INFO:root:Epoch[242] Elapsed time 1.324 seconds
INFO:root:Epoch[242] Evaluation metric 'epoch_loss'=4.562517
INFO:root:Epoch[243] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.92it/s, avg_epoch_loss=4.54]
INFO:root:Epoch[243] Elapsed time 1.320 seconds
INFO:root:Epoch[243] Evaluation metric 'epoch_loss'=4.542842
INFO:root:Epoch[244] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.53it/s, avg_epoch_loss=4.57]
INFO:root:Epoch[244] Elapsed time 1.334 seconds
INFO:root:Epoch[244] Evaluation metric 'epoch_loss'=4.574745
INFO:root:Epoch[245] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.98it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[245] Elapsed time 1.318 seconds
INFO:root:Epoch[245] Evaluation metric 'epoch_loss'=4.588850
INFO:root:Epoch[246] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.83it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[246] Elapsed time 1.323 seconds
INFO:root:Epoch[246] Evaluation metric 'epoch_loss'=4.596631
INFO:root:Epoch[247] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.79it/s, avg_epoch_loss=4.61]
INFO:root:Epoch[247] Elapsed time 1.324 seconds
INFO:root:Epoch[247] Evaluation metric 'epoch_loss'=4.607193
INFO:root:Epoch[248] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.94it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[248] Elapsed time 1.319 seconds
INFO:root:Epoch[248] Evaluation metric 'epoch_loss'=4.591985
INFO:root:Epoch[249] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.97it/s, avg_epoch_loss=4.61]
INFO:root:Epoch[249] Elapsed time 1.318 seconds
INFO:root:Epoch[249] Evaluation metric 'epoch_loss'=4.605927
INFO:root:Epoch[250] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.68it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[250] Elapsed time 1.328 seconds
INFO:root:Epoch[250] Evaluation metric 'epoch_loss'=4.590263
INFO:root:Epoch[251] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.32it/s, avg_epoch_loss=4.57]
INFO:root:Epoch[251] Elapsed time 1.306 seconds
INFO:root:Epoch[251] Evaluation metric 'epoch_loss'=4.573549
INFO:root:Epoch[252] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.84it/s, avg_epoch_loss=4.57]
INFO:root:Epoch[252] Elapsed time 1.323 seconds
INFO:root:Epoch[252] Evaluation metric 'epoch_loss'=4.568588
INFO:root:Epoch[253] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.02it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[253] Elapsed time 1.316 seconds
INFO:root:Epoch[253] Evaluation metric 'epoch_loss'=4.600277
INFO:root:Epoch[254] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.76it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[254] Elapsed time 1.325 seconds
INFO:root:Epoch[254] Evaluation metric 'epoch_loss'=4.592477
INFO:root:Epoch[255] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 36.04it/s, avg_epoch_loss=4.63]
INFO:root:Epoch[255] Elapsed time 1.388 seconds
INFO:root:Epoch[255] Evaluation metric 'epoch_loss'=4.627130
INFO:root:Epoch[256] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.84it/s, avg_epoch_loss=4.61]
INFO:root:Epoch[256] Elapsed time 1.322 seconds
INFO:root:Epoch[256] Evaluation metric 'epoch_loss'=4.613559
INFO:root:Epoch[257] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.05it/s, avg_epoch_loss=4.62]
INFO:root:Epoch[257] Elapsed time 1.315 seconds
INFO:root:Epoch[257] Evaluation metric 'epoch_loss'=4.618084
INFO:root:Epoch[258] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.23it/s, avg_epoch_loss=4.62]
INFO:root:Epoch[258] Elapsed time 1.309 seconds
INFO:root:Epoch[258] Evaluation metric 'epoch_loss'=4.619146
INFO:root:Epoch[259] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.64it/s, avg_epoch_loss=4.62]
INFO:root:Epoch[259] Elapsed time 1.330 seconds
INFO:root:Epoch[259] Evaluation metric 'epoch_loss'=4.622312
INFO:root:Epoch[260] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.06it/s, avg_epoch_loss=4.61]
INFO:root:Epoch[260] Elapsed time 1.315 seconds
INFO:root:Epoch[260] Evaluation metric 'epoch_loss'=4.608447
INFO:root:Epoch[261] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.84it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[261] Elapsed time 1.322 seconds
INFO:root:Epoch[261] Evaluation metric 'epoch_loss'=4.593912
INFO:root:Epoch[262] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.20it/s, avg_epoch_loss=4.58]
INFO:root:Epoch[262] Elapsed time 1.310 seconds
INFO:root:Epoch[262] Evaluation metric 'epoch_loss'=4.583810
INFO:root:Epoch[263] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.17it/s, avg_epoch_loss=4.58]
INFO:root:Epoch[263] Elapsed time 1.311 seconds
INFO:root:Epoch[263] Evaluation metric 'epoch_loss'=4.579088
INFO:root:Epoch[264] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.34it/s, avg_epoch_loss=4.58]
INFO:root:Epoch[264] Elapsed time 1.305 seconds
INFO:root:Epoch[264] Evaluation metric 'epoch_loss'=4.580090
INFO:root:Epoch[265] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.93it/s, avg_epoch_loss=4.56]
INFO:root:Epoch[265] Elapsed time 1.319 seconds
INFO:root:Epoch[265] Evaluation metric 'epoch_loss'=4.564237
INFO:root:Epoch[266] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.88it/s, avg_epoch_loss=4.56]
INFO:root:Epoch[266] Elapsed time 1.321 seconds
INFO:root:Epoch[266] Evaluation metric 'epoch_loss'=4.560609
INFO:root:Epoch[267] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.42it/s, avg_epoch_loss=4.58]
INFO:root:Epoch[267] Elapsed time 1.337 seconds
INFO:root:Epoch[267] Evaluation metric 'epoch_loss'=4.581256
INFO:root:Epoch[268] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 35.62it/s, avg_epoch_loss=4.58]
INFO:root:Epoch[268] Elapsed time 1.405 seconds
INFO:root:Epoch[268] Evaluation metric 'epoch_loss'=4.579469
INFO:root:Epoch[269] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.68it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[269] Elapsed time 1.328 seconds
INFO:root:Epoch[269] Evaluation metric 'epoch_loss'=4.590540
INFO:root:Epoch[270] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.39it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[270] Elapsed time 1.338 seconds
INFO:root:Epoch[270] Evaluation metric 'epoch_loss'=4.601984
INFO:root:Epoch[271] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.65it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[271] Elapsed time 1.295 seconds
INFO:root:Epoch[271] Evaluation metric 'epoch_loss'=4.587665
INFO:root:Epoch[272] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.11it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[272] Elapsed time 1.313 seconds
INFO:root:Epoch[272] Evaluation metric 'epoch_loss'=4.590703
INFO:root:Epoch[273] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 34.33it/s, avg_epoch_loss=4.63]
INFO:root:Epoch[273] Elapsed time 1.458 seconds
INFO:root:Epoch[273] Evaluation metric 'epoch_loss'=4.632264
INFO:root:Epoch[274] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.68it/s, avg_epoch_loss=4.61]
INFO:root:Epoch[274] Elapsed time 1.328 seconds
INFO:root:Epoch[274] Evaluation metric 'epoch_loss'=4.612358
INFO:root:Epoch[275] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.96it/s, avg_epoch_loss=4.57]
INFO:root:Epoch[275] Elapsed time 1.318 seconds
INFO:root:Epoch[275] Evaluation metric 'epoch_loss'=4.572495
INFO:root:Epoch[276] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.34it/s, avg_epoch_loss=4.57]
INFO:root:Epoch[276] Elapsed time 1.305 seconds
INFO:root:Epoch[276] Evaluation metric 'epoch_loss'=4.568336
INFO:root:Epoch[277] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.01it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[277] Elapsed time 1.317 seconds
INFO:root:Epoch[277] Evaluation metric 'epoch_loss'=4.585331
INFO:root:Epoch[278] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.93it/s, avg_epoch_loss=4.57]
INFO:root:Epoch[278] Elapsed time 1.320 seconds
INFO:root:Epoch[278] Evaluation metric 'epoch_loss'=4.565863
INFO:root:Epoch[279] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.39it/s, avg_epoch_loss=4.58]
INFO:root:Epoch[279] Elapsed time 1.338 seconds
INFO:root:Epoch[279] Evaluation metric 'epoch_loss'=4.576863
INFO:root:Epoch[280] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.62it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[280] Elapsed time 1.330 seconds
INFO:root:Epoch[280] Evaluation metric 'epoch_loss'=4.589273
INFO:root:Epoch[281] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.52it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[281] Elapsed time 1.334 seconds
INFO:root:Epoch[281] Evaluation metric 'epoch_loss'=4.592349
INFO:root:Epoch[282] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.70it/s, avg_epoch_loss=4.57]
INFO:root:Epoch[282] Elapsed time 1.328 seconds
INFO:root:Epoch[282] Evaluation metric 'epoch_loss'=4.565411
INFO:root:Epoch[283] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.00it/s, avg_epoch_loss=4.55]
INFO:root:Epoch[283] Elapsed time 1.317 seconds
INFO:root:Epoch[283] Evaluation metric 'epoch_loss'=4.554517
INFO:root:Epoch[284] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.37it/s, avg_epoch_loss=4.57]
INFO:root:Epoch[284] Elapsed time 1.304 seconds
INFO:root:Epoch[284] Evaluation metric 'epoch_loss'=4.572880
INFO:root:Epoch[285] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.69it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[285] Elapsed time 1.328 seconds
INFO:root:Epoch[285] Evaluation metric 'epoch_loss'=4.603289
INFO:root:Epoch[286] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.10it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[286] Elapsed time 1.313 seconds
INFO:root:Epoch[286] Evaluation metric 'epoch_loss'=4.586052
INFO:root:Epoch[287] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.72it/s, avg_epoch_loss=4.57]
INFO:root:Epoch[287] Elapsed time 1.327 seconds
INFO:root:Epoch[287] Evaluation metric 'epoch_loss'=4.573915
INFO:root:Epoch[288] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.24it/s, avg_epoch_loss=4.61]
INFO:root:Epoch[288] Elapsed time 1.344 seconds
INFO:root:Epoch[288] Evaluation metric 'epoch_loss'=4.609423
INFO:root:Epoch[289] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.15it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[289] Elapsed time 1.312 seconds
INFO:root:Epoch[289] Evaluation metric 'epoch_loss'=4.585545
INFO:root:Epoch[290] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.48it/s, avg_epoch_loss=4.62]
INFO:root:Epoch[290] Elapsed time 1.335 seconds
INFO:root:Epoch[290] Evaluation metric 'epoch_loss'=4.618311
INFO:root:Epoch[291] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.20it/s, avg_epoch_loss=4.58]
INFO:root:Epoch[291] Elapsed time 1.310 seconds
INFO:root:Epoch[291] Evaluation metric 'epoch_loss'=4.582074
INFO:root:Epoch[292] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.18it/s, avg_epoch_loss=4.58]
INFO:root:Epoch[292] Elapsed time 1.311 seconds
INFO:root:Epoch[292] Evaluation metric 'epoch_loss'=4.584654
INFO:root:Epoch[293] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.97it/s, avg_epoch_loss=4.56]
INFO:root:Epoch[293] Elapsed time 1.318 seconds
INFO:root:Epoch[293] Evaluation metric 'epoch_loss'=4.561264
INFO:root:Epoch[294] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.95it/s, avg_epoch_loss=4.56]
INFO:root:Epoch[294] Elapsed time 1.319 seconds
INFO:root:Epoch[294] Evaluation metric 'epoch_loss'=4.561681
INFO:root:Epoch[295] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 36.82it/s, avg_epoch_loss=4.57]
INFO:root:Epoch[295] Elapsed time 1.360 seconds
INFO:root:Epoch[295] Evaluation metric 'epoch_loss'=4.572061
INFO:root:Epoch[296] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.31it/s, avg_epoch_loss=4.56]
INFO:root:Epoch[296] Elapsed time 1.306 seconds
INFO:root:Epoch[296] Evaluation metric 'epoch_loss'=4.556290
INFO:root:Epoch[297] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.21it/s, avg_epoch_loss=4.6]
INFO:root:Epoch[297] Elapsed time 1.310 seconds
INFO:root:Epoch[297] Evaluation metric 'epoch_loss'=4.600985
INFO:root:Epoch[298] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.05it/s, avg_epoch_loss=4.57]
INFO:root:Epoch[298] Elapsed time 1.315 seconds
INFO:root:Epoch[298] Evaluation metric 'epoch_loss'=4.565790
INFO:root:Epoch[299] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 36.43it/s, avg_epoch_loss=4.58]
INFO:root:Epoch[299] Elapsed time 1.374 seconds
INFO:root:Epoch[299] Evaluation metric 'epoch_loss'=4.583212
INFO:root:Epoch[300] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.73it/s, avg_epoch_loss=4.57]
INFO:root:Epoch[300] Elapsed time 1.326 seconds
INFO:root:Epoch[300] Evaluation metric 'epoch_loss'=4.574852
INFO:root:Epoch[301] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 35.51it/s, avg_epoch_loss=4.58]
INFO:root:Epoch[301] Elapsed time 1.409 seconds
INFO:root:Epoch[301] Evaluation metric 'epoch_loss'=4.583263
INFO:root:Epoch[302] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.40it/s, avg_epoch_loss=4.57]
INFO:root:Epoch[302] Elapsed time 1.338 seconds
INFO:root:Epoch[302] Evaluation metric 'epoch_loss'=4.570458
INFO:root:Epoch[303] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.55it/s, avg_epoch_loss=4.56]
INFO:root:Epoch[303] Elapsed time 1.333 seconds
INFO:root:Epoch[303] Evaluation metric 'epoch_loss'=4.555145
INFO:root:Epoch[304] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.37it/s, avg_epoch_loss=4.55]
INFO:root:Epoch[304] Elapsed time 1.339 seconds
INFO:root:Epoch[304] Evaluation metric 'epoch_loss'=4.551153
INFO:root:Epoch[305] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.85it/s, avg_epoch_loss=4.59]
INFO:root:Epoch[305] Elapsed time 1.322 seconds
INFO:root:Epoch[305] Evaluation metric 'epoch_loss'=4.586620
INFO:root:Epoch[306] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.59it/s, avg_epoch_loss=4.56]
INFO:root:Epoch[306] Elapsed time 1.331 seconds
INFO:root:Epoch[306] Evaluation metric 'epoch_loss'=4.557413
INFO:root:Epoch[307] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.94it/s, avg_epoch_loss=4.54]
INFO:root:Epoch[307] Elapsed time 1.319 seconds
INFO:root:Epoch[307] Evaluation metric 'epoch_loss'=4.536486
INFO:root:Epoch[308] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.95it/s, avg_epoch_loss=4.55]
INFO:root:Epoch[308] Elapsed time 1.319 seconds
INFO:root:Epoch[308] Evaluation metric 'epoch_loss'=4.548560
INFO:root:Epoch[309] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.10it/s, avg_epoch_loss=4.55]
INFO:root:Epoch[309] Elapsed time 1.313 seconds
INFO:root:Epoch[309] Evaluation metric 'epoch_loss'=4.545972
INFO:root:Epoch[310] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.26it/s, avg_epoch_loss=4.55]
INFO:root:Epoch[310] Elapsed time 1.308 seconds
INFO:root:Epoch[310] Evaluation metric 'epoch_loss'=4.553709
INFO:root:Epoch[311] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.63it/s, avg_epoch_loss=4.57]
INFO:root:Epoch[311] Elapsed time 1.330 seconds
INFO:root:Epoch[311] Evaluation metric 'epoch_loss'=4.568174
INFO:root:Epoch[312] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.58it/s, avg_epoch_loss=4.55]
INFO:root:Epoch[312] Elapsed time 1.332 seconds
INFO:root:Epoch[312] Evaluation metric 'epoch_loss'=4.552575
INFO:root:Epoch[313] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.90it/s, avg_epoch_loss=4.53]
INFO:root:Epoch[313] Elapsed time 1.321 seconds
INFO:root:Epoch[313] Evaluation metric 'epoch_loss'=4.528199
INFO:root:Epoch[314] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.86it/s, avg_epoch_loss=4.53]
INFO:root:Epoch[314] Elapsed time 1.322 seconds
INFO:root:Epoch[314] Evaluation metric 'epoch_loss'=4.534131
INFO:root:Epoch[315] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.99it/s, avg_epoch_loss=4.57]
INFO:root:Epoch[315] Elapsed time 1.317 seconds
INFO:root:Epoch[315] Evaluation metric 'epoch_loss'=4.571997
INFO:root:Epoch[316] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.97it/s, avg_epoch_loss=4.52]
INFO:root:Epoch[316] Elapsed time 1.318 seconds
INFO:root:Epoch[316] Evaluation metric 'epoch_loss'=4.523712
INFO:root:Epoch[317] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.09it/s, avg_epoch_loss=4.52]
INFO:root:Epoch[317] Elapsed time 1.314 seconds
INFO:root:Epoch[317] Evaluation metric 'epoch_loss'=4.516526
INFO:root:Epoch[318] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.99it/s, avg_epoch_loss=4.51]
INFO:root:Epoch[318] Elapsed time 1.317 seconds
INFO:root:Epoch[318] Evaluation metric 'epoch_loss'=4.510386
INFO:root:Epoch[319] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.14it/s, avg_epoch_loss=4.55]
INFO:root:Epoch[319] Elapsed time 1.312 seconds
INFO:root:Epoch[319] Evaluation metric 'epoch_loss'=4.553488
INFO:root:Epoch[320] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.75it/s, avg_epoch_loss=4.58]
INFO:root:Epoch[320] Elapsed time 1.326 seconds
INFO:root:Epoch[320] Evaluation metric 'epoch_loss'=4.575458
INFO:root:Epoch[321] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.26it/s, avg_epoch_loss=4.56]
INFO:root:Epoch[321] Elapsed time 1.308 seconds
INFO:root:Epoch[321] Evaluation metric 'epoch_loss'=4.557679
INFO:root:Epoch[322] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.47it/s, avg_epoch_loss=4.56]
INFO:root:Epoch[322] Elapsed time 1.301 seconds
INFO:root:Epoch[322] Evaluation metric 'epoch_loss'=4.555270
INFO:root:Epoch[323] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.14it/s, avg_epoch_loss=4.57]
INFO:root:Epoch[323] Elapsed time 1.312 seconds
INFO:root:Epoch[323] Evaluation metric 'epoch_loss'=4.568702
INFO:root:Epoch[324] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.83it/s, avg_epoch_loss=4.56]
INFO:root:Epoch[324] Elapsed time 1.323 seconds
INFO:root:Epoch[324] Evaluation metric 'epoch_loss'=4.562453
INFO:root:Epoch[325] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.08it/s, avg_epoch_loss=4.53]
INFO:root:Epoch[325] Elapsed time 1.314 seconds
INFO:root:Epoch[325] Evaluation metric 'epoch_loss'=4.528500
INFO:root:Epoch[326] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.98it/s, avg_epoch_loss=4.5]
INFO:root:Epoch[326] Elapsed time 1.318 seconds
INFO:root:Epoch[326] Evaluation metric 'epoch_loss'=4.499035
INFO:root:Epoch[327] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.07it/s, avg_epoch_loss=4.53]
INFO:root:Epoch[327] Elapsed time 1.315 seconds
INFO:root:Epoch[327] Evaluation metric 'epoch_loss'=4.525162
INFO:root:Epoch[328] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.80it/s, avg_epoch_loss=4.54]
INFO:root:Epoch[328] Elapsed time 1.324 seconds
INFO:root:Epoch[328] Evaluation metric 'epoch_loss'=4.541240
INFO:root:Epoch[329] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 36.07it/s, avg_epoch_loss=4.52]
INFO:root:Epoch[329] Elapsed time 1.387 seconds
INFO:root:Epoch[329] Evaluation metric 'epoch_loss'=4.520686
INFO:root:Epoch[330] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.63it/s, avg_epoch_loss=4.52]
INFO:root:Epoch[330] Elapsed time 1.330 seconds
INFO:root:Epoch[330] Evaluation metric 'epoch_loss'=4.520627
INFO:root:Epoch[331] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.02it/s, avg_epoch_loss=4.54]
INFO:root:Epoch[331] Elapsed time 1.316 seconds
INFO:root:Epoch[331] Evaluation metric 'epoch_loss'=4.538185
INFO:root:Epoch[332] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.68it/s, avg_epoch_loss=4.54]
INFO:root:Epoch[332] Elapsed time 1.328 seconds
INFO:root:Epoch[332] Evaluation metric 'epoch_loss'=4.536505
INFO:root:Epoch[333] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.92it/s, avg_epoch_loss=4.53]
INFO:root:Epoch[333] Elapsed time 1.322 seconds
INFO:root:Epoch[333] Evaluation metric 'epoch_loss'=4.526431
INFO:root:Epoch[334] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.19it/s, avg_epoch_loss=4.56]
INFO:root:Epoch[334] Elapsed time 1.346 seconds
INFO:root:Epoch[334] Evaluation metric 'epoch_loss'=4.558758
INFO:root:Epoch[335] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 35.09it/s, avg_epoch_loss=4.54]
INFO:root:Epoch[335] Elapsed time 1.426 seconds
INFO:root:Epoch[335] Evaluation metric 'epoch_loss'=4.536412
INFO:root:Epoch[336] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.76it/s, avg_epoch_loss=4.53]
INFO:root:Epoch[336] Elapsed time 1.325 seconds
INFO:root:Epoch[336] Evaluation metric 'epoch_loss'=4.531006
INFO:root:Epoch[337] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.97it/s, avg_epoch_loss=4.52]
INFO:root:Epoch[337] Elapsed time 1.318 seconds
INFO:root:Epoch[337] Evaluation metric 'epoch_loss'=4.517650
INFO:root:Epoch[338] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.20it/s, avg_epoch_loss=4.56]
INFO:root:Epoch[338] Elapsed time 1.310 seconds
INFO:root:Epoch[338] Evaluation metric 'epoch_loss'=4.560815
INFO:root:Epoch[339] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.27it/s, avg_epoch_loss=4.55]
INFO:root:Epoch[339] Elapsed time 1.308 seconds
INFO:root:Epoch[339] Evaluation metric 'epoch_loss'=4.549587
INFO:root:Epoch[340] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.53it/s, avg_epoch_loss=4.51]
INFO:root:Epoch[340] Elapsed time 1.333 seconds
INFO:root:Epoch[340] Evaluation metric 'epoch_loss'=4.509896
INFO:root:Epoch[341] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.26it/s, avg_epoch_loss=4.51]
INFO:root:Epoch[341] Elapsed time 1.308 seconds
INFO:root:Epoch[341] Evaluation metric 'epoch_loss'=4.512682
INFO:root:Epoch[342] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.95it/s, avg_epoch_loss=4.5]
INFO:root:Epoch[342] Elapsed time 1.319 seconds
INFO:root:Epoch[342] Evaluation metric 'epoch_loss'=4.503816
INFO:root:Epoch[343] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.26it/s, avg_epoch_loss=4.51]
INFO:root:Epoch[343] Elapsed time 1.308 seconds
INFO:root:Epoch[343] Evaluation metric 'epoch_loss'=4.508218
INFO:root:Epoch[344] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.15it/s, avg_epoch_loss=4.55]
INFO:root:Epoch[344] Elapsed time 1.312 seconds
INFO:root:Epoch[344] Evaluation metric 'epoch_loss'=4.553869
INFO:root:Epoch[345] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.95it/s, avg_epoch_loss=4.53]
INFO:root:Epoch[345] Elapsed time 1.319 seconds
INFO:root:Epoch[345] Evaluation metric 'epoch_loss'=4.529615
INFO:root:Epoch[346] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.86it/s, avg_epoch_loss=4.55]
INFO:root:Epoch[346] Elapsed time 1.322 seconds
INFO:root:Epoch[346] Evaluation metric 'epoch_loss'=4.545086
INFO:root:Epoch[347] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.17it/s, avg_epoch_loss=4.57]
INFO:root:Epoch[347] Elapsed time 1.311 seconds
INFO:root:Epoch[347] Evaluation metric 'epoch_loss'=4.573216
INFO:root:Epoch[348] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.70it/s, avg_epoch_loss=4.57]
INFO:root:Epoch[348] Elapsed time 1.327 seconds
INFO:root:Epoch[348] Evaluation metric 'epoch_loss'=4.566226
INFO:root:Epoch[349] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.97it/s, avg_epoch_loss=4.54]
INFO:root:Epoch[349] Elapsed time 1.318 seconds
INFO:root:Epoch[349] Evaluation metric 'epoch_loss'=4.541355
INFO:root:Epoch[350] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.04it/s, avg_epoch_loss=4.53]
INFO:root:Epoch[350] Elapsed time 1.316 seconds
INFO:root:Epoch[350] Evaluation metric 'epoch_loss'=4.526371
INFO:root:Epoch[351] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.01it/s, avg_epoch_loss=4.56]
INFO:root:Epoch[351] Elapsed time 1.317 seconds
INFO:root:Epoch[351] Evaluation metric 'epoch_loss'=4.559385
INFO:root:Epoch[352] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.90it/s, avg_epoch_loss=4.52]
INFO:root:Epoch[352] Elapsed time 1.320 seconds
INFO:root:Epoch[352] Evaluation metric 'epoch_loss'=4.515139
INFO:root:Epoch[353] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.11it/s, avg_epoch_loss=4.54]
INFO:root:Epoch[353] Elapsed time 1.313 seconds
INFO:root:Epoch[353] Evaluation metric 'epoch_loss'=4.544017
INFO:root:Epoch[354] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.09it/s, avg_epoch_loss=4.53]
INFO:root:Epoch[354] Elapsed time 1.314 seconds
INFO:root:Epoch[354] Evaluation metric 'epoch_loss'=4.530830
INFO:root:Epoch[355] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.81it/s, avg_epoch_loss=4.53]
INFO:root:Epoch[355] Elapsed time 1.323 seconds
INFO:root:Epoch[355] Evaluation metric 'epoch_loss'=4.529836
INFO:root:Epoch[356] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.19it/s, avg_epoch_loss=4.54]
INFO:root:Epoch[356] Elapsed time 1.310 seconds
INFO:root:Epoch[356] Evaluation metric 'epoch_loss'=4.539660
INFO:root:Epoch[357] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.74it/s, avg_epoch_loss=4.57]
INFO:root:Epoch[357] Elapsed time 1.326 seconds
INFO:root:Epoch[357] Evaluation metric 'epoch_loss'=4.573327
INFO:root:Epoch[358] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.25it/s, avg_epoch_loss=4.57]
INFO:root:Epoch[358] Elapsed time 1.308 seconds
INFO:root:Epoch[358] Evaluation metric 'epoch_loss'=4.568004
INFO:root:Epoch[359] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.25it/s, avg_epoch_loss=4.56]
INFO:root:Epoch[359] Elapsed time 1.343 seconds
INFO:root:Epoch[359] Evaluation metric 'epoch_loss'=4.563603
INFO:root:Epoch[360] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.52it/s, avg_epoch_loss=4.53]
INFO:root:Epoch[360] Elapsed time 1.334 seconds
INFO:root:Epoch[360] Evaluation metric 'epoch_loss'=4.534841
INFO:root:Epoch[361] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.66it/s, avg_epoch_loss=4.55]
INFO:root:Epoch[361] Elapsed time 1.329 seconds
INFO:root:Epoch[361] Evaluation metric 'epoch_loss'=4.548719
INFO:root:Epoch[362] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.96it/s, avg_epoch_loss=4.49]
INFO:root:Epoch[362] Elapsed time 1.318 seconds
INFO:root:Epoch[362] Evaluation metric 'epoch_loss'=4.493625
INFO:root:Epoch[363] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.19it/s, avg_epoch_loss=4.53]
INFO:root:Epoch[363] Elapsed time 1.310 seconds
INFO:root:Epoch[363] Evaluation metric 'epoch_loss'=4.525113
INFO:root:Epoch[364] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.64it/s, avg_epoch_loss=4.54]
INFO:root:Epoch[364] Elapsed time 1.330 seconds
INFO:root:Epoch[364] Evaluation metric 'epoch_loss'=4.540942
INFO:root:Epoch[365] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.13it/s, avg_epoch_loss=4.53]
INFO:root:Epoch[365] Elapsed time 1.314 seconds
INFO:root:Epoch[365] Evaluation metric 'epoch_loss'=4.528698
INFO:root:Epoch[366] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 36.90it/s, avg_epoch_loss=4.48]
INFO:root:Epoch[366] Elapsed time 1.356 seconds
INFO:root:Epoch[366] Evaluation metric 'epoch_loss'=4.482539
INFO:root:Epoch[367] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.83it/s, avg_epoch_loss=4.5]
INFO:root:Epoch[367] Elapsed time 1.323 seconds
INFO:root:Epoch[367] Evaluation metric 'epoch_loss'=4.497527
INFO:root:Epoch[368] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.14it/s, avg_epoch_loss=4.48]
INFO:root:Epoch[368] Elapsed time 1.348 seconds
INFO:root:Epoch[368] Evaluation metric 'epoch_loss'=4.475391
INFO:root:Epoch[369] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.08it/s, avg_epoch_loss=4.53]
INFO:root:Epoch[369] Elapsed time 1.314 seconds
INFO:root:Epoch[369] Evaluation metric 'epoch_loss'=4.531226
INFO:root:Epoch[370] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.32it/s, avg_epoch_loss=4.47]
INFO:root:Epoch[370] Elapsed time 1.306 seconds
INFO:root:Epoch[370] Evaluation metric 'epoch_loss'=4.471678
INFO:root:Epoch[371] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 36.02it/s, avg_epoch_loss=4.54]
INFO:root:Epoch[371] Elapsed time 1.389 seconds
INFO:root:Epoch[371] Evaluation metric 'epoch_loss'=4.543945
INFO:root:Epoch[372] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.73it/s, avg_epoch_loss=4.54]
INFO:root:Epoch[372] Elapsed time 1.326 seconds
INFO:root:Epoch[372] Evaluation metric 'epoch_loss'=4.539869
INFO:root:Epoch[373] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.02it/s, avg_epoch_loss=4.51]
INFO:root:Epoch[373] Elapsed time 1.316 seconds
INFO:root:Epoch[373] Evaluation metric 'epoch_loss'=4.506568
INFO:root:Epoch[374] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.50it/s, avg_epoch_loss=4.53]
INFO:root:Epoch[374] Elapsed time 1.335 seconds
INFO:root:Epoch[374] Evaluation metric 'epoch_loss'=4.530681
INFO:root:Epoch[375] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.18it/s, avg_epoch_loss=4.5]
INFO:root:Epoch[375] Elapsed time 1.311 seconds
INFO:root:Epoch[375] Evaluation metric 'epoch_loss'=4.502927
INFO:root:Epoch[376] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.93it/s, avg_epoch_loss=4.55]
INFO:root:Epoch[376] Elapsed time 1.319 seconds
INFO:root:Epoch[376] Evaluation metric 'epoch_loss'=4.548218
INFO:root:Epoch[377] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.15it/s, avg_epoch_loss=4.47]
INFO:root:Epoch[377] Elapsed time 1.348 seconds
INFO:root:Epoch[377] Evaluation metric 'epoch_loss'=4.465761
INFO:root:Epoch[378] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.84it/s, avg_epoch_loss=4.48]
INFO:root:Epoch[378] Elapsed time 1.323 seconds
INFO:root:Epoch[378] Evaluation metric 'epoch_loss'=4.475743
INFO:root:Epoch[379] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.24it/s, avg_epoch_loss=4.48]
INFO:root:Epoch[379] Elapsed time 1.309 seconds
INFO:root:Epoch[379] Evaluation metric 'epoch_loss'=4.478517
INFO:root:Epoch[380] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.19it/s, avg_epoch_loss=4.47]
INFO:root:Epoch[380] Elapsed time 1.346 seconds
INFO:root:Epoch[380] Evaluation metric 'epoch_loss'=4.469277
INFO:root:Epoch[381] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.06it/s, avg_epoch_loss=4.47]
INFO:root:Epoch[381] Elapsed time 1.315 seconds
INFO:root:Epoch[381] Evaluation metric 'epoch_loss'=4.472692
INFO:root:Epoch[382] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.95it/s, avg_epoch_loss=4.48]
INFO:root:Epoch[382] Elapsed time 1.319 seconds
INFO:root:Epoch[382] Evaluation metric 'epoch_loss'=4.478586
INFO:root:Epoch[383] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.77it/s, avg_epoch_loss=4.46]
INFO:root:Epoch[383] Elapsed time 1.325 seconds
INFO:root:Epoch[383] Evaluation metric 'epoch_loss'=4.457556
INFO:root:Epoch[384] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.97it/s, avg_epoch_loss=4.49]
INFO:root:Epoch[384] Elapsed time 1.318 seconds
INFO:root:Epoch[384] Evaluation metric 'epoch_loss'=4.494260
INFO:root:Epoch[385] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.04it/s, avg_epoch_loss=4.53]
INFO:root:Epoch[385] Elapsed time 1.316 seconds
INFO:root:Epoch[385] Evaluation metric 'epoch_loss'=4.533884
INFO:root:Epoch[386] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.04it/s, avg_epoch_loss=4.52]
INFO:root:Epoch[386] Elapsed time 1.316 seconds
INFO:root:Epoch[386] Evaluation metric 'epoch_loss'=4.523484
INFO:root:Epoch[387] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.18it/s, avg_epoch_loss=4.55]
INFO:root:Epoch[387] Elapsed time 1.311 seconds
INFO:root:Epoch[387] Evaluation metric 'epoch_loss'=4.548883
INFO:root:Epoch[388] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.02it/s, avg_epoch_loss=4.56]
INFO:root:Epoch[388] Elapsed time 1.316 seconds
INFO:root:Epoch[388] Evaluation metric 'epoch_loss'=4.561461
INFO:root:Epoch[389] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 36.54it/s, avg_epoch_loss=4.53]
INFO:root:Epoch[389] Elapsed time 1.369 seconds
INFO:root:Epoch[389] Evaluation metric 'epoch_loss'=4.533527
INFO:root:Epoch[390] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.13it/s, avg_epoch_loss=4.5]
INFO:root:Epoch[390] Elapsed time 1.312 seconds
INFO:root:Epoch[390] Evaluation metric 'epoch_loss'=4.501721
INFO:root:Epoch[391] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.14it/s, avg_epoch_loss=4.51]
INFO:root:Epoch[391] Elapsed time 1.312 seconds
INFO:root:Epoch[391] Evaluation metric 'epoch_loss'=4.512443
INFO:root:Epoch[392] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.33it/s, avg_epoch_loss=4.49]
INFO:root:Epoch[392] Elapsed time 1.306 seconds
INFO:root:Epoch[392] Evaluation metric 'epoch_loss'=4.491076
INFO:root:Epoch[393] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.85it/s, avg_epoch_loss=4.5]
INFO:root:Epoch[393] Elapsed time 1.322 seconds
INFO:root:Epoch[393] Evaluation metric 'epoch_loss'=4.497159
INFO:root:Epoch[394] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.97it/s, avg_epoch_loss=4.49]
INFO:root:Epoch[394] Elapsed time 1.318 seconds
INFO:root:Epoch[394] Evaluation metric 'epoch_loss'=4.485411
INFO:root:Epoch[395] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.38it/s, avg_epoch_loss=4.49]
INFO:root:Epoch[395] Elapsed time 1.339 seconds
INFO:root:Epoch[395] Evaluation metric 'epoch_loss'=4.486074
INFO:root:Epoch[396] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.21it/s, avg_epoch_loss=4.48]
INFO:root:Epoch[396] Elapsed time 1.345 seconds
INFO:root:Epoch[396] Evaluation metric 'epoch_loss'=4.481741
INFO:root:Epoch[397] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 35.92it/s, avg_epoch_loss=4.47]
INFO:root:Epoch[397] Elapsed time 1.393 seconds
INFO:root:Epoch[397] Evaluation metric 'epoch_loss'=4.468943
INFO:root:Epoch[398] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.60it/s, avg_epoch_loss=4.47]
INFO:root:Epoch[398] Elapsed time 1.331 seconds
INFO:root:Epoch[398] Evaluation metric 'epoch_loss'=4.471884
INFO:root:Epoch[399] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.91it/s, avg_epoch_loss=4.46]
INFO:root:Epoch[399] Elapsed time 1.320 seconds
INFO:root:Epoch[399] Evaluation metric 'epoch_loss'=4.459752
INFO:root:Epoch[400] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.88it/s, avg_epoch_loss=4.45]
INFO:root:Epoch[400] Elapsed time 1.321 seconds
INFO:root:Epoch[400] Evaluation metric 'epoch_loss'=4.452388
INFO:root:Epoch[401] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.43it/s, avg_epoch_loss=4.49]
INFO:root:Epoch[401] Elapsed time 1.302 seconds
INFO:root:Epoch[401] Evaluation metric 'epoch_loss'=4.491210
INFO:root:Epoch[402] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.10it/s, avg_epoch_loss=4.53]
INFO:root:Epoch[402] Elapsed time 1.313 seconds
INFO:root:Epoch[402] Evaluation metric 'epoch_loss'=4.525929
INFO:root:Epoch[403] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.07it/s, avg_epoch_loss=4.5]
INFO:root:Epoch[403] Elapsed time 1.315 seconds
INFO:root:Epoch[403] Evaluation metric 'epoch_loss'=4.504558
INFO:root:Epoch[404] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 36.70it/s, avg_epoch_loss=4.48]
INFO:root:Epoch[404] Elapsed time 1.364 seconds
INFO:root:Epoch[404] Evaluation metric 'epoch_loss'=4.479427
INFO:root:Epoch[405] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 35.15it/s, avg_epoch_loss=4.5]
INFO:root:Epoch[405] Elapsed time 1.424 seconds
INFO:root:Epoch[405] Evaluation metric 'epoch_loss'=4.499017
INFO:root:Epoch[406] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.08it/s, avg_epoch_loss=4.48]
INFO:root:Epoch[406] Elapsed time 1.314 seconds
INFO:root:Epoch[406] Evaluation metric 'epoch_loss'=4.478531
INFO:root:Epoch[407] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.10it/s, avg_epoch_loss=4.48]
INFO:root:Epoch[407] Elapsed time 1.313 seconds
INFO:root:Epoch[407] Evaluation metric 'epoch_loss'=4.482445
INFO:root:Epoch[408] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.02it/s, avg_epoch_loss=4.46]
INFO:root:Epoch[408] Elapsed time 1.316 seconds
INFO:root:Epoch[408] Evaluation metric 'epoch_loss'=4.464262
INFO:root:Epoch[409] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 35.33it/s, avg_epoch_loss=4.45]
INFO:root:Epoch[409] Elapsed time 1.416 seconds
INFO:root:Epoch[409] Evaluation metric 'epoch_loss'=4.454847
INFO:root:Epoch[410] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 36.91it/s, avg_epoch_loss=4.49]
INFO:root:Epoch[410] Elapsed time 1.356 seconds
INFO:root:Epoch[410] Evaluation metric 'epoch_loss'=4.489686
INFO:root:Epoch[411] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.96it/s, avg_epoch_loss=4.51]
INFO:root:Epoch[411] Elapsed time 1.319 seconds
INFO:root:Epoch[411] Evaluation metric 'epoch_loss'=4.508877
INFO:root:Epoch[412] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.38it/s, avg_epoch_loss=4.5]
INFO:root:Epoch[412] Elapsed time 1.339 seconds
INFO:root:Epoch[412] Evaluation metric 'epoch_loss'=4.497672
INFO:root:Epoch[413] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.32it/s, avg_epoch_loss=4.46]
INFO:root:Epoch[413] Elapsed time 1.306 seconds
INFO:root:Epoch[413] Evaluation metric 'epoch_loss'=4.464746
INFO:root:Epoch[414] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.65it/s, avg_epoch_loss=4.52]
INFO:root:Epoch[414] Elapsed time 1.329 seconds
INFO:root:Epoch[414] Evaluation metric 'epoch_loss'=4.524160
INFO:root:Epoch[415] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.90it/s, avg_epoch_loss=4.51]
INFO:root:Epoch[415] Elapsed time 1.320 seconds
INFO:root:Epoch[415] Evaluation metric 'epoch_loss'=4.513638
INFO:root:Epoch[416] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.18it/s, avg_epoch_loss=4.47]
INFO:root:Epoch[416] Elapsed time 1.311 seconds
INFO:root:Epoch[416] Evaluation metric 'epoch_loss'=4.470046
INFO:root:Epoch[417] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.90it/s, avg_epoch_loss=4.5]
INFO:root:Epoch[417] Elapsed time 1.320 seconds
INFO:root:Epoch[417] Evaluation metric 'epoch_loss'=4.499333
INFO:root:Epoch[418] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.25it/s, avg_epoch_loss=4.45]
INFO:root:Epoch[418] Elapsed time 1.308 seconds
INFO:root:Epoch[418] Evaluation metric 'epoch_loss'=4.453588
INFO:root:Epoch[419] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.30it/s, avg_epoch_loss=4.51]
INFO:root:Epoch[419] Elapsed time 1.342 seconds
INFO:root:Epoch[419] Evaluation metric 'epoch_loss'=4.507570
INFO:root:Epoch[420] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.07it/s, avg_epoch_loss=4.53]
INFO:root:Epoch[420] Elapsed time 1.350 seconds
INFO:root:Epoch[420] Evaluation metric 'epoch_loss'=4.531122
INFO:root:Epoch[421] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.58it/s, avg_epoch_loss=4.47]
INFO:root:Epoch[421] Elapsed time 1.332 seconds
INFO:root:Epoch[421] Evaluation metric 'epoch_loss'=4.473877
INFO:root:Epoch[422] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.26it/s, avg_epoch_loss=4.44]
INFO:root:Epoch[422] Elapsed time 1.308 seconds
INFO:root:Epoch[422] Evaluation metric 'epoch_loss'=4.438277
INFO:root:Epoch[423] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.64it/s, avg_epoch_loss=4.49]
INFO:root:Epoch[423] Elapsed time 1.330 seconds
INFO:root:Epoch[423] Evaluation metric 'epoch_loss'=4.490534
INFO:root:Epoch[424] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.17it/s, avg_epoch_loss=4.47]
INFO:root:Epoch[424] Elapsed time 1.313 seconds
INFO:root:Epoch[424] Evaluation metric 'epoch_loss'=4.469902
INFO:root:Epoch[425] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.87it/s, avg_epoch_loss=4.44]
INFO:root:Epoch[425] Elapsed time 1.323 seconds
INFO:root:Epoch[425] Evaluation metric 'epoch_loss'=4.439598
INFO:root:Epoch[426] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.95it/s, avg_epoch_loss=4.45]
INFO:root:Epoch[426] Elapsed time 1.320 seconds
INFO:root:Epoch[426] Evaluation metric 'epoch_loss'=4.454444
INFO:root:Epoch[427] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.80it/s, avg_epoch_loss=4.46]
INFO:root:Epoch[427] Elapsed time 1.325 seconds
INFO:root:Epoch[427] Evaluation metric 'epoch_loss'=4.456625
INFO:root:Epoch[428] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.70it/s, avg_epoch_loss=4.46]
INFO:root:Epoch[428] Elapsed time 1.328 seconds
INFO:root:Epoch[428] Evaluation metric 'epoch_loss'=4.456901
INFO:root:Epoch[429] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 35.50it/s, avg_epoch_loss=4.52]
INFO:root:Epoch[429] Elapsed time 1.410 seconds
INFO:root:Epoch[429] Evaluation metric 'epoch_loss'=4.518988
INFO:root:Epoch[430] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 36.78it/s, avg_epoch_loss=4.47]
INFO:root:Epoch[430] Elapsed time 1.363 seconds
INFO:root:Epoch[430] Evaluation metric 'epoch_loss'=4.467078
INFO:root:Epoch[431] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.75it/s, avg_epoch_loss=4.5]
INFO:root:Epoch[431] Elapsed time 1.326 seconds
INFO:root:Epoch[431] Evaluation metric 'epoch_loss'=4.496349
INFO:root:Epoch[432] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.64it/s, avg_epoch_loss=4.5]
INFO:root:Epoch[432] Elapsed time 1.330 seconds
INFO:root:Epoch[432] Evaluation metric 'epoch_loss'=4.502493
INFO:root:Epoch[433] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.89it/s, avg_epoch_loss=4.49]
INFO:root:Epoch[433] Elapsed time 1.321 seconds
INFO:root:Epoch[433] Evaluation metric 'epoch_loss'=4.493158
INFO:root:Epoch[434] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.01it/s, avg_epoch_loss=4.46]
INFO:root:Epoch[434] Elapsed time 1.317 seconds
INFO:root:Epoch[434] Evaluation metric 'epoch_loss'=4.457325
INFO:root:Epoch[435] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.94it/s, avg_epoch_loss=4.47]
INFO:root:Epoch[435] Elapsed time 1.319 seconds
INFO:root:Epoch[435] Evaluation metric 'epoch_loss'=4.470255
INFO:root:Epoch[436] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.30it/s, avg_epoch_loss=4.48]
INFO:root:Epoch[436] Elapsed time 1.342 seconds
INFO:root:Epoch[436] Evaluation metric 'epoch_loss'=4.479385
INFO:root:Epoch[437] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 36.19it/s, avg_epoch_loss=4.47]
INFO:root:Epoch[437] Elapsed time 1.383 seconds
INFO:root:Epoch[437] Evaluation metric 'epoch_loss'=4.466019
INFO:root:Epoch[438] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.99it/s, avg_epoch_loss=4.44]
INFO:root:Epoch[438] Elapsed time 1.317 seconds
INFO:root:Epoch[438] Evaluation metric 'epoch_loss'=4.436930
INFO:root:Epoch[439] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.93it/s, avg_epoch_loss=4.47]
INFO:root:Epoch[439] Elapsed time 1.319 seconds
INFO:root:Epoch[439] Evaluation metric 'epoch_loss'=4.472014
INFO:root:Epoch[440] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.18it/s, avg_epoch_loss=4.46]
INFO:root:Epoch[440] Elapsed time 1.311 seconds
INFO:root:Epoch[440] Evaluation metric 'epoch_loss'=4.462625
INFO:root:Epoch[441] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.04it/s, avg_epoch_loss=4.46]
INFO:root:Epoch[441] Elapsed time 1.316 seconds
INFO:root:Epoch[441] Evaluation metric 'epoch_loss'=4.460309
INFO:root:Epoch[442] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.52it/s, avg_epoch_loss=4.47]
INFO:root:Epoch[442] Elapsed time 1.334 seconds
INFO:root:Epoch[442] Evaluation metric 'epoch_loss'=4.469545
INFO:root:Epoch[443] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.84it/s, avg_epoch_loss=4.47]
INFO:root:Epoch[443] Elapsed time 1.323 seconds
INFO:root:Epoch[443] Evaluation metric 'epoch_loss'=4.473750
INFO:root:Epoch[444] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.10it/s, avg_epoch_loss=4.49]
INFO:root:Epoch[444] Elapsed time 1.349 seconds
INFO:root:Epoch[444] Evaluation metric 'epoch_loss'=4.491657
INFO:root:Epoch[445] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.68it/s, avg_epoch_loss=4.49]
INFO:root:Epoch[445] Elapsed time 1.328 seconds
INFO:root:Epoch[445] Evaluation metric 'epoch_loss'=4.485083
INFO:root:Epoch[446] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.83it/s, avg_epoch_loss=4.48]
INFO:root:Epoch[446] Elapsed time 1.323 seconds
INFO:root:Epoch[446] Evaluation metric 'epoch_loss'=4.477198
INFO:root:Epoch[447] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.79it/s, avg_epoch_loss=4.47]
INFO:root:Epoch[447] Elapsed time 1.324 seconds
INFO:root:Epoch[447] Evaluation metric 'epoch_loss'=4.472365
INFO:root:Epoch[448] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.24it/s, avg_epoch_loss=4.49]
INFO:root:Epoch[448] Elapsed time 1.309 seconds
INFO:root:Epoch[448] Evaluation metric 'epoch_loss'=4.490408
INFO:root:Epoch[449] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.39it/s, avg_epoch_loss=4.43]
INFO:root:Epoch[449] Elapsed time 1.304 seconds
INFO:root:Epoch[449] Evaluation metric 'epoch_loss'=4.432212
INFO:root:Epoch[450] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.85it/s, avg_epoch_loss=4.46]
INFO:root:Epoch[450] Elapsed time 1.322 seconds
INFO:root:Epoch[450] Evaluation metric 'epoch_loss'=4.461355
INFO:root:Epoch[451] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.92it/s, avg_epoch_loss=4.45]
INFO:root:Epoch[451] Elapsed time 1.319 seconds
INFO:root:Epoch[451] Evaluation metric 'epoch_loss'=4.448371
INFO:root:Epoch[452] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.98it/s, avg_epoch_loss=4.46]
INFO:root:Epoch[452] Elapsed time 1.318 seconds
INFO:root:Epoch[452] Evaluation metric 'epoch_loss'=4.461920
INFO:root:Epoch[453] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.19it/s, avg_epoch_loss=4.44]
INFO:root:Epoch[453] Elapsed time 1.310 seconds
INFO:root:Epoch[453] Evaluation metric 'epoch_loss'=4.441264
INFO:root:Epoch[454] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.99it/s, avg_epoch_loss=4.44]
INFO:root:Epoch[454] Elapsed time 1.317 seconds
INFO:root:Epoch[454] Evaluation metric 'epoch_loss'=4.444117
INFO:root:Epoch[455] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.07it/s, avg_epoch_loss=4.46]
INFO:root:Epoch[455] Elapsed time 1.315 seconds
INFO:root:Epoch[455] Evaluation metric 'epoch_loss'=4.456934
INFO:root:Epoch[456] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.78it/s, avg_epoch_loss=4.52]
INFO:root:Epoch[456] Elapsed time 1.325 seconds
INFO:root:Epoch[456] Evaluation metric 'epoch_loss'=4.520878
INFO:root:Epoch[457] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.89it/s, avg_epoch_loss=4.51]
INFO:root:Epoch[457] Elapsed time 1.321 seconds
INFO:root:Epoch[457] Evaluation metric 'epoch_loss'=4.508122
INFO:root:Epoch[458] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.59it/s, avg_epoch_loss=4.52]
INFO:root:Epoch[458] Elapsed time 1.331 seconds
INFO:root:Epoch[458] Evaluation metric 'epoch_loss'=4.520416
INFO:root:Epoch[459] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.63it/s, avg_epoch_loss=4.52]
INFO:root:Epoch[459] Elapsed time 1.330 seconds
INFO:root:Epoch[459] Evaluation metric 'epoch_loss'=4.521710
INFO:root:Epoch[460] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.80it/s, avg_epoch_loss=4.49]
INFO:root:Epoch[460] Elapsed time 1.324 seconds
INFO:root:Epoch[460] Evaluation metric 'epoch_loss'=4.485738
INFO:root:Epoch[461] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.88it/s, avg_epoch_loss=4.44]
INFO:root:Epoch[461] Elapsed time 1.321 seconds
INFO:root:Epoch[461] Evaluation metric 'epoch_loss'=4.444073
INFO:root:Epoch[462] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.92it/s, avg_epoch_loss=4.45]
INFO:root:Epoch[462] Elapsed time 1.319 seconds
INFO:root:Epoch[462] Evaluation metric 'epoch_loss'=4.447255
INFO:root:Epoch[463] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.85it/s, avg_epoch_loss=4.46]
INFO:root:Epoch[463] Elapsed time 1.322 seconds
INFO:root:Epoch[463] Evaluation metric 'epoch_loss'=4.459427
INFO:root:Epoch[464] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.26it/s, avg_epoch_loss=4.44]
INFO:root:Epoch[464] Elapsed time 1.308 seconds
INFO:root:Epoch[464] Evaluation metric 'epoch_loss'=4.440817
INFO:root:Epoch[465] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.15it/s, avg_epoch_loss=4.48]
INFO:root:Epoch[465] Elapsed time 1.312 seconds
INFO:root:Epoch[465] Evaluation metric 'epoch_loss'=4.476601
INFO:root:Epoch[466] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.12it/s, avg_epoch_loss=4.42]
INFO:root:Epoch[466] Elapsed time 1.313 seconds
INFO:root:Epoch[466] Evaluation metric 'epoch_loss'=4.423774
INFO:root:Epoch[467] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.17it/s, avg_epoch_loss=4.41]
INFO:root:Epoch[467] Elapsed time 1.311 seconds
INFO:root:Epoch[467] Evaluation metric 'epoch_loss'=4.412912
INFO:root:Epoch[468] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.04it/s, avg_epoch_loss=4.46]
INFO:root:Epoch[468] Elapsed time 1.316 seconds
INFO:root:Epoch[468] Evaluation metric 'epoch_loss'=4.462471
INFO:root:Epoch[469] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.11it/s, avg_epoch_loss=4.44]
INFO:root:Epoch[469] Elapsed time 1.313 seconds
INFO:root:Epoch[469] Evaluation metric 'epoch_loss'=4.440213
INFO:root:Epoch[470] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.08it/s, avg_epoch_loss=4.45]
INFO:root:Epoch[470] Elapsed time 1.314 seconds
INFO:root:Epoch[470] Evaluation metric 'epoch_loss'=4.447691
INFO:root:Epoch[471] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 35.81it/s, avg_epoch_loss=4.43]
INFO:root:Epoch[471] Elapsed time 1.397 seconds
INFO:root:Epoch[471] Evaluation metric 'epoch_loss'=4.432917
INFO:root:Epoch[472] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.50it/s, avg_epoch_loss=4.44]
INFO:root:Epoch[472] Elapsed time 1.334 seconds
INFO:root:Epoch[472] Evaluation metric 'epoch_loss'=4.442975
INFO:root:Epoch[473] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.80it/s, avg_epoch_loss=4.46]
INFO:root:Epoch[473] Elapsed time 1.324 seconds
INFO:root:Epoch[473] Evaluation metric 'epoch_loss'=4.456748
INFO:root:Epoch[474] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.28it/s, avg_epoch_loss=4.42]
INFO:root:Epoch[474] Elapsed time 1.307 seconds
INFO:root:Epoch[474] Evaluation metric 'epoch_loss'=4.424139
INFO:root:Epoch[475] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.06it/s, avg_epoch_loss=4.46]
INFO:root:Epoch[475] Elapsed time 1.315 seconds
INFO:root:Epoch[475] Evaluation metric 'epoch_loss'=4.456550
INFO:root:Epoch[476] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.58it/s, avg_epoch_loss=4.37]
INFO:root:Epoch[476] Elapsed time 1.332 seconds
INFO:root:Epoch[476] Evaluation metric 'epoch_loss'=4.372581
INFO:root:Epoch[477] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.80it/s, avg_epoch_loss=4.41]
INFO:root:Epoch[477] Elapsed time 1.324 seconds
INFO:root:Epoch[477] Evaluation metric 'epoch_loss'=4.408890
INFO:root:Epoch[478] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.97it/s, avg_epoch_loss=4.45]
INFO:root:Epoch[478] Elapsed time 1.318 seconds
INFO:root:Epoch[478] Evaluation metric 'epoch_loss'=4.448032
INFO:root:Epoch[479] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.91it/s, avg_epoch_loss=4.45]
INFO:root:Epoch[479] Elapsed time 1.321 seconds
INFO:root:Epoch[479] Evaluation metric 'epoch_loss'=4.453235
INFO:root:Epoch[480] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.59it/s, avg_epoch_loss=4.43]
INFO:root:Epoch[480] Elapsed time 1.331 seconds
INFO:root:Epoch[480] Evaluation metric 'epoch_loss'=4.427158
INFO:root:Epoch[481] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.01it/s, avg_epoch_loss=4.45]
INFO:root:Epoch[481] Elapsed time 1.317 seconds
INFO:root:Epoch[481] Evaluation metric 'epoch_loss'=4.448900
INFO:root:Epoch[482] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.99it/s, avg_epoch_loss=4.44]
INFO:root:Epoch[482] Elapsed time 1.317 seconds
INFO:root:Epoch[482] Evaluation metric 'epoch_loss'=4.438074
INFO:root:Epoch[483] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.04it/s, avg_epoch_loss=4.44]
INFO:root:Epoch[483] Elapsed time 1.316 seconds
INFO:root:Epoch[483] Evaluation metric 'epoch_loss'=4.436242
INFO:root:Epoch[484] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.06it/s, avg_epoch_loss=4.37]
INFO:root:Epoch[484] Elapsed time 1.351 seconds
INFO:root:Epoch[484] Evaluation metric 'epoch_loss'=4.371394
INFO:root:Epoch[485] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.00it/s, avg_epoch_loss=4.42]
INFO:root:Epoch[485] Elapsed time 1.317 seconds
INFO:root:Epoch[485] Evaluation metric 'epoch_loss'=4.418769
INFO:root:Epoch[486] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 36.38it/s, avg_epoch_loss=4.44]
INFO:root:Epoch[486] Elapsed time 1.376 seconds
INFO:root:Epoch[486] Evaluation metric 'epoch_loss'=4.439901
INFO:root:Epoch[487] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.85it/s, avg_epoch_loss=4.44]
INFO:root:Epoch[487] Elapsed time 1.322 seconds
INFO:root:Epoch[487] Evaluation metric 'epoch_loss'=4.444838
INFO:root:Epoch[488] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.15it/s, avg_epoch_loss=4.45]
INFO:root:Epoch[488] Elapsed time 1.312 seconds
INFO:root:Epoch[488] Evaluation metric 'epoch_loss'=4.453851
INFO:root:Epoch[489] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.72it/s, avg_epoch_loss=4.4]
INFO:root:Epoch[489] Elapsed time 1.327 seconds
INFO:root:Epoch[489] Evaluation metric 'epoch_loss'=4.398688
INFO:root:Epoch[490] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.42it/s, avg_epoch_loss=4.43]
INFO:root:Epoch[490] Elapsed time 1.337 seconds
INFO:root:Epoch[490] Evaluation metric 'epoch_loss'=4.427489
INFO:root:Epoch[491] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.95it/s, avg_epoch_loss=4.38]
INFO:root:Epoch[491] Elapsed time 1.319 seconds
INFO:root:Epoch[491] Evaluation metric 'epoch_loss'=4.383146
INFO:root:Epoch[492] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.11it/s, avg_epoch_loss=4.41]
INFO:root:Epoch[492] Elapsed time 1.313 seconds
INFO:root:Epoch[492] Evaluation metric 'epoch_loss'=4.412924
INFO:root:Epoch[493] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.25it/s, avg_epoch_loss=4.4]
INFO:root:Epoch[493] Elapsed time 1.308 seconds
INFO:root:Epoch[493] Evaluation metric 'epoch_loss'=4.402493
INFO:root:Epoch[494] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 36.34it/s, avg_epoch_loss=4.42]
INFO:root:Epoch[494] Elapsed time 1.377 seconds
INFO:root:Epoch[494] Evaluation metric 'epoch_loss'=4.415909
INFO:root:Epoch[495] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.70it/s, avg_epoch_loss=4.39]
INFO:root:Epoch[495] Elapsed time 1.327 seconds
INFO:root:Epoch[495] Evaluation metric 'epoch_loss'=4.388255
INFO:root:Epoch[496] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 36.97it/s, avg_epoch_loss=4.36]
INFO:root:Epoch[496] Elapsed time 1.355 seconds
INFO:root:Epoch[496] Evaluation metric 'epoch_loss'=4.356849
INFO:root:Epoch[497] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 37.71it/s, avg_epoch_loss=4.35]
INFO:root:Epoch[497] Elapsed time 1.327 seconds
INFO:root:Epoch[497] Evaluation metric 'epoch_loss'=4.352720
INFO:root:Epoch[498] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.19it/s, avg_epoch_loss=4.35]
INFO:root:Epoch[498] Elapsed time 1.310 seconds
INFO:root:Epoch[498] Evaluation metric 'epoch_loss'=4.349209
INFO:root:Epoch[499] Learning rate is 5e-05
100%|██████████| 50/50 [00:01<00:00, 38.26it/s, avg_epoch_loss=4.35]
INFO:root:Epoch[499] Elapsed time 1.308 seconds
INFO:root:Epoch[499] Evaluation metric 'epoch_loss'=4.347969
INFO:root:Loading parameters from best epoch (499)
INFO:root:Final loss: 4.34796856880188 (occurred at epoch 499)
INFO:root:End model training
In [0]:
# Plotting prediction
plot_forecast(predictor = gluonts_model_predictor, test_data = test_data)
In [0]:
# Predictions with test data
forecast_it, ts_it = make_evaluation_predictions(dataset = test_data,
predictor = gluonts_model_predictor,
num_samples = 12)
In [0]:
# Extract metrics
aggregate_metrics, item_metrics = Evaluator()(ts_it, forecast_it, num_series = len(test_data))
Running evaluation: 100%|██████████| 1/1 [00:00<00:00, 7.78it/s]
In [0]:
# Visualize metrics
aggregate_metrics
Out[0]:
{'MSE': 1315580.5833333333,
'abs_error': 12933.12109375,
'abs_target_sum': 12933.12109375,
'abs_target_mean': 1077.7600911458333,
'seasonal_error': nan,
'MASE': nan,
'sMAPE': 2.0,
'MSIS': nan,
'QuantileLoss[0.1]': 2586.6242797851564,
'Coverage[0.1]': 0.0,
'QuantileLoss[0.2]': 5173.248559570313,
'Coverage[0.2]': 0.0,
'QuantileLoss[0.3]': 7759.872839355468,
'Coverage[0.3]': 0.0,
'QuantileLoss[0.4]': 10346.497119140626,
'Coverage[0.4]': 0.0,
'QuantileLoss[0.5]': 12933.121398925781,
'Coverage[0.5]': 0.0,
'QuantileLoss[0.6]': 15519.745678710937,
'Coverage[0.6]': 0.0,
'QuantileLoss[0.7]': 18106.369958496092,
'Coverage[0.7]': 0.0,
'QuantileLoss[0.8]': 20692.99423828125,
'Coverage[0.8]': 0.0,
'QuantileLoss[0.9]': 23279.618518066403,
'Coverage[0.9]': 0.0,
'RMSE': 1146.987612545721,
'NRMSE': 1.0642327749641274,
'ND': 1.0,
'wQuantileLoss[0.1]': 0.20000000471929058,
'wQuantileLoss[0.2]': 0.40000000943858116,
'wQuantileLoss[0.3]': 0.6000000141578716,
'wQuantileLoss[0.4]': 0.8000000188771623,
'wQuantileLoss[0.5]': 1.0000000235964528,
'wQuantileLoss[0.6]': 1.2000000283157433,
'wQuantileLoss[0.7]': 1.4000000330350337,
'wQuantileLoss[0.8]': 1.6000000377543246,
'wQuantileLoss[0.9]': 1.800000042473615,
'mean_wQuantileLoss': 1.0000000235964528,
'MAE_Coverage': 0.5}
Model comparison:
ARMA (3,1):
ARIMA (6,0,4):
SARIMA (0,0,1)x(1,1,0,12):
SARIMA (1,1,1)x(1,1,0,12):
SARIMAX (1,1,1)x(1,1,0,12):
Prophet:
Stacked LSTM:
Differentiated LSTM:
Bidirectional LSTM:
Autoregressive RNN:
Part 6: https://drive.google.com/open?id=16UGQmZQ930c68MGlXynJ0DzFZFbH1L75
Part 5: https://colab.research.google.com/drive/1DJ-RdGu0WEjTorNWnqz5a70HZPARlZx0
Similar to part 4 this notebook won't run on google colab
Simulated Production Deployment
This is a simplified simulated production deployment. The model made with Prophet will be deployed since it had the best performance. The model will be deployed at http://localhost:3000
Loading Packages
In [1]:
# Deactivating the multiple warning messages produced by the newest versions of Pandas and Matplotlib.import sys
import sys
import warnings
import matplotlib.cbook
if not sys.warnoptions:
warnings.simplefilter("ignore")
warnings.simplefilter(action='ignore', category=FutureWarning)
warnings.filterwarnings("ignore", category=FutureWarning)
warnings.filterwarnings("ignore", category=matplotlib.cbook.mplDeprecation)
# Data manipulation imports
import numpy as np
import pandas as pd
import itertools
from pandas import Series
# Data visualization imports
import matplotlib.pyplot as plt
import matplotlib as m
import seaborn as sns
import plotly as py
import plotly.express as px
import plotly.graph_objs as go
from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
# Predictive modeling imports
import statsmodels
import statsmodels.api as sm
import statsmodels.tsa.api as smt
import statsmodels.stats as sms
import scipy
import scipy.stats as scs
from statsmodels.graphics import tsaplots
from statsmodels.tsa.seasonal import seasonal_decompose
from statsmodels.tsa.stattools import adfuller
from statsmodels.stats.stattools import jarque_bera
import fbprophet
from fbprophet import Prophet
import holidays
# Metrics and performance imports
import math
from math import sqrt
import sklearn
from sklearn.metrics import mean_squared_error
# Graphics formatting imports
m.rcParams['axes.labelsize'] = 14
m.rcParams['xtick.labelsize'] = 12
m.rcParams['ytick.labelsize'] = 12
m.rcParams['text.color'] = 'k'
from matplotlib.pylab import rcParams
rcParams['figure.figsize'] = 15,7
matplotlib.style.use('ggplot')
%matplotlib inline
In [2]:
# Versions of the packages used
%reload_ext watermark
%watermark --iversions
sklearn 0.22.1
matplotlib 3.1.3
plotly 4.6.0
numpy 1.18.1
pandas 1.0.2
scipy 1.4.1
fbprophet 0.6
holidays 0.10.1
seaborn 0.10.0
statsmodels.api 0.11.0
statsmodels 0.11.0
Data
The dataset used is available publicly in Tableau's website, and represents the historic sales from the startup in which HappyMoonVC is considering investing.
Dataset source: https://community.tableau.com/docs/DOC-1236
HappyMoonVC wants to analyze and predict all data the in the "technology" category
In [3]:
# Load data
data = pd.read_csv('https://raw.githubusercontent.com/Matheus-Schmitz/Datasets/master/dataset6.csv')
In [4]:
# Shape
data.shape
Out[4]:
(9994, 21)
In [5]:
# Columns
data.columns
Out[5]:
Index(['Row ID', 'Order ID', 'Order Date', 'Ship Date', 'Ship Mode',
'Customer ID', 'Customer Name', 'Segment', 'Country', 'City', 'State',
'Postal Code', 'Region', 'Product ID', 'Category', 'Sub-Category',
'Product Name', 'Sales', 'Quantity', 'Discount', 'Profit'],
dtype='object')
Exploratory Analysis
In [6]:
# Visualizing data
data.head()
Out[6]:
| Row ID | Order ID | Order Date | Ship Date | Ship Mode | Customer ID | Customer Name | Segment | Country | City | ... | Postal Code | Region | Product ID | Category | Sub-Category | Product Name | Sales | Quantity | Discount | Profit |
0 | 1 | CA-2016-152156 | 2016-11-08 | 2016-11-11 | Second Class | CG-12520 | Claire Gute | Consumer | United States | Henderson | ... | 42420 | South | FUR-BO-10001798 | Furniture | Bookcases | Bush Somerset Collection Bookcase | 261.9600 | 2 | 0.00 | 41.9136 |
1 | 2 | CA-2016-152156 | 2016-11-08 | 2016-11-11 | Second Class | CG-12520 | Claire Gute | Consumer | United States | Henderson | ... | 42420 | South | FUR-CH-10000454 | Furniture | Chairs | Hon Deluxe Fabric Upholstered Stacking Chairs,... | 731.9400 | 3 | 0.00 | 219.5820 |
2 | 3 | CA-2016-138688 | 2016-06-12 | 2016-06-16 | Second Class | DV-13045 | Darrin Van Huff | Corporate | United States | Los Angeles | ... | 90036 | West | OFF-LA-10000240 | Office Supplies | Labels | Self-Adhesive Address Labels for Typewriters b... | 14.6200 | 2 | 0.00 | 6.8714 |
3 | 4 | US-2015-108966 | 2015-10-11 | 2015-10-18 | Standard Class | SO-20335 | Sean O'Donnell | Consumer | United States | Fort Lauderdale | ... | 33311 | South | FUR-TA-10000577 | Furniture | Tables | Bretford CR4500 Series Slim Rectangular Table | 957.5775 | 5 | 0.45 | -383.0310 |
4 | 5 | US-2015-108966 | 2015-10-11 | 2015-10-18 | Standard Class | SO-20335 | Sean O'Donnell | Consumer | United States | Fort Lauderdale | ... | 33311 | South | OFF-ST-10000760 | Office Supplies | Storage | Eldon Fold 'N Roll Cart System | 22.3680 | 2 | 0.20 | 2.5164 |
5 rows × 21 columns
In [7]:
# Statistic summaries
data.describe()
Out[7]:
| Row ID | Postal Code | Sales | Quantity | Discount | Profit |
count | 9994.000000 | 9994.000000 | 9994.000000 | 9994.000000 | 9994.000000 | 9994.000000 |
mean | 4997.500000 | 55190.379428 | 229.858001 | 3.789574 | 0.156203 | 28.656896 |
std | 2885.163629 | 32063.693350 | 623.245101 | 2.225110 | 0.206452 | 234.260108 |
min | 1.000000 | 1040.000000 | 0.444000 | 1.000000 | 0.000000 | -6599.978000 |
25% | 2499.250000 | 23223.000000 | 17.280000 | 2.000000 | 0.000000 | 1.728750 |
50% | 4997.500000 | 56430.500000 | 54.490000 | 3.000000 | 0.200000 | 8.666500 |
75% | 7495.750000 | 90008.000000 | 209.940000 | 5.000000 | 0.200000 | 29.364000 |
max | 9994.000000 | 99301.000000 | 22638.480000 | 14.000000 | 0.800000 | 8399.976000 |
In [8]:
# Checking for missing values
data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 9994 entries, 0 to 9993
Data columns (total 21 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Row ID 9994 non-null int64
1 Order ID 9994 non-null object
2 Order Date 9994 non-null object
3 Ship Date 9994 non-null object
4 Ship Mode 9994 non-null object
5 Customer ID 9994 non-null object
6 Customer Name 9994 non-null object
7 Segment 9994 non-null object
8 Country 9994 non-null object
9 City 9994 non-null object
10 State 9994 non-null object
11 Postal Code 9994 non-null int64
12 Region 9994 non-null object
13 Product ID 9994 non-null object
14 Category 9994 non-null object
15 Sub-Category 9994 non-null object
16 Product Name 9994 non-null object
17 Sales 9994 non-null float64
18 Quantity 9994 non-null int64
19 Discount 9994 non-null float64
20 Profit 9994 non-null float64
dtypes: float64(3), int64(3), object(15)
memory usage: 1.6+ MB
In [9]:
# Setting column names to lowercase
data.columns = map(str.lower, data.columns)
In [10]:
# Substituting espaces and dashes in the column names by underscores
data.columns = data.columns.str.replace(" ", "_")
data.columns = data.columns.str.replace("-", "_")
In [11]:
# Checking
data.columns
Out[11]:
Index(['row_id', 'order_id', 'order_date', 'ship_date', 'ship_mode',
'customer_id', 'customer_name', 'segment', 'country', 'city', 'state',
'postal_code', 'region', 'product_id', 'category', 'sub_category',
'product_name', 'sales', 'quantity', 'discount', 'profit'],
dtype='object')
In [12]:
# Assess the unique values per column (to know whether a variable is categorical or not)
for c in data.columns:
if len(set(data[c])) < 20:
print(c,set(data[c]))
ship_mode {'Same Day', 'First Class', 'Second Class', 'Standard Class'}
segment {'Corporate', 'Consumer', 'Home Office'}
country {'United States'}
region {'East', 'West', 'Central', 'South'}
category {'Office Supplies', 'Technology', 'Furniture'}
sub_category {'Envelopes', 'Labels', 'Storage', 'Copiers', 'Accessories', 'Bookcases', 'Art', 'Machines', 'Phones', 'Chairs', 'Appliances', 'Fasteners', 'Tables', 'Paper', 'Supplies', 'Furnishings', 'Binders'}
quantity {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14}
discount {0.0, 0.8, 0.2, 0.3, 0.45, 0.5, 0.7, 0.6, 0.32, 0.1, 0.4, 0.15}
In [13]:
# Splitting data by category
df_technology = data.loc[data['category'] == 'Technology']
df_furniture = data.loc[data['category'] == 'Furniture']
df_office = data.loc[data['category'] == 'Office Supplies']
Agora vamos preparar as séries temporais.
In [14]:
# Aggregating sales by order date
ts_technology = df_technology.groupby('order_date')['sales'].sum().reset_index()
ts_furniture = df_furniture.groupby('order_date')['sales'].sum().reset_index()
ts_office = df_office.groupby('order_date')['sales'].sum().reset_index()
In [15]:
# Checking dataset
ts_technology
Out[15]:
| order_date | sales |
0 | 2014-01-06 | 1147.940 |
1 | 2014-01-09 | 31.200 |
2 | 2014-01-13 | 646.740 |
3 | 2014-01-15 | 149.950 |
4 | 2014-01-16 | 124.200 |
... | ... | ... |
819 | 2017-12-25 | 401.208 |
820 | 2017-12-27 | 164.388 |
821 | 2017-12-28 | 14.850 |
822 | 2017-12-29 | 302.376 |
823 | 2017-12-30 | 90.930 |
824 rows × 2 columns
In [16]:
# Setting the date as index
ts_technology = ts_technology.set_index('order_date')
ts_furniture = ts_furniture.set_index('order_date')
ts_office = ts_office.set_index('order_date')
In [17]:
# Visualizing the series
ts_technology
Out[17]:
| sales |
order_date |
|
2014-01-06 | 1147.940 |
2014-01-09 | 31.200 |
2014-01-13 | 646.740 |
2014-01-15 | 149.950 |
2014-01-16 | 124.200 |
... | ... |
2017-12-25 | 401.208 |
2017-12-27 | 164.388 |
2017-12-28 | 14.850 |
2017-12-29 | 302.376 |
2017-12-30 | 90.930 |
824 rows × 1 columns
Agora podemos conferir a performance de vendas ao longo do tempo.
In [18]:
# Plotting sales in the technology category
sales_technology = ts_technology[['sales']]
ax = sales_technology.plot(color = 'b', figsize = (18,6))
plt.xlabel("Data")
plt.ylabel('Sales')
plt.title("Technology Category Sales")
plt.show()
In [19]:
# Plotting sales in the furniture category
sales_furniture = ts_furniture[['sales']]
ax = sales_furniture.plot(color = 'g', figsize = (18,6))
plt.xlabel("Data")
plt.ylabel('Sales')
plt.title("Furniture Category Sales")
plt.show()
In [20]:
# Plotting sales in the office category
sales_office = ts_office[['sales']]
ax = sales_office.plot(color = 'r', figsize = (18,6))
plt.xlabel("Data")
plt.ylabel('Sales')
plt.title("Office Category Sales")
plt.show()
In [21]:
# Checking index type
type(sales_technology.index)
Out[21]:
pandas.core.indexes.base.Index
In [22]:
# Changing index type
sales_technology.index = pd.to_datetime(sales_technology.index)
sales_furniture.index = pd.to_datetime(sales_furniture.index)
sales_office.index = pd.to_datetime(sales_office.index)
In [23]:
# Checking index type
type(sales_technology.index)
Out[23]:
pandas.core.indexes.datetimes.DatetimeIndex
In [24]:
# Resampling data to a monthly frequency
# Done by setting the month as index and then calculating the mean of daily sales over the month
sales_technology_monthly_mean = sales_technology['sales'].resample('MS').mean()
sales_furniture_monthly_mean = sales_furniture['sales'].resample('MS').mean()
sales_office_monthly_mean = sales_office['sales'].resample('MS').mean()
In [25]:
# Verifying the resulting type
type(sales_technology_monthly_mean)
Out[25]:
pandas.core.series.Series
In [26]:
# Checking the data
sales_technology_monthly_mean
Out[26]:
order_date
2014-01-01 449.041429
2014-02-01 229.787143
2014-03-01 2031.948375
2014-04-01 613.028933
2014-05-01 564.698588
2014-06-01 766.905909
2014-07-01 533.608933
2014-08-01 708.435385
2014-09-01 2035.838133
2014-10-01 596.900900
2014-11-01 1208.056320
2014-12-01 1160.732889
2015-01-01 925.070800
2015-02-01 431.121250
2015-03-01 574.662333
2015-04-01 697.559500
2015-05-01 831.642857
2015-06-01 429.024400
2015-07-01 691.397733
2015-08-01 1108.902286
2015-09-01 950.856400
2015-10-01 594.716111
2015-11-01 1037.982652
2015-12-01 1619.637636
2016-01-01 374.671067
2016-02-01 1225.891400
2016-03-01 1135.150105
2016-04-01 875.911882
2016-05-01 1601.816167
2016-06-01 1023.259500
2016-07-01 829.312500
2016-08-01 483.620100
2016-09-01 1144.170300
2016-10-01 1970.835875
2016-11-01 1085.642360
2016-12-01 970.554870
2017-01-01 1195.218071
2017-02-01 430.501714
2017-03-01 1392.859250
2017-04-01 825.559133
2017-05-01 678.329400
2017-06-01 853.055000
2017-07-01 1054.996636
2017-08-01 978.842333
2017-09-01 1077.704120
2017-10-01 1493.439227
2017-11-01 1996.750920
2017-12-01 955.865652
Freq: MS, Name: sales, dtype: float64
In [27]:
# Plotting the monthly mean daily sales of technology products
sales_technology_monthly_mean.plot(figsize = (18, 6), color = 'blue')
plt.xlabel("Purchase Date")
plt.ylabel('Sales')
plt.title("Technology: Average Daily Sales per Month")
plt.show()
In [28]:
# Plotting the monthly mean daily sales of furniture products
sales_furniture_monthly_mean.plot(figsize = (18, 6), color = 'green')
plt.xlabel("Purchase Date")
plt.ylabel('Sales')
plt.title("Furniture: Average Daily Sales per Month")
plt.show()
In [29]:
# Plotting the monthly mean daily sales of office products
sales_office_monthly_mean.plot(figsize = (20, 6), color = 'red')
plt.xlabel("Purchase Date")
plt.ylabel('Sales')
plt.title("Office: Average Daily Sales per Month")
plt.show()
In [30]:
# Decomposing the time series with the monthly mean daily sales of technology products
decomposition = seasonal_decompose(sales_technology_monthly_mean, freq = 12)
rcParams['figure.figsize'] = 18, 12
# Components
trend = decomposition.trend
seasonal = decomposition.seasonal
residual = decomposition.resid
# Plot
plt.subplot(411)
plt.plot(sales_technology_monthly_mean, label = 'Original Series')
plt.legend(loc = 'best')
plt.subplot(412)
plt.plot(trend, label = 'Trend')
plt.legend(loc = 'best')
plt.subplot(413)
plt.plot(seasonal, label = 'Seasonality')
plt.legend(loc = 'best')
plt.subplot(414)
plt.plot(residual, label = 'Residuals')
plt.legend(loc = 'best')
plt.tight_layout()
Stationarity test:
In [31]:
# Function to test stationarity
def stationarity_test(serie):
# Calculating moving statistics
rolmean = serie.rolling(window = 12).mean()
rolstd = serie.rolling(window = 12).std()
# Plot of moving statistics
orig = plt.plot(serie, color = 'blue', label = 'Original')
mean = plt.plot(rolmean, color = 'red', label = 'Moving Average')
std = plt.plot(rolstd, color = 'black', label = 'Standard Deviation')
plt.legend(loc = 'best')
plt.title('Moving Statistics - Mean and Standard Deviation')
plt.show()
# Dickey-Fuller test:
print('\nDickey-Fuller Test Result:\n')
# Test
dftest = adfuller(serie, autolag = 'AIC')
# Formatting the output
df_output = pd.Series(dftest[0:4], index = ['Test Statistic',
'P-value',
'Number of Lags Considered',
'Number of Observations Used'])
# Loop through each item in the test output
for key, value in dftest[4].items():
df_output['Critical Value (%s)'%key] = value
print (df_output)
# Testing p-value
print ('\nConclusion:')
if df_output[1] > 0.05:
print('\nThe p-value is above 0.05, therefore there are no evidences to reject the null hypothesis.')
print('This series probably is not stationary.')
else:
print('\nThe p-value is below 0.05, therefore there are evidences to reject the null hypothesis.')
print('This series probably is stationary.')
In [32]:
# Verifying if the series is stationary
stationarity_test(sales_technology_monthly_mean)
Dickey-Fuller Test Result:
Test Statistic -7.187969e+00
P-value 2.547334e-10
Number of Lags Considered 0.000000e+00
Number of Observations Used 4.700000e+01
Critical Value (1%) -3.577848e+00
Critical Value (5%) -2.925338e+00
Critical Value (10%) -2.600774e+00
dtype: float64
Conclusion:
The p-value is below 0.05, therefore there are evidences to reject the null hypothesis.
This series probably is stationary.
Function to Calculate Accuracy
In [33]:
# Function
def performance(y_true, y_pred):
mse = ((y_pred - y_true) ** 2).mean()
mape = np.mean(np.abs((y_true - y_pred) / y_true)) * 100
return( print('The prediction MSE is {}'.format(round(mse, 2))+
'\nThe prediction RMSE is {}'.format(round(np.sqrt(mse), 2))+
'\nThe prediction MAPE is {}'.format(round(mape, 2))))
Prophet Model
Prophet holiday documentation:
https://facebook.github.io/prophet/docs/seasonality,_holiday_effects,_and_regressors.html
To include holidays and other recurring events into a time series model with Prophet it's necessary to create an additional dataframe to feed the model.
Prophet requires a dataframe with two columns (holiday and ds) and a row for each occurance of the holiday. The dataframe must include all occurances of the holiday, both in the past and in all future dates the model is expected to predict.
It's also possible to include the columns lower_window and upper_window, which extend the holiday to [lower_window, upper_window] days around the date. Essentially a way of indicating extended holidays.
Since this analysis is being conducted on a monthly time series, it doesn't necessarily make sense to include holidays, nevertheless I'm option to include it here as in Prophet's case this variable should not negatively influence the model, plus this could easiy be reverted by emptying the holiday dataframe right before feeding it into the algorithm training process.
Prophet requires that the date column be named 'ds' and the target column be named 'y'
In [34]:
# Load data
data = pd.read_csv('https://raw.githubusercontent.com/dsacademybr/Datasets/master/dataset6.csv')
# Setting column names to lowercase
data.columns = map(str.lower, data.columns)
# Substituting espaces and dashes in the column names by underscores
data.columns = data.columns.str.replace(" ", "_")
data.columns = data.columns.str.replace("-", "_")
# Splitting data by category
df_technology = data.loc[data['category'] == 'Technology']
# Aggregating sales by order date
ts_technology = df_technology.groupby('order_date')['sales'].sum().reset_index()
# Setting the date as index
ts_technology = ts_technology.set_index('order_date')
# Retrieving only sales data
sales_technology = ts_technology[['sales']]
# Changing index type
sales_technology.index = pd.to_datetime(sales_technology.index)
# Resampling data to a monthly frequency
# Done by setting the month as index and then calculating the mean of daily sales over the month
sales_technology_monthly_mean = sales_technology['sales'].resample('MS').mean()
# Train-Test Split
X = sales_technology_monthly_mean
train_size = int(len(X) * 0.75)
trainset, testset = X[0:train_size], X[train_size:]
In [35]:
# Dataframe with holidays
holidays_df = pd.DataFrame([])
for date, name in sorted(holidays.UnitedStates(years=[2014,2015,2016,2017]).items()):
holidays_df = holidays_df.append(pd.DataFrame({'ds': date, 'holiday': name}, index=[0]), ignore_index=True)
holidays_df['ds'] = pd.to_datetime(holidays_df['ds'], format='%Y-%m-%d', errors='ignore')
In [36]:
# Creating dataframes for train and test data
df_train = pd.DataFrame({'order_date':trainset.index, 'sales':trainset.values})
df_test = pd.DataFrame({'order_date':testset.index, 'sales':testset.values})
In [37]:
# Renaming columns: Prophet requires columns to be names 'ds' and 'y'
df_train = df_train.rename(columns = {'order_date': 'ds', 'sales': 'y'})
df_test = df_test.rename(columns = {'order_date': 'ds', 'sales': 'y'})
In [38]:
# Create a Prophet model with annual seasonalisty and the holidays dataframe
prophet_model = Prophet(yearly_seasonality = True, holidays = holidays_df)
Using Prophet's built-in country holiday module, which allows for easy inclusion of holidays into a prophet model for future prediction.
In [39]:
# Adding the built-in Country Holiday method to the model
prophet_model.add_country_holidays(country_name = 'US')
Out[39]:
<fbprophet.forecaster.Prophet at 0x12592a2f2c8>
In [40]:
# Training
prophet_model.fit(df_train)
INFO:numexpr.utils:NumExpr defaulting to 8 threads.
INFO:fbprophet:Disabling weekly seasonality. Run prophet with weekly_seasonality=True to override this.
INFO:fbprophet:Disabling daily seasonality. Run prophet with daily_seasonality=True to override this.
Out[40]:
<fbprophet.forecaster.Prophet at 0x12592a2f2c8>
In [41]:
# Creating dataframe to fill with predictions
prophet_predictions_df = prophet_model.make_future_dataframe(periods = 12, freq = 'MS')
prophet_predictions_df.count()
Out[41]:
ds 48
dtype: int64
In [42]:
# Forecast
prophet_model_predictions = prophet_model.predict(prophet_predictions_df)
In [43]:
# Checking predictions
prophet_model_predictions[['ds', 'yhat', 'yhat_lower', 'yhat_upper']].tail()
Out[43]:
| ds | yhat | yhat_lower | yhat_upper |
43 | 2017-08-01 | 790.707493 | 484.867321 | 1067.218295 |
44 | 2017-09-01 | 1218.777399 | 935.403515 | 1526.101526 |
45 | 2017-10-01 | 1566.094807 | 1283.662932 | 1862.724268 |
46 | 2017-11-01 | 1315.903616 | 1021.928630 | 1608.573564 |
47 | 2017-12-01 | 1343.235536 | 1062.583906 | 1639.685340 |
In [44]:
# Creating a plot to visualize predictions
# Plot predictions
fig = prophet_model.plot(prophet_model_predictions)
# Plot actual sales data in red
plt.plot(testset, label = 'Test', color = 'red', linewidth = 2)
plt.show()
In [45]:
# Checking the entire output dataframe
prophet_model_predictions.head()
Out[45]:
| ds | trend | yhat_lower | yhat_upper | trend_lower | trend_upper | Christmas Day | Christmas Day_lower | Christmas Day_upper | Christmas Day (Observed) | ... | holidays | holidays_lower | holidays_upper | yearly | yearly_lower | yearly_upper | multiplicative_terms | multiplicative_terms_lower | multiplicative_terms_upper | yhat |
0 | 2014-01-01 | 925.615140 | 426.714320 | 1023.872644 | 925.615140 | 925.615140 | 0.0 | 0.0 | 0.0 | 0.0 | ... | -860.551899 | -860.551899 | -860.551899 | 657.249847 | 657.249847 | 657.249847 | 0.0 | 0.0 | 0.0 | 722.313088 |
1 | 2014-02-01 | 935.580148 | -107.551269 | 507.486660 | 935.580148 | 935.580148 | 0.0 | 0.0 | 0.0 | 0.0 | ... | 0.000000 | 0.000000 | 0.000000 | -709.376814 | -709.376814 | -709.376814 | 0.0 | 0.0 | 0.0 | 226.203335 |
2 | 2014-03-01 | 944.580801 | 810.034040 | 1426.133777 | 944.580801 | 944.580801 | 0.0 | 0.0 | 0.0 | 0.0 | ... | 0.000000 | 0.000000 | 0.000000 | 167.586268 | 167.586268 | 167.586268 | 0.0 | 0.0 | 0.0 | 1112.167068 |
3 | 2014-04-01 | 954.545809 | 313.827314 | 916.950991 | 954.545809 | 954.545809 | 0.0 | 0.0 | 0.0 | 0.0 | ... | 0.000000 | 0.000000 | 0.000000 | -341.771264 | -341.771264 | -341.771264 | 0.0 | 0.0 | 0.0 | 612.774545 |
4 | 2014-05-01 | 964.189365 | 530.791563 | 1118.642531 | 964.189365 | 964.189365 | 0.0 | 0.0 | 0.0 | 0.0 | ... | 0.000000 | 0.000000 | 0.000000 | -145.341319 | -145.341319 | -145.341319 | 0.0 | 0.0 | 0.0 | 818.848046 |
5 rows × 61 columns
In [46]:
# Plot
# Original series
plt.plot(sales_technology_monthly_mean.index,
sales_technology_monthly_mean.values,
label = 'Observed Values',
color = '#2574BF')
# Predictions
plt.plot(sales_technology_monthly_mean[36:48].index,
prophet_model_predictions[36:48]['yhat'].values,
label = 'Prophet Model Predictions',
alpha = 0.7,
color = 'red')
# Confidence intervals
plt.fill_between(sales_technology_monthly_mean[36:48].index,
prophet_model_predictions[36:48]['yhat_lower'].values,
prophet_model_predictions[36:48]['yhat_upper'].values,
color = 'k',
alpha = 0.1)
plt.title('Forecasting with Prophet Model')
plt.xlabel('Data')
plt.ylabel('Sales')
plt.legend()
plt.show()
Using prophet_model_predictions[36:48] since the goal is to predict only the sales for the months with werent used to train the Prophet model - in the case the year 2017.
In [47]:
# Calculating performance
prophet_results = performance(testset.values, prophet_model_predictions[36:48]['yhat'])
prophet_results
The prediction MSE is 105965.29
The prediction RMSE is 325.52
The prediction MAPE is 26.45
Model comparison:
ARMA (3,1):
ARIMA (6,0,4):
SARIMA (0,0,1)x(1,1,0,12):
SARIMA (1,1,1)x(1,1,0,12):
SARIMAX (1,1,1)x(1,1,0,12):
Prophet:
Deploy to Production
In [48]:
# Using the pickle package to serialize the model and save in the hard drive
import pickle
In [49]:
# Saving in the 'model' folder
with open('model/prophet_model.pckl', 'wb') as fout:
pickle.dump(prophet_model, fout)
The model will be deployed with the Flask framework.
In [50]:
# Install Flask
# !pip install -q -U flask
In [51]:
# Using flask_cors, to handle CORS (Cross Origin Resource Sharing)
# !pip install -q -U flask_cors
In [52]:
# Imports
import flask
import flask_cors
from flask import Flask, jsonify, request
from flask_cors import CORS, cross_origin
In [53]:
# Versions of the packages used
%reload_ext watermark
%watermark --iversions
sklearn 0.22.1
matplotlib 3.1.3
plotly 4.6.0
numpy 1.18.1
pandas 1.0.2
scipy 1.4.1
fbprophet 0.6
holidays 0.10.1
flask_cors 3.0.8
seaborn 0.10.0
flask 1.1.1
statsmodels.api 0.11.0
statsmodels 0.11.0
Checking how the predictions from the trained model are made. First loading the model, then creating a dataframe with the number of periods to forecast, and then filling it. Doing this to check if the model is working properly.
In [54]:
# Loading the model
with open('model/prophet_model.pckl', 'rb') as fin:
prophet_model_prod = pickle.load(fin)
In [55]:
# Testing the model before deployment
# Creating the predictions dataframe
dataframe_forecast = prophet_model_prod.make_future_dataframe(periods = 60, freq = 'MS')
In [56]:
# Predicting
model_forecast = prophet_model_prod.predict(dataframe_forecast)
In [57]:
# Printing the last predictions
model_forecast[['ds', 'yhat', 'yhat_lower', 'yhat_upper']].tail()
Out[57]:
| ds | yhat | yhat_lower | yhat_upper |
91 | 2021-08-01 | 1260.348681 | 964.962672 | 1553.849069 |
92 | 2021-09-01 | 1688.418587 | 1402.833170 | 2004.778531 |
93 | 2021-10-01 | 2035.735996 | 1726.354399 | 2339.011576 |
94 | 2021-11-01 | 1785.544805 | 1497.756984 | 2067.564820 |
95 | 2021-12-01 | 1812.876724 | 1525.332339 | 2124.678723 |
The prediction procedure works. Time to create the Flask app.
In [58]:
# Imports
import os
import pickle
from pathlib import Path
from flask import Flask, render_template
# Instance a Flask app
app = Flask(__name__)
# Convert the app to CORS (Cross Origin Ressource Sharing)
CORS(app)
# Creating the root (/) which will be shown the the app is opened in a navigator (essentially just showing the index.html page)
@app.route("/")
def main_page():
return render_template("index.html")
# When the user accesses the start page it will be requested to insert the number of periods it wishes to forecast.
# The index.html page will send (via POST method) the parameter the used typed and will call the forecast page.
# This page executes the forecast function below, which makes the predictions and returns an html table with the results.
@app.route("/forecast", methods = ['POST'])
# Forecast
def forecast():
# Verify if the method is POST
if request.method == 'POST':
# From the form, colect the value in the horizon variable
prediction_horizon = int(request.form['horizon'])
# Loading the model
with open('modelo/modelo_prophet.pckl', 'rb') as fin:
prophet_model_prod = pickle.load(fin)
# Creating a dataframe with the number of periods requested by the user
df_app = prophet_model_prod.make_future_dataframe(periods = prediction_horizon, freq = 'MS')
# Predicting
forecast_app = prophet_model_prod.predict(df_app)
# Storing the predictions on another object, returning only the month and the predicted mean daily sales
df_app_predictions = forecast_app[['ds', 'yhat']][-prediction_horizon:]
# Saving the html file
df_app_predictions.to_html('templates/previsoes.html')
html = df_app_predictions.to_html()
# Return
return html
In [60]:
# Running the app on http://localhost:3000
if __name__ == "__main__":
app.run(debug = False, host = '0.0.0.0', port = 3000)
* Serving Flask app "__main__" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
INFO:werkzeug: * Running on http://0.0.0.0:3000/ (Press CTRL+C to quit)
INFO:werkzeug:127.0.0.1 - - [13/May/2020 20:12:34] "GET / HTTP/1.1" 200 -
ERROR:__main__:Exception on /forecast [POST]
Traceback (most recent call last):
File "C:\Users\Matheus\Anaconda3\lib\site-packages\flask\app.py", line 2446, in wsgi_app
response = self.full_dispatch_request()
File "C:\Users\Matheus\Anaconda3\lib\site-packages\flask\app.py", line 1951, in full_dispatch_request
rv = self.handle_user_exception(e)
File "C:\Users\Matheus\Anaconda3\lib\site-packages\flask_cors\extension.py", line 161, in wrapped_function
return cors_after_request(app.make_response(f(*args, **kwargs)))
File "C:\Users\Matheus\Anaconda3\lib\site-packages\flask\app.py", line 1820, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "C:\Users\Matheus\Anaconda3\lib\site-packages\flask\_compat.py", line 39, in reraise
raise value
File "C:\Users\Matheus\Anaconda3\lib\site-packages\flask\app.py", line 1949, in full_dispatch_request
rv = self.dispatch_request()
File "C:\Users\Matheus\Anaconda3\lib\site-packages\flask\app.py", line 1935, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "<ipython-input-58-4505a33b6204>", line 34, in forecast
prediction_horizon = int(request.form['horizon'])
ValueError: invalid literal for int() with base 10: 'a'
INFO:werkzeug:127.0.0.1 - - [13/May/2020 20:12:37] "POST /forecast HTTP/1.1" 500 -
While the cell above is running the model will be available at: http://localhost:3000
All the user needs to do is insert a number and the model will predict that many months ahead. There is no error treatment.