This example uses pandas to manipulate a dataset and loads a csv/txt file. For a more detailed guide refer to tensorflow example. In case of doubts refer to the documentation on https://clipper.ai.


In [2]:
import tensorflow as tf
import keras
from keras.models import Sequential
from keras.layers import Dense
import pandas as pd
import numpy as np
import time


Using TensorFlow backend.

In [3]:
# Load a text file with diabetes records
# This is the same dataset as included in Scikit example, where it's loaded automatically
dataset = pd.read_csv("diabetes.txt", delimiter=" ")

In [4]:
# 80-20 split
train_dataset = dataset.sample(frac=0.8,random_state=0)
test_dataset = dataset.drop(train_dataset.index)

In [5]:
# Target variable
train_labels = train_dataset.pop('y')
test_labels = test_dataset.pop('y')

In [6]:
# Build a simple neural network
def build_model():
  model = Sequential()
  model.add(Dense(64, activation='relu', input_shape=[len(train_dataset.keys())]))
  model.add(Dense(64, activation='relu'))
  model.add(Dense(units =1))

  model.compile(loss='mean_squared_error',
                optimizer='Adam',
                metrics=['mean_absolute_error', 'mean_squared_error'])
  return model

model = build_model()


WARNING:tensorflow:From /home/cloud-user/.pyenv/versions/3.6.8/lib/python3.6/site-packages/tensorflow/python/framework/op_def_library.py:263: colocate_with (from tensorflow.python.framework.ops) is deprecated and will be removed in a future version.
Instructions for updating:
Colocations handled automatically by placer.

In [7]:
# Train the network a bit
EPOCHS = 400
model.fit(
  train_dataset, train_labels,
  epochs=EPOCHS, validation_split = 0.2)


WARNING:tensorflow:From /home/cloud-user/.pyenv/versions/3.6.8/lib/python3.6/site-packages/tensorflow/python/ops/math_ops.py:3066: to_int32 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use tf.cast instead.
Train on 283 samples, validate on 71 samples
Epoch 1/400
283/283 [==============================] - 0s 850us/step - loss: 29203.1493 - mean_absolute_error: 153.4921 - mean_squared_error: 29203.1493 - val_loss: 26926.8548 - val_mean_absolute_error: 144.8961 - val_mean_squared_error: 26926.8548
Epoch 2/400
283/283 [==============================] - 0s 50us/step - loss: 29172.2434 - mean_absolute_error: 153.3915 - mean_squared_error: 29172.2434 - val_loss: 26892.2437 - val_mean_absolute_error: 144.7759 - val_mean_squared_error: 26892.2437
Epoch 3/400
283/283 [==============================] - 0s 54us/step - loss: 29127.8982 - mean_absolute_error: 153.2515 - mean_squared_error: 29127.8982 - val_loss: 26841.3228 - val_mean_absolute_error: 144.6013 - val_mean_squared_error: 26841.3228
Epoch 4/400
283/283 [==============================] - 0s 47us/step - loss: 29062.3622 - mean_absolute_error: 153.0409 - mean_squared_error: 29062.3622 - val_loss: 26764.4489 - val_mean_absolute_error: 144.3404 - val_mean_squared_error: 26764.4489
Epoch 5/400
283/283 [==============================] - 0s 45us/step - loss: 28962.1839 - mean_absolute_error: 152.7233 - mean_squared_error: 28962.1839 - val_loss: 26648.8173 - val_mean_absolute_error: 143.9503 - val_mean_squared_error: 26648.8173
Epoch 6/400
283/283 [==============================] - 0s 47us/step - loss: 28815.0469 - mean_absolute_error: 152.2472 - mean_squared_error: 28815.0469 - val_loss: 26477.9977 - val_mean_absolute_error: 143.3756 - val_mean_squared_error: 26477.9977
Epoch 7/400
283/283 [==============================] - 0s 45us/step - loss: 28596.6250 - mean_absolute_error: 151.5618 - mean_squared_error: 28596.6250 - val_loss: 26238.1110 - val_mean_absolute_error: 142.5661 - val_mean_squared_error: 26238.1110
Epoch 8/400
283/283 [==============================] - 0s 49us/step - loss: 28296.0528 - mean_absolute_error: 150.6042 - mean_squared_error: 28296.0528 - val_loss: 25909.0725 - val_mean_absolute_error: 141.4523 - val_mean_squared_error: 25909.0725
Epoch 9/400
283/283 [==============================] - 0s 43us/step - loss: 27884.6258 - mean_absolute_error: 149.3015 - mean_squared_error: 27884.6258 - val_loss: 25479.3324 - val_mean_absolute_error: 139.9854 - val_mean_squared_error: 25479.3324
Epoch 10/400
283/283 [==============================] - 0s 46us/step - loss: 27362.1659 - mean_absolute_error: 147.6064 - mean_squared_error: 27362.1659 - val_loss: 24926.1356 - val_mean_absolute_error: 138.0798 - val_mean_squared_error: 24926.1356
Epoch 11/400
283/283 [==============================] - 0s 47us/step - loss: 26704.8851 - mean_absolute_error: 145.4229 - mean_squared_error: 26704.8851 - val_loss: 24237.9963 - val_mean_absolute_error: 135.6748 - val_mean_squared_error: 24237.9963
Epoch 12/400
283/283 [==============================] - 0s 48us/step - loss: 25904.1358 - mean_absolute_error: 142.7089 - mean_squared_error: 25904.1358 - val_loss: 23406.2826 - val_mean_absolute_error: 132.7167 - val_mean_squared_error: 23406.2826
Epoch 13/400
283/283 [==============================] - 0s 51us/step - loss: 24910.2009 - mean_absolute_error: 139.4230 - mean_squared_error: 24910.2009 - val_loss: 22438.8516 - val_mean_absolute_error: 129.1941 - val_mean_squared_error: 22438.8516
Epoch 14/400
283/283 [==============================] - 0s 49us/step - loss: 23770.1691 - mean_absolute_error: 135.4756 - mean_squared_error: 23770.1691 - val_loss: 21321.4220 - val_mean_absolute_error: 125.0026 - val_mean_squared_error: 21321.4220
Epoch 15/400
283/283 [==============================] - 0s 52us/step - loss: 22498.1169 - mean_absolute_error: 130.8381 - mean_squared_error: 22498.1169 - val_loss: 20046.0097 - val_mean_absolute_error: 120.0591 - val_mean_squared_error: 20046.0097
Epoch 16/400
283/283 [==============================] - 0s 48us/step - loss: 21009.8673 - mean_absolute_error: 125.4464 - mean_squared_error: 21009.8673 - val_loss: 18667.8068 - val_mean_absolute_error: 114.4672 - val_mean_squared_error: 18667.8068
Epoch 17/400
283/283 [==============================] - 0s 46us/step - loss: 19460.5960 - mean_absolute_error: 119.3522 - mean_squared_error: 19460.5960 - val_loss: 17160.1898 - val_mean_absolute_error: 108.0449 - val_mean_squared_error: 17160.1898
Epoch 18/400
283/283 [==============================] - 0s 41us/step - loss: 17778.2650 - mean_absolute_error: 112.4820 - mean_squared_error: 17778.2650 - val_loss: 15583.1194 - val_mean_absolute_error: 100.9083 - val_mean_squared_error: 15583.1194
Epoch 19/400
283/283 [==============================] - 0s 44us/step - loss: 15986.5818 - mean_absolute_error: 105.0583 - mean_squared_error: 15986.5818 - val_loss: 13991.1901 - val_mean_absolute_error: 93.5193 - val_mean_squared_error: 13991.1901
Epoch 20/400
283/283 [==============================] - 0s 45us/step - loss: 14232.2607 - mean_absolute_error: 97.1957 - mean_squared_error: 14232.2607 - val_loss: 12392.3303 - val_mean_absolute_error: 85.7290 - val_mean_squared_error: 12392.3303
Epoch 21/400
283/283 [==============================] - 0s 49us/step - loss: 12483.3260 - mean_absolute_error: 89.5183 - mean_squared_error: 12483.3260 - val_loss: 10847.7443 - val_mean_absolute_error: 78.6412 - val_mean_squared_error: 10847.7443
Epoch 22/400
283/283 [==============================] - 0s 47us/step - loss: 10785.1891 - mean_absolute_error: 81.9406 - mean_squared_error: 10785.1891 - val_loss: 9420.4856 - val_mean_absolute_error: 72.5322 - val_mean_squared_error: 9420.4856
Epoch 23/400
283/283 [==============================] - 0s 44us/step - loss: 9275.2791 - mean_absolute_error: 74.8613 - mean_squared_error: 9275.2791 - val_loss: 8122.2688 - val_mean_absolute_error: 67.2849 - val_mean_squared_error: 8122.2688
Epoch 24/400
283/283 [==============================] - 0s 47us/step - loss: 7889.1973 - mean_absolute_error: 68.7224 - mean_squared_error: 7889.1973 - val_loss: 7032.0252 - val_mean_absolute_error: 63.0627 - val_mean_squared_error: 7032.0252
Epoch 25/400
283/283 [==============================] - 0s 47us/step - loss: 6713.9497 - mean_absolute_error: 63.4630 - mean_squared_error: 6713.9497 - val_loss: 6157.2941 - val_mean_absolute_error: 59.9403 - val_mean_squared_error: 6157.2941
Epoch 26/400
283/283 [==============================] - 0s 48us/step - loss: 5776.6649 - mean_absolute_error: 59.6202 - mean_squared_error: 5776.6649 - val_loss: 5494.8479 - val_mean_absolute_error: 58.1918 - val_mean_squared_error: 5494.8479
Epoch 27/400
283/283 [==============================] - 0s 56us/step - loss: 5081.5562 - mean_absolute_error: 56.6912 - mean_squared_error: 5081.5562 - val_loss: 5009.6587 - val_mean_absolute_error: 57.2447 - val_mean_squared_error: 5009.6587
Epoch 28/400
283/283 [==============================] - 0s 50us/step - loss: 4606.4078 - mean_absolute_error: 54.8291 - mean_squared_error: 4606.4078 - val_loss: 4673.3006 - val_mean_absolute_error: 56.9460 - val_mean_squared_error: 4673.3006
Epoch 29/400
283/283 [==============================] - 0s 50us/step - loss: 4240.6827 - mean_absolute_error: 53.3612 - mean_squared_error: 4240.6827 - val_loss: 4482.2201 - val_mean_absolute_error: 57.0179 - val_mean_squared_error: 4482.2201
Epoch 30/400
283/283 [==============================] - 0s 57us/step - loss: 4026.2220 - mean_absolute_error: 52.6537 - mean_squared_error: 4026.2220 - val_loss: 4375.6947 - val_mean_absolute_error: 57.1376 - val_mean_squared_error: 4375.6947
Epoch 31/400
283/283 [==============================] - 0s 47us/step - loss: 3901.1314 - mean_absolute_error: 52.2434 - mean_squared_error: 3901.1314 - val_loss: 4315.6461 - val_mean_absolute_error: 57.1472 - val_mean_squared_error: 4315.6461
Epoch 32/400
283/283 [==============================] - 0s 47us/step - loss: 3819.0269 - mean_absolute_error: 51.8589 - mean_squared_error: 3819.0269 - val_loss: 4278.9856 - val_mean_absolute_error: 57.0888 - val_mean_squared_error: 4278.9856
Epoch 33/400
283/283 [==============================] - 0s 42us/step - loss: 3779.5357 - mean_absolute_error: 51.6615 - mean_squared_error: 3779.5357 - val_loss: 4249.5724 - val_mean_absolute_error: 57.0226 - val_mean_squared_error: 4249.5724
Epoch 34/400
283/283 [==============================] - 0s 42us/step - loss: 3737.5900 - mean_absolute_error: 51.4064 - mean_squared_error: 3737.5900 - val_loss: 4225.5300 - val_mean_absolute_error: 56.8795 - val_mean_squared_error: 4225.5300
Epoch 35/400
283/283 [==============================] - 0s 46us/step - loss: 3703.2178 - mean_absolute_error: 51.1923 - mean_squared_error: 3703.2178 - val_loss: 4200.3504 - val_mean_absolute_error: 56.6676 - val_mean_squared_error: 4200.3504
Epoch 36/400
283/283 [==============================] - 0s 46us/step - loss: 3674.8084 - mean_absolute_error: 50.9750 - mean_squared_error: 3674.8084 - val_loss: 4176.6280 - val_mean_absolute_error: 56.4676 - val_mean_squared_error: 4176.6280
Epoch 37/400
283/283 [==============================] - 0s 43us/step - loss: 3648.5910 - mean_absolute_error: 50.7663 - mean_squared_error: 3648.5910 - val_loss: 4150.7125 - val_mean_absolute_error: 56.1889 - val_mean_squared_error: 4150.7125
Epoch 38/400
283/283 [==============================] - 0s 42us/step - loss: 3623.9107 - mean_absolute_error: 50.5613 - mean_squared_error: 3623.9107 - val_loss: 4127.7965 - val_mean_absolute_error: 55.9972 - val_mean_squared_error: 4127.7965
Epoch 39/400
283/283 [==============================] - 0s 45us/step - loss: 3600.9158 - mean_absolute_error: 50.3625 - mean_squared_error: 3600.9158 - val_loss: 4099.5522 - val_mean_absolute_error: 55.6556 - val_mean_squared_error: 4099.5522
Epoch 40/400
283/283 [==============================] - 0s 42us/step - loss: 3572.1966 - mean_absolute_error: 50.1232 - mean_squared_error: 3572.1966 - val_loss: 4078.5100 - val_mean_absolute_error: 55.4297 - val_mean_squared_error: 4078.5100
Epoch 41/400
283/283 [==============================] - 0s 41us/step - loss: 3551.5330 - mean_absolute_error: 49.9627 - mean_squared_error: 3551.5330 - val_loss: 4056.9394 - val_mean_absolute_error: 55.1916 - val_mean_squared_error: 4056.9394
Epoch 42/400
283/283 [==============================] - 0s 43us/step - loss: 3530.4534 - mean_absolute_error: 49.8173 - mean_squared_error: 3530.4534 - val_loss: 4035.1871 - val_mean_absolute_error: 54.9686 - val_mean_squared_error: 4035.1871
Epoch 43/400
283/283 [==============================] - 0s 49us/step - loss: 3509.6121 - mean_absolute_error: 49.6481 - mean_squared_error: 3509.6121 - val_loss: 4012.3706 - val_mean_absolute_error: 54.6822 - val_mean_squared_error: 4012.3706
Epoch 44/400
283/283 [==============================] - 0s 47us/step - loss: 3490.0412 - mean_absolute_error: 49.4848 - mean_squared_error: 3490.0412 - val_loss: 3993.0643 - val_mean_absolute_error: 54.4647 - val_mean_squared_error: 3993.0643
Epoch 45/400
283/283 [==============================] - 0s 44us/step - loss: 3468.5938 - mean_absolute_error: 49.3254 - mean_squared_error: 3468.5938 - val_loss: 3971.0047 - val_mean_absolute_error: 54.1937 - val_mean_squared_error: 3971.0047
Epoch 46/400
283/283 [==============================] - 0s 46us/step - loss: 3450.3534 - mean_absolute_error: 49.1780 - mean_squared_error: 3450.3534 - val_loss: 3951.7881 - val_mean_absolute_error: 53.9685 - val_mean_squared_error: 3951.7881
Epoch 47/400
283/283 [==============================] - 0s 41us/step - loss: 3429.8213 - mean_absolute_error: 49.0162 - mean_squared_error: 3429.8213 - val_loss: 3932.1276 - val_mean_absolute_error: 53.7266 - val_mean_squared_error: 3932.1276
Epoch 48/400
283/283 [==============================] - 0s 53us/step - loss: 3414.7425 - mean_absolute_error: 48.8616 - mean_squared_error: 3414.7425 - val_loss: 3913.2751 - val_mean_absolute_error: 53.4381 - val_mean_squared_error: 3913.2751
Epoch 49/400
283/283 [==============================] - 0s 44us/step - loss: 3395.3125 - mean_absolute_error: 48.7183 - mean_squared_error: 3395.3125 - val_loss: 3895.2002 - val_mean_absolute_error: 53.2229 - val_mean_squared_error: 3895.2002
Epoch 50/400
283/283 [==============================] - 0s 44us/step - loss: 3380.7089 - mean_absolute_error: 48.6081 - mean_squared_error: 3380.7089 - val_loss: 3877.0604 - val_mean_absolute_error: 53.0294 - val_mean_squared_error: 3877.0604
Epoch 51/400
283/283 [==============================] - 0s 46us/step - loss: 3364.9898 - mean_absolute_error: 48.4728 - mean_squared_error: 3364.9898 - val_loss: 3860.0483 - val_mean_absolute_error: 52.8381 - val_mean_squared_error: 3860.0483
Epoch 52/400
283/283 [==============================] - 0s 46us/step - loss: 3349.2686 - mean_absolute_error: 48.3619 - mean_squared_error: 3349.2686 - val_loss: 3843.2460 - val_mean_absolute_error: 52.6403 - val_mean_squared_error: 3843.2460
Epoch 53/400
283/283 [==============================] - 0s 44us/step - loss: 3334.3562 - mean_absolute_error: 48.1975 - mean_squared_error: 3334.3562 - val_loss: 3823.8713 - val_mean_absolute_error: 52.3151 - val_mean_squared_error: 3823.8713
Epoch 54/400
283/283 [==============================] - 0s 42us/step - loss: 3317.7157 - mean_absolute_error: 48.0487 - mean_squared_error: 3317.7157 - val_loss: 3806.5135 - val_mean_absolute_error: 52.1235 - val_mean_squared_error: 3806.5135
Epoch 55/400
283/283 [==============================] - 0s 44us/step - loss: 3306.0887 - mean_absolute_error: 47.9450 - mean_squared_error: 3306.0887 - val_loss: 3790.6862 - val_mean_absolute_error: 51.9921 - val_mean_squared_error: 3790.6862
Epoch 56/400
283/283 [==============================] - 0s 48us/step - loss: 3292.3001 - mean_absolute_error: 47.8343 - mean_squared_error: 3292.3001 - val_loss: 3775.2995 - val_mean_absolute_error: 51.8046 - val_mean_squared_error: 3775.2995
Epoch 57/400
283/283 [==============================] - 0s 42us/step - loss: 3278.6667 - mean_absolute_error: 47.7030 - mean_squared_error: 3278.6667 - val_loss: 3758.9474 - val_mean_absolute_error: 51.5698 - val_mean_squared_error: 3758.9474
Epoch 58/400
283/283 [==============================] - 0s 51us/step - loss: 3266.4860 - mean_absolute_error: 47.5838 - mean_squared_error: 3266.4860 - val_loss: 3745.7567 - val_mean_absolute_error: 51.3658 - val_mean_squared_error: 3745.7567
Epoch 59/400
283/283 [==============================] - 0s 46us/step - loss: 3255.0464 - mean_absolute_error: 47.4596 - mean_squared_error: 3255.0464 - val_loss: 3729.2790 - val_mean_absolute_error: 51.1703 - val_mean_squared_error: 3729.2790
Epoch 60/400
283/283 [==============================] - 0s 53us/step - loss: 3243.2709 - mean_absolute_error: 47.3581 - mean_squared_error: 3243.2709 - val_loss: 3713.6466 - val_mean_absolute_error: 51.0542 - val_mean_squared_error: 3713.6466
Epoch 61/400
283/283 [==============================] - 0s 49us/step - loss: 3231.5485 - mean_absolute_error: 47.2503 - mean_squared_error: 3231.5485 - val_loss: 3699.8983 - val_mean_absolute_error: 50.9529 - val_mean_squared_error: 3699.8983
Epoch 62/400
283/283 [==============================] - 0s 63us/step - loss: 3221.0733 - mean_absolute_error: 47.1559 - mean_squared_error: 3221.0733 - val_loss: 3686.1720 - val_mean_absolute_error: 50.7889 - val_mean_squared_error: 3686.1720
Epoch 63/400
283/283 [==============================] - 0s 52us/step - loss: 3209.8410 - mean_absolute_error: 47.0403 - mean_squared_error: 3209.8410 - val_loss: 3671.4939 - val_mean_absolute_error: 50.6110 - val_mean_squared_error: 3671.4939
Epoch 64/400
283/283 [==============================] - 0s 48us/step - loss: 3200.1566 - mean_absolute_error: 46.9351 - mean_squared_error: 3200.1566 - val_loss: 3658.6249 - val_mean_absolute_error: 50.4049 - val_mean_squared_error: 3658.6249
Epoch 65/400
283/283 [==============================] - 0s 46us/step - loss: 3189.4136 - mean_absolute_error: 46.8168 - mean_squared_error: 3189.4136 - val_loss: 3644.6300 - val_mean_absolute_error: 50.2356 - val_mean_squared_error: 3644.6300
Epoch 66/400
283/283 [==============================] - 0s 57us/step - loss: 3179.0683 - mean_absolute_error: 46.7134 - mean_squared_error: 3179.0683 - val_loss: 3632.6404 - val_mean_absolute_error: 50.0863 - val_mean_squared_error: 3632.6404
Epoch 67/400
283/283 [==============================] - 0s 47us/step - loss: 3174.7743 - mean_absolute_error: 46.6536 - mean_squared_error: 3174.7743 - val_loss: 3618.8718 - val_mean_absolute_error: 49.9749 - val_mean_squared_error: 3618.8718
Epoch 68/400
283/283 [==============================] - 0s 41us/step - loss: 3161.9839 - mean_absolute_error: 46.5348 - mean_squared_error: 3161.9839 - val_loss: 3608.8479 - val_mean_absolute_error: 49.7641 - val_mean_squared_error: 3608.8479
Epoch 69/400
283/283 [==============================] - 0s 42us/step - loss: 3152.3432 - mean_absolute_error: 46.4284 - mean_squared_error: 3152.3432 - val_loss: 3596.8543 - val_mean_absolute_error: 49.6402 - val_mean_squared_error: 3596.8543
Epoch 70/400
283/283 [==============================] - 0s 47us/step - loss: 3144.2371 - mean_absolute_error: 46.3478 - mean_squared_error: 3144.2371 - val_loss: 3584.2361 - val_mean_absolute_error: 49.4981 - val_mean_squared_error: 3584.2361
Epoch 71/400
283/283 [==============================] - 0s 41us/step - loss: 3135.7567 - mean_absolute_error: 46.2568 - mean_squared_error: 3135.7567 - val_loss: 3573.9770 - val_mean_absolute_error: 49.3594 - val_mean_squared_error: 3573.9770
Epoch 72/400
283/283 [==============================] - 0s 44us/step - loss: 3130.2696 - mean_absolute_error: 46.1994 - mean_squared_error: 3130.2696 - val_loss: 3560.6580 - val_mean_absolute_error: 49.1764 - val_mean_squared_error: 3560.6580
Epoch 73/400
283/283 [==============================] - 0s 42us/step - loss: 3120.7978 - mean_absolute_error: 46.1062 - mean_squared_error: 3120.7978 - val_loss: 3548.2407 - val_mean_absolute_error: 49.0711 - val_mean_squared_error: 3548.2407
Epoch 74/400
283/283 [==============================] - 0s 44us/step - loss: 3113.1419 - mean_absolute_error: 46.0296 - mean_squared_error: 3113.1419 - val_loss: 3535.4725 - val_mean_absolute_error: 48.9562 - val_mean_squared_error: 3535.4725
Epoch 75/400
283/283 [==============================] - 0s 46us/step - loss: 3111.9999 - mean_absolute_error: 46.0078 - mean_squared_error: 3111.9999 - val_loss: 3522.5224 - val_mean_absolute_error: 48.9170 - val_mean_squared_error: 3522.5224
Epoch 76/400
283/283 [==============================] - 0s 39us/step - loss: 3098.8902 - mean_absolute_error: 45.9007 - mean_squared_error: 3098.8902 - val_loss: 3512.6008 - val_mean_absolute_error: 48.7240 - val_mean_squared_error: 3512.6008
Epoch 77/400
283/283 [==============================] - 0s 46us/step - loss: 3096.2259 - mean_absolute_error: 45.8529 - mean_squared_error: 3096.2259 - val_loss: 3502.2464 - val_mean_absolute_error: 48.5978 - val_mean_squared_error: 3502.2464
Epoch 78/400
283/283 [==============================] - 0s 47us/step - loss: 3087.1463 - mean_absolute_error: 45.7491 - mean_squared_error: 3087.1463 - val_loss: 3495.6866 - val_mean_absolute_error: 48.4179 - val_mean_squared_error: 3495.6866
Epoch 79/400
283/283 [==============================] - 0s 51us/step - loss: 3081.2941 - mean_absolute_error: 45.6787 - mean_squared_error: 3081.2941 - val_loss: 3483.9527 - val_mean_absolute_error: 48.2987 - val_mean_squared_error: 3483.9527
Epoch 80/400
283/283 [==============================] - 0s 47us/step - loss: 3074.5683 - mean_absolute_error: 45.6042 - mean_squared_error: 3074.5683 - val_loss: 3475.1632 - val_mean_absolute_error: 48.1643 - val_mean_squared_error: 3475.1632
Epoch 81/400
283/283 [==============================] - 0s 44us/step - loss: 3069.8881 - mean_absolute_error: 45.5650 - mean_squared_error: 3069.8881 - val_loss: 3465.2660 - val_mean_absolute_error: 48.0820 - val_mean_squared_error: 3465.2660
Epoch 82/400
283/283 [==============================] - 0s 47us/step - loss: 3063.9467 - mean_absolute_error: 45.4920 - mean_squared_error: 3063.9467 - val_loss: 3454.7649 - val_mean_absolute_error: 47.9680 - val_mean_squared_error: 3454.7649
Epoch 83/400
283/283 [==============================] - 0s 46us/step - loss: 3060.1031 - mean_absolute_error: 45.4312 - mean_squared_error: 3060.1031 - val_loss: 3443.9638 - val_mean_absolute_error: 47.8692 - val_mean_squared_error: 3443.9638
Epoch 84/400
283/283 [==============================] - 0s 47us/step - loss: 3053.2192 - mean_absolute_error: 45.3625 - mean_squared_error: 3053.2192 - val_loss: 3435.2252 - val_mean_absolute_error: 47.7347 - val_mean_squared_error: 3435.2252
Epoch 85/400
283/283 [==============================] - 0s 43us/step - loss: 3048.3012 - mean_absolute_error: 45.2998 - mean_squared_error: 3048.3012 - val_loss: 3428.4425 - val_mean_absolute_error: 47.5692 - val_mean_squared_error: 3428.4425
Epoch 86/400
283/283 [==============================] - 0s 47us/step - loss: 3043.7494 - mean_absolute_error: 45.2403 - mean_squared_error: 3043.7494 - val_loss: 3419.8286 - val_mean_absolute_error: 47.4722 - val_mean_squared_error: 3419.8286
Epoch 87/400
283/283 [==============================] - 0s 44us/step - loss: 3040.5861 - mean_absolute_error: 45.1909 - mean_squared_error: 3040.5861 - val_loss: 3411.0589 - val_mean_absolute_error: 47.3747 - val_mean_squared_error: 3411.0589
Epoch 88/400
283/283 [==============================] - 0s 45us/step - loss: 3035.9477 - mean_absolute_error: 45.1335 - mean_squared_error: 3035.9477 - val_loss: 3404.3510 - val_mean_absolute_error: 47.2336 - val_mean_squared_error: 3404.3510
Epoch 89/400
283/283 [==============================] - 0s 43us/step - loss: 3032.7755 - mean_absolute_error: 45.0886 - mean_squared_error: 3032.7755 - val_loss: 3399.3819 - val_mean_absolute_error: 47.1039 - val_mean_squared_error: 3399.3819
Epoch 90/400
283/283 [==============================] - 0s 45us/step - loss: 3029.2812 - mean_absolute_error: 45.0414 - mean_squared_error: 3029.2812 - val_loss: 3387.8094 - val_mean_absolute_error: 47.0553 - val_mean_squared_error: 3387.8094
Epoch 91/400
283/283 [==============================] - 0s 47us/step - loss: 3024.6811 - mean_absolute_error: 45.0043 - mean_squared_error: 3024.6811 - val_loss: 3383.5202 - val_mean_absolute_error: 46.9509 - val_mean_squared_error: 3383.5202
Epoch 92/400
283/283 [==============================] - 0s 42us/step - loss: 3021.1904 - mean_absolute_error: 44.9669 - mean_squared_error: 3021.1904 - val_loss: 3374.7332 - val_mean_absolute_error: 46.8644 - val_mean_squared_error: 3374.7332
Epoch 93/400
283/283 [==============================] - 0s 45us/step - loss: 3021.9954 - mean_absolute_error: 44.9856 - mean_squared_error: 3021.9954 - val_loss: 3363.3691 - val_mean_absolute_error: 46.8673 - val_mean_squared_error: 3363.3691
Epoch 94/400
283/283 [==============================] - 0s 46us/step - loss: 3016.9537 - mean_absolute_error: 44.9028 - mean_squared_error: 3016.9537 - val_loss: 3361.1864 - val_mean_absolute_error: 46.6799 - val_mean_squared_error: 3361.1864
Epoch 95/400
283/283 [==============================] - 0s 50us/step - loss: 3011.7708 - mean_absolute_error: 44.8657 - mean_squared_error: 3011.7708 - val_loss: 3352.1786 - val_mean_absolute_error: 46.6296 - val_mean_squared_error: 3352.1786
Epoch 96/400
283/283 [==============================] - 0s 45us/step - loss: 3015.1563 - mean_absolute_error: 44.8876 - mean_squared_error: 3015.1563 - val_loss: 3339.9940 - val_mean_absolute_error: 46.6327 - val_mean_squared_error: 3339.9940
Epoch 97/400
283/283 [==============================] - 0s 41us/step - loss: 3004.1771 - mean_absolute_error: 44.8052 - mean_squared_error: 3004.1771 - val_loss: 3337.0856 - val_mean_absolute_error: 46.4850 - val_mean_squared_error: 3337.0856
Epoch 98/400
283/283 [==============================] - 0s 39us/step - loss: 3002.5052 - mean_absolute_error: 44.7745 - mean_squared_error: 3002.5052 - val_loss: 3335.9298 - val_mean_absolute_error: 46.3556 - val_mean_squared_error: 3335.9298
Epoch 99/400
283/283 [==============================] - 0s 42us/step - loss: 3000.3922 - mean_absolute_error: 44.7455 - mean_squared_error: 3000.3922 - val_loss: 3328.2828 - val_mean_absolute_error: 46.2811 - val_mean_squared_error: 3328.2828
Epoch 100/400
283/283 [==============================] - 0s 45us/step - loss: 2996.8107 - mean_absolute_error: 44.7028 - mean_squared_error: 2996.8107 - val_loss: 3323.4420 - val_mean_absolute_error: 46.2124 - val_mean_squared_error: 3323.4420
Epoch 101/400
283/283 [==============================] - 0s 47us/step - loss: 3000.8345 - mean_absolute_error: 44.7485 - mean_squared_error: 3000.8345 - val_loss: 3311.2902 - val_mean_absolute_error: 46.2141 - val_mean_squared_error: 3311.2902
Epoch 102/400
283/283 [==============================] - 0s 41us/step - loss: 2994.6786 - mean_absolute_error: 44.7039 - mean_squared_error: 2994.6786 - val_loss: 3305.0821 - val_mean_absolute_error: 46.1520 - val_mean_squared_error: 3305.0821
Epoch 103/400
283/283 [==============================] - 0s 42us/step - loss: 2991.9574 - mean_absolute_error: 44.6683 - mean_squared_error: 2991.9574 - val_loss: 3308.3199 - val_mean_absolute_error: 45.9938 - val_mean_squared_error: 3308.3199
Epoch 104/400
283/283 [==============================] - 0s 43us/step - loss: 2988.7994 - mean_absolute_error: 44.6286 - mean_squared_error: 2988.7994 - val_loss: 3300.9907 - val_mean_absolute_error: 45.9364 - val_mean_squared_error: 3300.9907
Epoch 105/400
283/283 [==============================] - 0s 40us/step - loss: 2987.0556 - mean_absolute_error: 44.6088 - mean_squared_error: 2987.0556 - val_loss: 3292.3923 - val_mean_absolute_error: 45.9221 - val_mean_squared_error: 3292.3923
Epoch 106/400
283/283 [==============================] - 0s 48us/step - loss: 2986.5091 - mean_absolute_error: 44.5958 - mean_squared_error: 2986.5091 - val_loss: 3293.5013 - val_mean_absolute_error: 45.7996 - val_mean_squared_error: 3293.5013
Epoch 107/400
283/283 [==============================] - 0s 40us/step - loss: 2982.2209 - mean_absolute_error: 44.5680 - mean_squared_error: 2982.2209 - val_loss: 3281.8263 - val_mean_absolute_error: 45.8169 - val_mean_squared_error: 3281.8263
Epoch 108/400
283/283 [==============================] - 0s 41us/step - loss: 2980.3235 - mean_absolute_error: 44.5527 - mean_squared_error: 2980.3235 - val_loss: 3277.8103 - val_mean_absolute_error: 45.7418 - val_mean_squared_error: 3277.8103
Epoch 109/400
283/283 [==============================] - 0s 47us/step - loss: 2978.7886 - mean_absolute_error: 44.5337 - mean_squared_error: 2978.7886 - val_loss: 3274.4289 - val_mean_absolute_error: 45.6663 - val_mean_squared_error: 3274.4289
Epoch 110/400
283/283 [==============================] - 0s 50us/step - loss: 2976.0057 - mean_absolute_error: 44.5115 - mean_squared_error: 2976.0057 - val_loss: 3267.8291 - val_mean_absolute_error: 45.6247 - val_mean_squared_error: 3267.8291
Epoch 111/400
283/283 [==============================] - 0s 41us/step - loss: 2975.3256 - mean_absolute_error: 44.5062 - mean_squared_error: 2975.3256 - val_loss: 3262.3476 - val_mean_absolute_error: 45.5657 - val_mean_squared_error: 3262.3476
Epoch 112/400
283/283 [==============================] - 0s 52us/step - loss: 2973.2464 - mean_absolute_error: 44.4867 - mean_squared_error: 2973.2464 - val_loss: 3259.3404 - val_mean_absolute_error: 45.4915 - val_mean_squared_error: 3259.3404
Epoch 113/400
283/283 [==============================] - 0s 51us/step - loss: 2970.6358 - mean_absolute_error: 44.4665 - mean_squared_error: 2970.6358 - val_loss: 3256.4581 - val_mean_absolute_error: 45.4353 - val_mean_squared_error: 3256.4581
Epoch 114/400
283/283 [==============================] - 0s 46us/step - loss: 2970.0506 - mean_absolute_error: 44.4530 - mean_squared_error: 2970.0506 - val_loss: 3252.5096 - val_mean_absolute_error: 45.3792 - val_mean_squared_error: 3252.5096
Epoch 115/400
283/283 [==============================] - 0s 46us/step - loss: 2969.8620 - mean_absolute_error: 44.4444 - mean_squared_error: 2969.8620 - val_loss: 3250.8130 - val_mean_absolute_error: 45.3142 - val_mean_squared_error: 3250.8130
Epoch 116/400
283/283 [==============================] - 0s 43us/step - loss: 2967.9808 - mean_absolute_error: 44.4285 - mean_squared_error: 2967.9808 - val_loss: 3246.7884 - val_mean_absolute_error: 45.2632 - val_mean_squared_error: 3246.7884
Epoch 117/400
283/283 [==============================] - 0s 40us/step - loss: 2966.9002 - mean_absolute_error: 44.4255 - mean_squared_error: 2966.9002 - val_loss: 3239.0349 - val_mean_absolute_error: 45.2467 - val_mean_squared_error: 3239.0349
Epoch 118/400
283/283 [==============================] - 0s 47us/step - loss: 2965.3412 - mean_absolute_error: 44.4142 - mean_squared_error: 2965.3412 - val_loss: 3234.7947 - val_mean_absolute_error: 45.2157 - val_mean_squared_error: 3234.7947
Epoch 119/400
283/283 [==============================] - 0s 45us/step - loss: 2966.2467 - mean_absolute_error: 44.3955 - mean_squared_error: 2966.2467 - val_loss: 3236.4447 - val_mean_absolute_error: 45.1068 - val_mean_squared_error: 3236.4447
Epoch 120/400
283/283 [==============================] - 0s 49us/step - loss: 2963.5615 - mean_absolute_error: 44.3874 - mean_squared_error: 2963.5615 - val_loss: 3233.4193 - val_mean_absolute_error: 45.0655 - val_mean_squared_error: 3233.4193
Epoch 121/400
283/283 [==============================] - 0s 46us/step - loss: 2960.7295 - mean_absolute_error: 44.3611 - mean_squared_error: 2960.7295 - val_loss: 3226.1993 - val_mean_absolute_error: 45.0491 - val_mean_squared_error: 3226.1993
Epoch 122/400
283/283 [==============================] - 0s 46us/step - loss: 2962.1775 - mean_absolute_error: 44.3633 - mean_squared_error: 2962.1775 - val_loss: 3219.0092 - val_mean_absolute_error: 45.0269 - val_mean_squared_error: 3219.0092
Epoch 123/400
283/283 [==============================] - 0s 45us/step - loss: 2959.1786 - mean_absolute_error: 44.3465 - mean_squared_error: 2959.1786 - val_loss: 3215.8947 - val_mean_absolute_error: 44.9821 - val_mean_squared_error: 3215.8947
Epoch 124/400
283/283 [==============================] - 0s 43us/step - loss: 2959.6189 - mean_absolute_error: 44.3351 - mean_squared_error: 2959.6189 - val_loss: 3217.6500 - val_mean_absolute_error: 44.9006 - val_mean_squared_error: 3217.6500
Epoch 125/400
283/283 [==============================] - 0s 42us/step - loss: 2956.9246 - mean_absolute_error: 44.3172 - mean_squared_error: 2956.9246 - val_loss: 3211.9497 - val_mean_absolute_error: 44.8689 - val_mean_squared_error: 3211.9497
Epoch 126/400
283/283 [==============================] - 0s 45us/step - loss: 2957.8766 - mean_absolute_error: 44.3166 - mean_squared_error: 2957.8766 - val_loss: 3205.3940 - val_mean_absolute_error: 44.8700 - val_mean_squared_error: 3205.3940
Epoch 127/400
283/283 [==============================] - 0s 47us/step - loss: 2956.9817 - mean_absolute_error: 44.3127 - mean_squared_error: 2956.9817 - val_loss: 3206.5542 - val_mean_absolute_error: 44.7993 - val_mean_squared_error: 3206.5542
Epoch 128/400
283/283 [==============================] - 0s 51us/step - loss: 2955.5027 - mean_absolute_error: 44.3015 - mean_squared_error: 2955.5027 - val_loss: 3209.1273 - val_mean_absolute_error: 44.7351 - val_mean_squared_error: 3209.1273
Epoch 129/400
283/283 [==============================] - 0s 44us/step - loss: 2953.7028 - mean_absolute_error: 44.2712 - mean_squared_error: 2953.7028 - val_loss: 3202.4843 - val_mean_absolute_error: 44.7163 - val_mean_squared_error: 3202.4843
Epoch 130/400
283/283 [==============================] - 0s 39us/step - loss: 2952.2838 - mean_absolute_error: 44.2585 - mean_squared_error: 2952.2838 - val_loss: 3198.2250 - val_mean_absolute_error: 44.6879 - val_mean_squared_error: 3198.2250
Epoch 131/400
283/283 [==============================] - 0s 40us/step - loss: 2954.1850 - mean_absolute_error: 44.2809 - mean_squared_error: 2954.1850 - val_loss: 3189.5766 - val_mean_absolute_error: 44.6904 - val_mean_squared_error: 3189.5766
Epoch 132/400
283/283 [==============================] - 0s 49us/step - loss: 2951.5383 - mean_absolute_error: 44.2623 - mean_squared_error: 2951.5383 - val_loss: 3189.3875 - val_mean_absolute_error: 44.6300 - val_mean_squared_error: 3189.3875
Epoch 133/400
283/283 [==============================] - 0s 51us/step - loss: 2950.4124 - mean_absolute_error: 44.2434 - mean_squared_error: 2950.4124 - val_loss: 3189.6323 - val_mean_absolute_error: 44.5968 - val_mean_squared_error: 3189.6323
Epoch 134/400
283/283 [==============================] - 0s 46us/step - loss: 2950.5470 - mean_absolute_error: 44.2506 - mean_squared_error: 2950.5470 - val_loss: 3185.9974 - val_mean_absolute_error: 44.5745 - val_mean_squared_error: 3185.9974
Epoch 135/400
283/283 [==============================] - 0s 47us/step - loss: 2948.9816 - mean_absolute_error: 44.2195 - mean_squared_error: 2948.9816 - val_loss: 3188.4132 - val_mean_absolute_error: 44.5042 - val_mean_squared_error: 3188.4132
Epoch 136/400
283/283 [==============================] - 0s 52us/step - loss: 2948.4823 - mean_absolute_error: 44.2096 - mean_squared_error: 2948.4823 - val_loss: 3187.0213 - val_mean_absolute_error: 44.4591 - val_mean_squared_error: 3187.0213
Epoch 137/400
283/283 [==============================] - 0s 51us/step - loss: 2946.5571 - mean_absolute_error: 44.1873 - mean_squared_error: 2946.5571 - val_loss: 3180.5523 - val_mean_absolute_error: 44.4642 - val_mean_squared_error: 3180.5523
Epoch 138/400
283/283 [==============================] - 0s 45us/step - loss: 2946.7365 - mean_absolute_error: 44.2017 - mean_squared_error: 2946.7365 - val_loss: 3175.2335 - val_mean_absolute_error: 44.4384 - val_mean_squared_error: 3175.2335
Epoch 139/400
283/283 [==============================] - 0s 49us/step - loss: 2949.2357 - mean_absolute_error: 44.2161 - mean_squared_error: 2949.2357 - val_loss: 3166.1556 - val_mean_absolute_error: 44.4698 - val_mean_squared_error: 3166.1556
Epoch 140/400
283/283 [==============================] - 0s 55us/step - loss: 2949.2341 - mean_absolute_error: 44.2127 - mean_squared_error: 2949.2341 - val_loss: 3174.5730 - val_mean_absolute_error: 44.3753 - val_mean_squared_error: 3174.5730
Epoch 141/400
283/283 [==============================] - 0s 38us/step - loss: 2945.9120 - mean_absolute_error: 44.1805 - mean_squared_error: 2945.9120 - val_loss: 3174.0262 - val_mean_absolute_error: 44.3431 - val_mean_squared_error: 3174.0262
Epoch 142/400
283/283 [==============================] - 0s 48us/step - loss: 2947.2200 - mean_absolute_error: 44.1922 - mean_squared_error: 2947.2200 - val_loss: 3164.9105 - val_mean_absolute_error: 44.3677 - val_mean_squared_error: 3164.9105
Epoch 143/400
283/283 [==============================] - 0s 44us/step - loss: 2946.0978 - mean_absolute_error: 44.1963 - mean_squared_error: 2946.0978 - val_loss: 3170.7901 - val_mean_absolute_error: 44.2962 - val_mean_squared_error: 3170.7901
Epoch 144/400
283/283 [==============================] - 0s 49us/step - loss: 2943.6860 - mean_absolute_error: 44.1643 - mean_squared_error: 2943.6860 - val_loss: 3166.8620 - val_mean_absolute_error: 44.2711 - val_mean_squared_error: 3166.8620
Epoch 145/400
283/283 [==============================] - 0s 48us/step - loss: 2942.9299 - mean_absolute_error: 44.1495 - mean_squared_error: 2942.9299 - val_loss: 3162.1578 - val_mean_absolute_error: 44.2762 - val_mean_squared_error: 3162.1578
Epoch 146/400
283/283 [==============================] - 0s 49us/step - loss: 2942.7304 - mean_absolute_error: 44.1414 - mean_squared_error: 2942.7304 - val_loss: 3155.8909 - val_mean_absolute_error: 44.2774 - val_mean_squared_error: 3155.8909
Epoch 147/400
283/283 [==============================] - 0s 58us/step - loss: 2942.3603 - mean_absolute_error: 44.1446 - mean_squared_error: 2942.3603 - val_loss: 3155.7578 - val_mean_absolute_error: 44.2392 - val_mean_squared_error: 3155.7578
Epoch 148/400
283/283 [==============================] - 0s 45us/step - loss: 2941.8976 - mean_absolute_error: 44.1297 - mean_squared_error: 2941.8976 - val_loss: 3162.0232 - val_mean_absolute_error: 44.1642 - val_mean_squared_error: 3162.0232
Epoch 149/400
283/283 [==============================] - 0s 51us/step - loss: 2941.1821 - mean_absolute_error: 44.1160 - mean_squared_error: 2941.1821 - val_loss: 3162.2927 - val_mean_absolute_error: 44.1538 - val_mean_squared_error: 3162.2927
Epoch 150/400
283/283 [==============================] - 0s 47us/step - loss: 2942.6360 - mean_absolute_error: 44.1359 - mean_squared_error: 2942.6360 - val_loss: 3155.3617 - val_mean_absolute_error: 44.1823 - val_mean_squared_error: 3155.3617
Epoch 151/400
283/283 [==============================] - 0s 45us/step - loss: 2941.8044 - mean_absolute_error: 44.1341 - mean_squared_error: 2941.8044 - val_loss: 3162.7342 - val_mean_absolute_error: 44.0988 - val_mean_squared_error: 3162.7342
Epoch 152/400
283/283 [==============================] - 0s 41us/step - loss: 2938.5199 - mean_absolute_error: 44.0912 - mean_squared_error: 2938.5199 - val_loss: 3157.3313 - val_mean_absolute_error: 44.0940 - val_mean_squared_error: 3157.3313
Epoch 153/400
283/283 [==============================] - 0s 47us/step - loss: 2941.8145 - mean_absolute_error: 44.1513 - mean_squared_error: 2941.8145 - val_loss: 3144.3896 - val_mean_absolute_error: 44.1547 - val_mean_squared_error: 3144.3896
Epoch 154/400
283/283 [==============================] - 0s 44us/step - loss: 2941.5485 - mean_absolute_error: 44.1175 - mean_squared_error: 2941.5485 - val_loss: 3151.2255 - val_mean_absolute_error: 44.0766 - val_mean_squared_error: 3151.2255
Epoch 155/400
283/283 [==============================] - 0s 47us/step - loss: 2938.9232 - mean_absolute_error: 44.0766 - mean_squared_error: 2938.9232 - val_loss: 3156.2707 - val_mean_absolute_error: 44.0380 - val_mean_squared_error: 3156.2707
Epoch 156/400
283/283 [==============================] - 0s 48us/step - loss: 2937.4110 - mean_absolute_error: 44.0652 - mean_squared_error: 2937.4110 - val_loss: 3151.6925 - val_mean_absolute_error: 44.0311 - val_mean_squared_error: 3151.6925
Epoch 157/400
283/283 [==============================] - 0s 45us/step - loss: 2936.4394 - mean_absolute_error: 44.0873 - mean_squared_error: 2936.4394 - val_loss: 3143.4555 - val_mean_absolute_error: 44.0503 - val_mean_squared_error: 3143.4555
Epoch 158/400
283/283 [==============================] - 0s 40us/step - loss: 2935.7540 - mean_absolute_error: 44.0800 - mean_squared_error: 2935.7540 - val_loss: 3137.3814 - val_mean_absolute_error: 44.0623 - val_mean_squared_error: 3137.3814
Epoch 159/400
283/283 [==============================] - 0s 44us/step - loss: 2939.1294 - mean_absolute_error: 44.1100 - mean_squared_error: 2939.1294 - val_loss: 3137.6898 - val_mean_absolute_error: 44.0274 - val_mean_squared_error: 3137.6898
Epoch 160/400
283/283 [==============================] - 0s 47us/step - loss: 2934.8990 - mean_absolute_error: 44.0616 - mean_squared_error: 2934.8990 - val_loss: 3140.8108 - val_mean_absolute_error: 43.9864 - val_mean_squared_error: 3140.8108
Epoch 161/400
283/283 [==============================] - 0s 39us/step - loss: 2942.5948 - mean_absolute_error: 44.0935 - mean_squared_error: 2942.5948 - val_loss: 3148.6798 - val_mean_absolute_error: 43.9258 - val_mean_squared_error: 3148.6798
Epoch 162/400
283/283 [==============================] - 0s 41us/step - loss: 2936.1746 - mean_absolute_error: 44.0458 - mean_squared_error: 2936.1746 - val_loss: 3133.9118 - val_mean_absolute_error: 43.9884 - val_mean_squared_error: 3133.9118
Epoch 163/400
283/283 [==============================] - 0s 41us/step - loss: 2935.8783 - mean_absolute_error: 44.0619 - mean_squared_error: 2935.8783 - val_loss: 3135.3285 - val_mean_absolute_error: 43.9431 - val_mean_squared_error: 3135.3285
Epoch 164/400
283/283 [==============================] - 0s 40us/step - loss: 2932.9728 - mean_absolute_error: 44.0305 - mean_squared_error: 2932.9728 - val_loss: 3132.3724 - val_mean_absolute_error: 43.9243 - val_mean_squared_error: 3132.3724
Epoch 165/400
283/283 [==============================] - 0s 40us/step - loss: 2933.4938 - mean_absolute_error: 44.0393 - mean_squared_error: 2933.4938 - val_loss: 3133.9508 - val_mean_absolute_error: 43.8993 - val_mean_squared_error: 3133.9508
Epoch 166/400
283/283 [==============================] - 0s 50us/step - loss: 2932.3160 - mean_absolute_error: 44.0308 - mean_squared_error: 2932.3160 - val_loss: 3132.6230 - val_mean_absolute_error: 43.8990 - val_mean_squared_error: 3132.6230
Epoch 167/400
283/283 [==============================] - 0s 48us/step - loss: 2933.5231 - mean_absolute_error: 44.0293 - mean_squared_error: 2933.5231 - val_loss: 3132.0023 - val_mean_absolute_error: 43.8744 - val_mean_squared_error: 3132.0023
Epoch 168/400
283/283 [==============================] - 0s 45us/step - loss: 2933.7448 - mean_absolute_error: 44.0209 - mean_squared_error: 2933.7448 - val_loss: 3136.3429 - val_mean_absolute_error: 43.8292 - val_mean_squared_error: 3136.3429
Epoch 169/400
283/283 [==============================] - 0s 43us/step - loss: 2930.5000 - mean_absolute_error: 43.9968 - mean_squared_error: 2930.5000 - val_loss: 3133.2124 - val_mean_absolute_error: 43.8360 - val_mean_squared_error: 3133.2124
Epoch 170/400
283/283 [==============================] - 0s 45us/step - loss: 2929.3905 - mean_absolute_error: 43.9967 - mean_squared_error: 2929.3905 - val_loss: 3128.7093 - val_mean_absolute_error: 43.8486 - val_mean_squared_error: 3128.7093
Epoch 171/400
283/283 [==============================] - 0s 47us/step - loss: 2934.8662 - mean_absolute_error: 44.0699 - mean_squared_error: 2934.8662 - val_loss: 3119.1078 - val_mean_absolute_error: 43.9200 - val_mean_squared_error: 3119.1078
Epoch 172/400
283/283 [==============================] - 0s 50us/step - loss: 2931.7312 - mean_absolute_error: 44.0427 - mean_squared_error: 2931.7312 - val_loss: 3128.0212 - val_mean_absolute_error: 43.8170 - val_mean_squared_error: 3128.0212
Epoch 173/400
283/283 [==============================] - 0s 51us/step - loss: 2930.6743 - mean_absolute_error: 44.0184 - mean_squared_error: 2930.6743 - val_loss: 3132.2170 - val_mean_absolute_error: 43.7744 - val_mean_squared_error: 3132.2170
Epoch 174/400
283/283 [==============================] - 0s 39us/step - loss: 2929.5863 - mean_absolute_error: 43.9859 - mean_squared_error: 2929.5863 - val_loss: 3130.8780 - val_mean_absolute_error: 43.7597 - val_mean_squared_error: 3130.8780
Epoch 175/400
283/283 [==============================] - 0s 40us/step - loss: 2930.5716 - mean_absolute_error: 43.9835 - mean_squared_error: 2930.5716 - val_loss: 3134.0101 - val_mean_absolute_error: 43.7422 - val_mean_squared_error: 3134.0101
Epoch 176/400
283/283 [==============================] - 0s 39us/step - loss: 2929.5495 - mean_absolute_error: 43.9755 - mean_squared_error: 2929.5495 - val_loss: 3123.1635 - val_mean_absolute_error: 43.7838 - val_mean_squared_error: 3123.1635
Epoch 177/400
283/283 [==============================] - 0s 40us/step - loss: 2931.6464 - mean_absolute_error: 44.0320 - mean_squared_error: 2931.6464 - val_loss: 3118.2180 - val_mean_absolute_error: 43.7882 - val_mean_squared_error: 3118.2180
Epoch 178/400
283/283 [==============================] - 0s 46us/step - loss: 2930.4913 - mean_absolute_error: 44.0124 - mean_squared_error: 2930.4913 - val_loss: 3128.1379 - val_mean_absolute_error: 43.7160 - val_mean_squared_error: 3128.1379
Epoch 179/400
283/283 [==============================] - 0s 46us/step - loss: 2929.1273 - mean_absolute_error: 43.9870 - mean_squared_error: 2929.1273 - val_loss: 3120.9876 - val_mean_absolute_error: 43.7448 - val_mean_squared_error: 3120.9876
Epoch 180/400
283/283 [==============================] - 0s 41us/step - loss: 2933.0844 - mean_absolute_error: 44.0335 - mean_squared_error: 2933.0844 - val_loss: 3116.7430 - val_mean_absolute_error: 43.7632 - val_mean_squared_error: 3116.7430
Epoch 181/400
283/283 [==============================] - 0s 47us/step - loss: 2926.9270 - mean_absolute_error: 43.9806 - mean_squared_error: 2926.9270 - val_loss: 3125.8716 - val_mean_absolute_error: 43.6961 - val_mean_squared_error: 3125.8716
Epoch 182/400
283/283 [==============================] - 0s 46us/step - loss: 2927.9132 - mean_absolute_error: 43.9754 - mean_squared_error: 2927.9132 - val_loss: 3133.0322 - val_mean_absolute_error: 43.6680 - val_mean_squared_error: 3133.0322
Epoch 183/400
283/283 [==============================] - 0s 45us/step - loss: 2931.1977 - mean_absolute_error: 44.0147 - mean_squared_error: 2931.1977 - val_loss: 3119.7771 - val_mean_absolute_error: 43.6967 - val_mean_squared_error: 3119.7771
Epoch 184/400
283/283 [==============================] - 0s 44us/step - loss: 2926.7431 - mean_absolute_error: 43.9665 - mean_squared_error: 2926.7431 - val_loss: 3122.9303 - val_mean_absolute_error: 43.6686 - val_mean_squared_error: 3122.9303
Epoch 185/400
283/283 [==============================] - 0s 46us/step - loss: 2926.2756 - mean_absolute_error: 43.9552 - mean_squared_error: 2926.2756 - val_loss: 3122.1682 - val_mean_absolute_error: 43.6672 - val_mean_squared_error: 3122.1682
Epoch 186/400
283/283 [==============================] - 0s 42us/step - loss: 2925.3315 - mean_absolute_error: 43.9413 - mean_squared_error: 2925.3315 - val_loss: 3124.1536 - val_mean_absolute_error: 43.6451 - val_mean_squared_error: 3124.1536
Epoch 187/400
283/283 [==============================] - 0s 50us/step - loss: 2929.4583 - mean_absolute_error: 44.0110 - mean_squared_error: 2929.4583 - val_loss: 3112.9094 - val_mean_absolute_error: 43.7151 - val_mean_squared_error: 3112.9094
Epoch 188/400
283/283 [==============================] - 0s 60us/step - loss: 2924.0149 - mean_absolute_error: 43.9626 - mean_squared_error: 2924.0149 - val_loss: 3115.5957 - val_mean_absolute_error: 43.6742 - val_mean_squared_error: 3115.5957
Epoch 189/400
283/283 [==============================] - 0s 56us/step - loss: 2924.1357 - mean_absolute_error: 43.9391 - mean_squared_error: 2924.1357 - val_loss: 3119.5615 - val_mean_absolute_error: 43.6513 - val_mean_squared_error: 3119.5615
Epoch 190/400
283/283 [==============================] - 0s 61us/step - loss: 2924.2684 - mean_absolute_error: 43.9192 - mean_squared_error: 2924.2684 - val_loss: 3121.3934 - val_mean_absolute_error: 43.6294 - val_mean_squared_error: 3121.3934
Epoch 191/400
283/283 [==============================] - 0s 54us/step - loss: 2922.3553 - mean_absolute_error: 43.9227 - mean_squared_error: 2922.3553 - val_loss: 3113.3518 - val_mean_absolute_error: 43.6481 - val_mean_squared_error: 3113.3518
Epoch 192/400
283/283 [==============================] - 0s 55us/step - loss: 2923.4325 - mean_absolute_error: 43.9357 - mean_squared_error: 2923.4325 - val_loss: 3114.1075 - val_mean_absolute_error: 43.6446 - val_mean_squared_error: 3114.1075
Epoch 193/400
283/283 [==============================] - 0s 70us/step - loss: 2921.6136 - mean_absolute_error: 43.9164 - mean_squared_error: 2921.6136 - val_loss: 3112.2297 - val_mean_absolute_error: 43.6359 - val_mean_squared_error: 3112.2297
Epoch 194/400
283/283 [==============================] - 0s 47us/step - loss: 2929.0706 - mean_absolute_error: 43.9912 - mean_squared_error: 2929.0706 - val_loss: 3102.5805 - val_mean_absolute_error: 43.7219 - val_mean_squared_error: 3102.5805
Epoch 195/400
283/283 [==============================] - 0s 47us/step - loss: 2921.7239 - mean_absolute_error: 43.9360 - mean_squared_error: 2921.7239 - val_loss: 3113.1232 - val_mean_absolute_error: 43.6173 - val_mean_squared_error: 3113.1232
Epoch 196/400
283/283 [==============================] - 0s 42us/step - loss: 2926.7086 - mean_absolute_error: 43.9441 - mean_squared_error: 2926.7086 - val_loss: 3127.1050 - val_mean_absolute_error: 43.5835 - val_mean_squared_error: 3127.1050
Epoch 197/400
283/283 [==============================] - 0s 47us/step - loss: 2923.3658 - mean_absolute_error: 43.9662 - mean_squared_error: 2923.3658 - val_loss: 3113.7172 - val_mean_absolute_error: 43.6161 - val_mean_squared_error: 3113.7172
Epoch 198/400
283/283 [==============================] - 0s 40us/step - loss: 2919.8173 - mean_absolute_error: 43.9196 - mean_squared_error: 2919.8173 - val_loss: 3108.2531 - val_mean_absolute_error: 43.6370 - val_mean_squared_error: 3108.2531
Epoch 199/400
283/283 [==============================] - 0s 40us/step - loss: 2921.2580 - mean_absolute_error: 43.9397 - mean_squared_error: 2921.2580 - val_loss: 3105.5860 - val_mean_absolute_error: 43.6475 - val_mean_squared_error: 3105.5860
Epoch 200/400
283/283 [==============================] - 0s 40us/step - loss: 2919.0942 - mean_absolute_error: 43.9135 - mean_squared_error: 2919.0942 - val_loss: 3113.1662 - val_mean_absolute_error: 43.5668 - val_mean_squared_error: 3113.1662
Epoch 201/400
283/283 [==============================] - 0s 40us/step - loss: 2921.1184 - mean_absolute_error: 43.8982 - mean_squared_error: 2921.1184 - val_loss: 3122.7393 - val_mean_absolute_error: 43.5393 - val_mean_squared_error: 3122.7393
Epoch 202/400
283/283 [==============================] - 0s 51us/step - loss: 2922.7140 - mean_absolute_error: 43.8983 - mean_squared_error: 2922.7140 - val_loss: 3113.6867 - val_mean_absolute_error: 43.5684 - val_mean_squared_error: 3113.6867
Epoch 203/400
283/283 [==============================] - 0s 49us/step - loss: 2917.7788 - mean_absolute_error: 43.8820 - mean_squared_error: 2917.7788 - val_loss: 3114.7750 - val_mean_absolute_error: 43.5670 - val_mean_squared_error: 3114.7750
Epoch 204/400
283/283 [==============================] - 0s 43us/step - loss: 2920.5184 - mean_absolute_error: 43.9138 - mean_squared_error: 2920.5184 - val_loss: 3105.0154 - val_mean_absolute_error: 43.6031 - val_mean_squared_error: 3105.0154
Epoch 205/400
283/283 [==============================] - 0s 41us/step - loss: 2918.3850 - mean_absolute_error: 43.8997 - mean_squared_error: 2918.3850 - val_loss: 3109.0350 - val_mean_absolute_error: 43.5676 - val_mean_squared_error: 3109.0350
Epoch 206/400
283/283 [==============================] - 0s 47us/step - loss: 2919.9355 - mean_absolute_error: 43.8826 - mean_squared_error: 2919.9355 - val_loss: 3116.6999 - val_mean_absolute_error: 43.5221 - val_mean_squared_error: 3116.6999
Epoch 207/400
283/283 [==============================] - 0s 44us/step - loss: 2920.5372 - mean_absolute_error: 43.9321 - mean_squared_error: 2920.5372 - val_loss: 3105.6867 - val_mean_absolute_error: 43.5779 - val_mean_squared_error: 3105.6867
Epoch 208/400
283/283 [==============================] - 0s 42us/step - loss: 2917.6578 - mean_absolute_error: 43.8841 - mean_squared_error: 2917.6578 - val_loss: 3111.9349 - val_mean_absolute_error: 43.5422 - val_mean_squared_error: 3111.9349
Epoch 209/400
283/283 [==============================] - 0s 40us/step - loss: 2918.4173 - mean_absolute_error: 43.8908 - mean_squared_error: 2918.4173 - val_loss: 3109.1444 - val_mean_absolute_error: 43.5565 - val_mean_squared_error: 3109.1444
Epoch 210/400
283/283 [==============================] - 0s 47us/step - loss: 2916.2802 - mean_absolute_error: 43.8681 - mean_squared_error: 2916.2802 - val_loss: 3107.6726 - val_mean_absolute_error: 43.5497 - val_mean_squared_error: 3107.6726
Epoch 211/400
283/283 [==============================] - 0s 52us/step - loss: 2920.3161 - mean_absolute_error: 43.8728 - mean_squared_error: 2920.3161 - val_loss: 3121.0992 - val_mean_absolute_error: 43.5163 - val_mean_squared_error: 3121.0992
Epoch 212/400
283/283 [==============================] - 0s 42us/step - loss: 2914.7863 - mean_absolute_error: 43.8444 - mean_squared_error: 2914.7863 - val_loss: 3110.8602 - val_mean_absolute_error: 43.5370 - val_mean_squared_error: 3110.8602
Epoch 213/400
283/283 [==============================] - 0s 44us/step - loss: 2924.2427 - mean_absolute_error: 43.9785 - mean_squared_error: 2924.2427 - val_loss: 3099.5552 - val_mean_absolute_error: 43.6028 - val_mean_squared_error: 3099.5552
Epoch 214/400
283/283 [==============================] - 0s 50us/step - loss: 2915.7494 - mean_absolute_error: 43.8901 - mean_squared_error: 2915.7494 - val_loss: 3098.1264 - val_mean_absolute_error: 43.5946 - val_mean_squared_error: 3098.1264
Epoch 215/400
283/283 [==============================] - 0s 44us/step - loss: 2914.7549 - mean_absolute_error: 43.8531 - mean_squared_error: 2914.7549 - val_loss: 3113.6685 - val_mean_absolute_error: 43.5171 - val_mean_squared_error: 3113.6685
Epoch 216/400
283/283 [==============================] - 0s 41us/step - loss: 2915.4123 - mean_absolute_error: 43.8589 - mean_squared_error: 2915.4123 - val_loss: 3110.4758 - val_mean_absolute_error: 43.5124 - val_mean_squared_error: 3110.4758
Epoch 217/400
283/283 [==============================] - 0s 40us/step - loss: 2914.3473 - mean_absolute_error: 43.8476 - mean_squared_error: 2914.3473 - val_loss: 3115.1890 - val_mean_absolute_error: 43.5092 - val_mean_squared_error: 3115.1890
Epoch 218/400
283/283 [==============================] - 0s 40us/step - loss: 2912.4303 - mean_absolute_error: 43.8334 - mean_squared_error: 2912.4303 - val_loss: 3112.6195 - val_mean_absolute_error: 43.5210 - val_mean_squared_error: 3112.6195
Epoch 219/400
283/283 [==============================] - 0s 47us/step - loss: 2912.4780 - mean_absolute_error: 43.8383 - mean_squared_error: 2912.4780 - val_loss: 3112.5730 - val_mean_absolute_error: 43.5021 - val_mean_squared_error: 3112.5730
Epoch 220/400
283/283 [==============================] - 0s 43us/step - loss: 2911.8253 - mean_absolute_error: 43.8393 - mean_squared_error: 2911.8253 - val_loss: 3105.7436 - val_mean_absolute_error: 43.5196 - val_mean_squared_error: 3105.7436
Epoch 221/400
283/283 [==============================] - 0s 47us/step - loss: 2912.2795 - mean_absolute_error: 43.8513 - mean_squared_error: 2912.2795 - val_loss: 3104.0696 - val_mean_absolute_error: 43.5189 - val_mean_squared_error: 3104.0696
Epoch 222/400
283/283 [==============================] - 0s 45us/step - loss: 2912.3761 - mean_absolute_error: 43.8470 - mean_squared_error: 2912.3761 - val_loss: 3110.5423 - val_mean_absolute_error: 43.5105 - val_mean_squared_error: 3110.5423
Epoch 223/400
283/283 [==============================] - 0s 43us/step - loss: 2911.5157 - mean_absolute_error: 43.8429 - mean_squared_error: 2911.5157 - val_loss: 3110.3077 - val_mean_absolute_error: 43.4961 - val_mean_squared_error: 3110.3077
Epoch 224/400
283/283 [==============================] - 0s 44us/step - loss: 2914.6568 - mean_absolute_error: 43.8613 - mean_squared_error: 2914.6568 - val_loss: 3101.8214 - val_mean_absolute_error: 43.5435 - val_mean_squared_error: 3101.8214
Epoch 225/400
283/283 [==============================] - 0s 45us/step - loss: 2913.8715 - mean_absolute_error: 43.8497 - mean_squared_error: 2913.8715 - val_loss: 3112.4020 - val_mean_absolute_error: 43.4845 - val_mean_squared_error: 3112.4020
Epoch 226/400
283/283 [==============================] - 0s 47us/step - loss: 2910.7292 - mean_absolute_error: 43.8433 - mean_squared_error: 2910.7292 - val_loss: 3104.3005 - val_mean_absolute_error: 43.5055 - val_mean_squared_error: 3104.3005
Epoch 227/400
283/283 [==============================] - 0s 39us/step - loss: 2908.8204 - mean_absolute_error: 43.8152 - mean_squared_error: 2908.8204 - val_loss: 3104.0444 - val_mean_absolute_error: 43.5026 - val_mean_squared_error: 3104.0444
Epoch 228/400
283/283 [==============================] - 0s 47us/step - loss: 2908.8476 - mean_absolute_error: 43.8120 - mean_squared_error: 2908.8476 - val_loss: 3105.0605 - val_mean_absolute_error: 43.4923 - val_mean_squared_error: 3105.0605
Epoch 229/400
283/283 [==============================] - 0s 48us/step - loss: 2909.5650 - mean_absolute_error: 43.8010 - mean_squared_error: 2909.5650 - val_loss: 3109.6140 - val_mean_absolute_error: 43.4877 - val_mean_squared_error: 3109.6140
Epoch 230/400
283/283 [==============================] - 0s 44us/step - loss: 2911.6982 - mean_absolute_error: 43.8580 - mean_squared_error: 2911.6982 - val_loss: 3098.8728 - val_mean_absolute_error: 43.5272 - val_mean_squared_error: 3098.8728
Epoch 231/400
283/283 [==============================] - 0s 41us/step - loss: 2909.7927 - mean_absolute_error: 43.8064 - mean_squared_error: 2909.7927 - val_loss: 3108.3739 - val_mean_absolute_error: 43.4802 - val_mean_squared_error: 3108.3739
Epoch 232/400
283/283 [==============================] - 0s 47us/step - loss: 2906.5988 - mean_absolute_error: 43.7884 - mean_squared_error: 2906.5988 - val_loss: 3105.1929 - val_mean_absolute_error: 43.4923 - val_mean_squared_error: 3105.1929
Epoch 233/400
283/283 [==============================] - 0s 47us/step - loss: 2908.4122 - mean_absolute_error: 43.8056 - mean_squared_error: 2908.4122 - val_loss: 3100.9047 - val_mean_absolute_error: 43.5167 - val_mean_squared_error: 3100.9047
Epoch 234/400
283/283 [==============================] - 0s 44us/step - loss: 2907.5449 - mean_absolute_error: 43.8141 - mean_squared_error: 2907.5449 - val_loss: 3107.7861 - val_mean_absolute_error: 43.4754 - val_mean_squared_error: 3107.7861
Epoch 235/400
283/283 [==============================] - 0s 49us/step - loss: 2912.5711 - mean_absolute_error: 43.8548 - mean_squared_error: 2912.5711 - val_loss: 3095.9772 - val_mean_absolute_error: 43.5278 - val_mean_squared_error: 3095.9772
Epoch 236/400
283/283 [==============================] - 0s 47us/step - loss: 2907.4799 - mean_absolute_error: 43.8143 - mean_squared_error: 2907.4799 - val_loss: 3105.4966 - val_mean_absolute_error: 43.4793 - val_mean_squared_error: 3105.4966
Epoch 237/400
283/283 [==============================] - 0s 46us/step - loss: 2905.8039 - mean_absolute_error: 43.7805 - mean_squared_error: 2905.8039 - val_loss: 3108.9836 - val_mean_absolute_error: 43.4772 - val_mean_squared_error: 3108.9836
Epoch 238/400
283/283 [==============================] - 0s 43us/step - loss: 2906.3910 - mean_absolute_error: 43.7849 - mean_squared_error: 2906.3910 - val_loss: 3108.9636 - val_mean_absolute_error: 43.4762 - val_mean_squared_error: 3108.9636
Epoch 239/400
283/283 [==============================] - 0s 47us/step - loss: 2904.9616 - mean_absolute_error: 43.7747 - mean_squared_error: 2904.9616 - val_loss: 3112.6340 - val_mean_absolute_error: 43.4720 - val_mean_squared_error: 3112.6340
Epoch 240/400
283/283 [==============================] - 0s 48us/step - loss: 2903.8648 - mean_absolute_error: 43.7718 - mean_squared_error: 2903.8648 - val_loss: 3102.5985 - val_mean_absolute_error: 43.4834 - val_mean_squared_error: 3102.5985
Epoch 241/400
283/283 [==============================] - 0s 42us/step - loss: 2908.0213 - mean_absolute_error: 43.7841 - mean_squared_error: 2908.0213 - val_loss: 3109.2402 - val_mean_absolute_error: 43.4664 - val_mean_squared_error: 3109.2402
Epoch 242/400
283/283 [==============================] - 0s 42us/step - loss: 2908.7832 - mean_absolute_error: 43.8285 - mean_squared_error: 2908.7832 - val_loss: 3099.0087 - val_mean_absolute_error: 43.5097 - val_mean_squared_error: 3099.0087
Epoch 243/400
283/283 [==============================] - 0s 44us/step - loss: 2904.4935 - mean_absolute_error: 43.7963 - mean_squared_error: 2904.4935 - val_loss: 3106.9877 - val_mean_absolute_error: 43.4660 - val_mean_squared_error: 3106.9877
Epoch 244/400
283/283 [==============================] - 0s 44us/step - loss: 2903.2405 - mean_absolute_error: 43.7847 - mean_squared_error: 2903.2405 - val_loss: 3108.0093 - val_mean_absolute_error: 43.4573 - val_mean_squared_error: 3108.0093
Epoch 245/400
283/283 [==============================] - 0s 49us/step - loss: 2903.0770 - mean_absolute_error: 43.7872 - mean_squared_error: 2903.0770 - val_loss: 3103.8900 - val_mean_absolute_error: 43.4720 - val_mean_squared_error: 3103.8900
Epoch 246/400
283/283 [==============================] - 0s 49us/step - loss: 2902.3065 - mean_absolute_error: 43.7860 - mean_squared_error: 2902.3065 - val_loss: 3102.7981 - val_mean_absolute_error: 43.4867 - val_mean_squared_error: 3102.7981
Epoch 247/400
283/283 [==============================] - 0s 50us/step - loss: 2905.7168 - mean_absolute_error: 43.8230 - mean_squared_error: 2905.7168 - val_loss: 3100.5400 - val_mean_absolute_error: 43.4959 - val_mean_squared_error: 3100.5400
Epoch 248/400
283/283 [==============================] - 0s 47us/step - loss: 2904.2997 - mean_absolute_error: 43.7733 - mean_squared_error: 2904.2997 - val_loss: 3114.7722 - val_mean_absolute_error: 43.4759 - val_mean_squared_error: 3114.7722
Epoch 249/400
283/283 [==============================] - 0s 39us/step - loss: 2904.9996 - mean_absolute_error: 43.7762 - mean_squared_error: 2904.9996 - val_loss: 3117.1093 - val_mean_absolute_error: 43.4811 - val_mean_squared_error: 3117.1093
Epoch 250/400
283/283 [==============================] - 0s 46us/step - loss: 2900.9487 - mean_absolute_error: 43.7686 - mean_squared_error: 2900.9487 - val_loss: 3105.2307 - val_mean_absolute_error: 43.4788 - val_mean_squared_error: 3105.2307
Epoch 251/400
283/283 [==============================] - 0s 49us/step - loss: 2901.3826 - mean_absolute_error: 43.7550 - mean_squared_error: 2901.3826 - val_loss: 3100.5449 - val_mean_absolute_error: 43.4929 - val_mean_squared_error: 3100.5449
Epoch 252/400
283/283 [==============================] - 0s 47us/step - loss: 2900.3602 - mean_absolute_error: 43.7681 - mean_squared_error: 2900.3602 - val_loss: 3105.2252 - val_mean_absolute_error: 43.4724 - val_mean_squared_error: 3105.2252
Epoch 253/400
283/283 [==============================] - 0s 45us/step - loss: 2901.0534 - mean_absolute_error: 43.7618 - mean_squared_error: 2901.0534 - val_loss: 3109.1725 - val_mean_absolute_error: 43.4617 - val_mean_squared_error: 3109.1725
Epoch 254/400
283/283 [==============================] - 0s 46us/step - loss: 2898.6043 - mean_absolute_error: 43.7500 - mean_squared_error: 2898.6043 - val_loss: 3103.3955 - val_mean_absolute_error: 43.4569 - val_mean_squared_error: 3103.3955
Epoch 255/400
283/283 [==============================] - 0s 47us/step - loss: 2897.3741 - mean_absolute_error: 43.7304 - mean_squared_error: 2897.3741 - val_loss: 3104.3244 - val_mean_absolute_error: 43.4582 - val_mean_squared_error: 3104.3244
Epoch 256/400
283/283 [==============================] - 0s 47us/step - loss: 2902.4927 - mean_absolute_error: 43.7670 - mean_squared_error: 2902.4927 - val_loss: 3111.0340 - val_mean_absolute_error: 43.4762 - val_mean_squared_error: 3111.0340
Epoch 257/400
283/283 [==============================] - 0s 46us/step - loss: 2899.9789 - mean_absolute_error: 43.7325 - mean_squared_error: 2899.9789 - val_loss: 3114.2207 - val_mean_absolute_error: 43.4945 - val_mean_squared_error: 3114.2207
Epoch 258/400
283/283 [==============================] - 0s 50us/step - loss: 2895.3893 - mean_absolute_error: 43.7077 - mean_squared_error: 2895.3893 - val_loss: 3103.8744 - val_mean_absolute_error: 43.4694 - val_mean_squared_error: 3103.8744
Epoch 259/400
283/283 [==============================] - 0s 53us/step - loss: 2897.0915 - mean_absolute_error: 43.7346 - mean_squared_error: 2897.0915 - val_loss: 3094.1949 - val_mean_absolute_error: 43.5339 - val_mean_squared_error: 3094.1949
Epoch 260/400
283/283 [==============================] - 0s 45us/step - loss: 2898.0002 - mean_absolute_error: 43.7439 - mean_squared_error: 2898.0002 - val_loss: 3098.9367 - val_mean_absolute_error: 43.4823 - val_mean_squared_error: 3098.9367
Epoch 261/400
283/283 [==============================] - 0s 46us/step - loss: 2900.0625 - mean_absolute_error: 43.7203 - mean_squared_error: 2900.0625 - val_loss: 3109.6651 - val_mean_absolute_error: 43.4747 - val_mean_squared_error: 3109.6651
Epoch 262/400
283/283 [==============================] - 0s 45us/step - loss: 2899.3570 - mean_absolute_error: 43.7220 - mean_squared_error: 2899.3570 - val_loss: 3096.1305 - val_mean_absolute_error: 43.5026 - val_mean_squared_error: 3096.1305
Epoch 263/400
283/283 [==============================] - 0s 50us/step - loss: 2896.5733 - mean_absolute_error: 43.7519 - mean_squared_error: 2896.5733 - val_loss: 3098.3323 - val_mean_absolute_error: 43.4567 - val_mean_squared_error: 3098.3323
Epoch 264/400
283/283 [==============================] - 0s 42us/step - loss: 2894.5779 - mean_absolute_error: 43.7186 - mean_squared_error: 2894.5779 - val_loss: 3101.3178 - val_mean_absolute_error: 43.4583 - val_mean_squared_error: 3101.3178
Epoch 265/400
283/283 [==============================] - 0s 47us/step - loss: 2899.5958 - mean_absolute_error: 43.7412 - mean_squared_error: 2899.5958 - val_loss: 3117.7999 - val_mean_absolute_error: 43.4992 - val_mean_squared_error: 3117.7999
Epoch 266/400
283/283 [==============================] - 0s 45us/step - loss: 2894.4528 - mean_absolute_error: 43.7096 - mean_squared_error: 2894.4528 - val_loss: 3104.9343 - val_mean_absolute_error: 43.4610 - val_mean_squared_error: 3104.9343
Epoch 267/400
283/283 [==============================] - 0s 54us/step - loss: 2893.0857 - mean_absolute_error: 43.6995 - mean_squared_error: 2893.0857 - val_loss: 3101.9818 - val_mean_absolute_error: 43.4641 - val_mean_squared_error: 3101.9818
Epoch 268/400
283/283 [==============================] - 0s 49us/step - loss: 2893.1515 - mean_absolute_error: 43.6934 - mean_squared_error: 2893.1515 - val_loss: 3102.6895 - val_mean_absolute_error: 43.4647 - val_mean_squared_error: 3102.6895
Epoch 269/400
283/283 [==============================] - 0s 45us/step - loss: 2893.4544 - mean_absolute_error: 43.6950 - mean_squared_error: 2893.4544 - val_loss: 3102.6173 - val_mean_absolute_error: 43.4647 - val_mean_squared_error: 3102.6173
Epoch 270/400
283/283 [==============================] - 0s 48us/step - loss: 2892.7319 - mean_absolute_error: 43.6871 - mean_squared_error: 2892.7319 - val_loss: 3105.7294 - val_mean_absolute_error: 43.4766 - val_mean_squared_error: 3105.7294
Epoch 271/400
283/283 [==============================] - 0s 44us/step - loss: 2893.3837 - mean_absolute_error: 43.6866 - mean_squared_error: 2893.3837 - val_loss: 3103.2062 - val_mean_absolute_error: 43.4573 - val_mean_squared_error: 3103.2062
Epoch 272/400
283/283 [==============================] - 0s 44us/step - loss: 2891.2457 - mean_absolute_error: 43.6788 - mean_squared_error: 2891.2457 - val_loss: 3101.3650 - val_mean_absolute_error: 43.4502 - val_mean_squared_error: 3101.3650
Epoch 273/400
283/283 [==============================] - 0s 54us/step - loss: 2894.6831 - mean_absolute_error: 43.7301 - mean_squared_error: 2894.6831 - val_loss: 3098.3502 - val_mean_absolute_error: 43.4482 - val_mean_squared_error: 3098.3502
Epoch 274/400
283/283 [==============================] - 0s 46us/step - loss: 2892.3325 - mean_absolute_error: 43.6975 - mean_squared_error: 2892.3325 - val_loss: 3101.5203 - val_mean_absolute_error: 43.4549 - val_mean_squared_error: 3101.5203
Epoch 275/400
283/283 [==============================] - 0s 43us/step - loss: 2888.6989 - mean_absolute_error: 43.6612 - mean_squared_error: 2888.6989 - val_loss: 3111.4759 - val_mean_absolute_error: 43.4696 - val_mean_squared_error: 3111.4759
Epoch 276/400
283/283 [==============================] - 0s 42us/step - loss: 2895.2476 - mean_absolute_error: 43.7036 - mean_squared_error: 2895.2476 - val_loss: 3122.1914 - val_mean_absolute_error: 43.4974 - val_mean_squared_error: 3122.1914
Epoch 277/400
283/283 [==============================] - 0s 50us/step - loss: 2892.3779 - mean_absolute_error: 43.6821 - mean_squared_error: 2892.3779 - val_loss: 3107.3125 - val_mean_absolute_error: 43.4649 - val_mean_squared_error: 3107.3125
Epoch 278/400
283/283 [==============================] - 0s 48us/step - loss: 2891.0999 - mean_absolute_error: 43.6877 - mean_squared_error: 2891.0999 - val_loss: 3098.4453 - val_mean_absolute_error: 43.4544 - val_mean_squared_error: 3098.4453
Epoch 279/400
283/283 [==============================] - 0s 40us/step - loss: 2889.7810 - mean_absolute_error: 43.6797 - mean_squared_error: 2889.7810 - val_loss: 3104.5548 - val_mean_absolute_error: 43.4466 - val_mean_squared_error: 3104.5548
Epoch 280/400
283/283 [==============================] - 0s 40us/step - loss: 2889.0453 - mean_absolute_error: 43.6706 - mean_squared_error: 2889.0453 - val_loss: 3105.0160 - val_mean_absolute_error: 43.4550 - val_mean_squared_error: 3105.0160
Epoch 281/400
283/283 [==============================] - 0s 44us/step - loss: 2895.8409 - mean_absolute_error: 43.7062 - mean_squared_error: 2895.8409 - val_loss: 3118.1491 - val_mean_absolute_error: 43.5016 - val_mean_squared_error: 3118.1491
Epoch 282/400
283/283 [==============================] - 0s 42us/step - loss: 2896.1710 - mean_absolute_error: 43.7482 - mean_squared_error: 2896.1710 - val_loss: 3094.1511 - val_mean_absolute_error: 43.5274 - val_mean_squared_error: 3094.1511
Epoch 283/400
283/283 [==============================] - 0s 40us/step - loss: 2888.8006 - mean_absolute_error: 43.6980 - mean_squared_error: 2888.8006 - val_loss: 3098.4251 - val_mean_absolute_error: 43.4711 - val_mean_squared_error: 3098.4251
Epoch 284/400
283/283 [==============================] - 0s 41us/step - loss: 2887.4333 - mean_absolute_error: 43.6500 - mean_squared_error: 2887.4333 - val_loss: 3108.2570 - val_mean_absolute_error: 43.4770 - val_mean_squared_error: 3108.2570
Epoch 285/400
283/283 [==============================] - 0s 39us/step - loss: 2887.5828 - mean_absolute_error: 43.6502 - mean_squared_error: 2887.5828 - val_loss: 3104.5451 - val_mean_absolute_error: 43.4767 - val_mean_squared_error: 3104.5451
Epoch 286/400
283/283 [==============================] - 0s 42us/step - loss: 2887.4344 - mean_absolute_error: 43.6666 - mean_squared_error: 2887.4344 - val_loss: 3112.0227 - val_mean_absolute_error: 43.4864 - val_mean_squared_error: 3112.0227
Epoch 287/400
283/283 [==============================] - 0s 47us/step - loss: 2889.0750 - mean_absolute_error: 43.6659 - mean_squared_error: 2889.0750 - val_loss: 3098.8943 - val_mean_absolute_error: 43.4612 - val_mean_squared_error: 3098.8943
Epoch 288/400
283/283 [==============================] - 0s 47us/step - loss: 2884.8197 - mean_absolute_error: 43.6452 - mean_squared_error: 2884.8197 - val_loss: 3100.2252 - val_mean_absolute_error: 43.4561 - val_mean_squared_error: 3100.2252
Epoch 289/400
283/283 [==============================] - 0s 41us/step - loss: 2885.7482 - mean_absolute_error: 43.6391 - mean_squared_error: 2885.7482 - val_loss: 3107.5972 - val_mean_absolute_error: 43.4706 - val_mean_squared_error: 3107.5972
Epoch 290/400
283/283 [==============================] - 0s 50us/step - loss: 2885.7140 - mean_absolute_error: 43.6453 - mean_squared_error: 2885.7140 - val_loss: 3103.4551 - val_mean_absolute_error: 43.4716 - val_mean_squared_error: 3103.4551
Epoch 291/400
283/283 [==============================] - 0s 43us/step - loss: 2884.0267 - mean_absolute_error: 43.6458 - mean_squared_error: 2884.0267 - val_loss: 3112.1398 - val_mean_absolute_error: 43.4888 - val_mean_squared_error: 3112.1398
Epoch 292/400
283/283 [==============================] - 0s 48us/step - loss: 2884.2618 - mean_absolute_error: 43.6401 - mean_squared_error: 2884.2618 - val_loss: 3108.3668 - val_mean_absolute_error: 43.4752 - val_mean_squared_error: 3108.3668
Epoch 293/400
283/283 [==============================] - 0s 48us/step - loss: 2884.1709 - mean_absolute_error: 43.6319 - mean_squared_error: 2884.1709 - val_loss: 3103.7808 - val_mean_absolute_error: 43.4537 - val_mean_squared_error: 3103.7808
Epoch 294/400
283/283 [==============================] - 0s 47us/step - loss: 2884.6899 - mean_absolute_error: 43.6443 - mean_squared_error: 2884.6899 - val_loss: 3109.1969 - val_mean_absolute_error: 43.4786 - val_mean_squared_error: 3109.1969
Epoch 295/400
283/283 [==============================] - 0s 52us/step - loss: 2888.8445 - mean_absolute_error: 43.6816 - mean_squared_error: 2888.8445 - val_loss: 3096.2655 - val_mean_absolute_error: 43.4768 - val_mean_squared_error: 3096.2655
Epoch 296/400
283/283 [==============================] - 0s 46us/step - loss: 2881.1892 - mean_absolute_error: 43.6130 - mean_squared_error: 2881.1892 - val_loss: 3108.1619 - val_mean_absolute_error: 43.4804 - val_mean_squared_error: 3108.1619
Epoch 297/400
283/283 [==============================] - 0s 40us/step - loss: 2885.1795 - mean_absolute_error: 43.6450 - mean_squared_error: 2885.1795 - val_loss: 3107.6885 - val_mean_absolute_error: 43.4841 - val_mean_squared_error: 3107.6885
Epoch 298/400
283/283 [==============================] - 0s 42us/step - loss: 2884.3561 - mean_absolute_error: 43.6507 - mean_squared_error: 2884.3561 - val_loss: 3112.5749 - val_mean_absolute_error: 43.4923 - val_mean_squared_error: 3112.5749
Epoch 299/400
283/283 [==============================] - 0s 43us/step - loss: 2883.4258 - mean_absolute_error: 43.5853 - mean_squared_error: 2883.4258 - val_loss: 3116.1375 - val_mean_absolute_error: 43.4923 - val_mean_squared_error: 3116.1375
Epoch 300/400
283/283 [==============================] - 0s 41us/step - loss: 2880.6233 - mean_absolute_error: 43.6009 - mean_squared_error: 2880.6233 - val_loss: 3107.8699 - val_mean_absolute_error: 43.4646 - val_mean_squared_error: 3107.8699
Epoch 301/400
283/283 [==============================] - 0s 43us/step - loss: 2887.5387 - mean_absolute_error: 43.7017 - mean_squared_error: 2887.5387 - val_loss: 3091.9812 - val_mean_absolute_error: 43.5228 - val_mean_squared_error: 3091.9812
Epoch 302/400
283/283 [==============================] - 0s 41us/step - loss: 2883.6220 - mean_absolute_error: 43.6741 - mean_squared_error: 2883.6220 - val_loss: 3092.8768 - val_mean_absolute_error: 43.5084 - val_mean_squared_error: 3092.8768
Epoch 303/400
283/283 [==============================] - 0s 48us/step - loss: 2878.5646 - mean_absolute_error: 43.6359 - mean_squared_error: 2878.5646 - val_loss: 3114.1272 - val_mean_absolute_error: 43.4961 - val_mean_squared_error: 3114.1272
Epoch 304/400
283/283 [==============================] - 0s 44us/step - loss: 2880.3424 - mean_absolute_error: 43.5756 - mean_squared_error: 2880.3424 - val_loss: 3122.6358 - val_mean_absolute_error: 43.5011 - val_mean_squared_error: 3122.6358
Epoch 305/400
283/283 [==============================] - 0s 44us/step - loss: 2880.8005 - mean_absolute_error: 43.6003 - mean_squared_error: 2880.8005 - val_loss: 3112.7331 - val_mean_absolute_error: 43.4933 - val_mean_squared_error: 3112.7331
Epoch 306/400
283/283 [==============================] - 0s 40us/step - loss: 2878.8744 - mean_absolute_error: 43.5968 - mean_squared_error: 2878.8744 - val_loss: 3103.7937 - val_mean_absolute_error: 43.4817 - val_mean_squared_error: 3103.7937
Epoch 307/400
283/283 [==============================] - 0s 43us/step - loss: 2881.7751 - mean_absolute_error: 43.6415 - mean_squared_error: 2881.7751 - val_loss: 3110.8766 - val_mean_absolute_error: 43.5054 - val_mean_squared_error: 3110.8766
Epoch 308/400
283/283 [==============================] - 0s 49us/step - loss: 2879.8045 - mean_absolute_error: 43.5915 - mean_squared_error: 2879.8045 - val_loss: 3114.8310 - val_mean_absolute_error: 43.5104 - val_mean_squared_error: 3114.8310
Epoch 309/400
283/283 [==============================] - 0s 40us/step - loss: 2875.5252 - mean_absolute_error: 43.5741 - mean_squared_error: 2875.5252 - val_loss: 3106.9394 - val_mean_absolute_error: 43.4924 - val_mean_squared_error: 3106.9394
Epoch 310/400
283/283 [==============================] - 0s 50us/step - loss: 2881.6084 - mean_absolute_error: 43.6284 - mean_squared_error: 2881.6084 - val_loss: 3111.9813 - val_mean_absolute_error: 43.5044 - val_mean_squared_error: 3111.9813
Epoch 311/400
283/283 [==============================] - 0s 47us/step - loss: 2874.3526 - mean_absolute_error: 43.5904 - mean_squared_error: 2874.3526 - val_loss: 3096.9075 - val_mean_absolute_error: 43.4953 - val_mean_squared_error: 3096.9075
Epoch 312/400
283/283 [==============================] - 0s 44us/step - loss: 2877.7673 - mean_absolute_error: 43.6487 - mean_squared_error: 2877.7673 - val_loss: 3094.2526 - val_mean_absolute_error: 43.5176 - val_mean_squared_error: 3094.2526
Epoch 313/400
283/283 [==============================] - 0s 55us/step - loss: 2875.4325 - mean_absolute_error: 43.6021 - mean_squared_error: 2875.4325 - val_loss: 3098.7993 - val_mean_absolute_error: 43.4825 - val_mean_squared_error: 3098.7993
Epoch 314/400
283/283 [==============================] - 0s 43us/step - loss: 2873.2254 - mean_absolute_error: 43.5641 - mean_squared_error: 2873.2254 - val_loss: 3110.9962 - val_mean_absolute_error: 43.5009 - val_mean_squared_error: 3110.9962
Epoch 315/400
283/283 [==============================] - 0s 43us/step - loss: 2874.4277 - mean_absolute_error: 43.5619 - mean_squared_error: 2874.4277 - val_loss: 3108.4788 - val_mean_absolute_error: 43.5085 - val_mean_squared_error: 3108.4788
Epoch 316/400
283/283 [==============================] - 0s 42us/step - loss: 2873.3557 - mean_absolute_error: 43.5499 - mean_squared_error: 2873.3557 - val_loss: 3109.9727 - val_mean_absolute_error: 43.5167 - val_mean_squared_error: 3109.9727
Epoch 317/400
283/283 [==============================] - 0s 48us/step - loss: 2886.7368 - mean_absolute_error: 43.6994 - mean_squared_error: 2886.7368 - val_loss: 3095.1385 - val_mean_absolute_error: 43.4923 - val_mean_squared_error: 3095.1385
Epoch 318/400
283/283 [==============================] - 0s 46us/step - loss: 2879.1700 - mean_absolute_error: 43.6328 - mean_squared_error: 2879.1700 - val_loss: 3118.6005 - val_mean_absolute_error: 43.5193 - val_mean_squared_error: 3118.6005
Epoch 319/400
283/283 [==============================] - 0s 42us/step - loss: 2877.3381 - mean_absolute_error: 43.5787 - mean_squared_error: 2877.3381 - val_loss: 3101.8109 - val_mean_absolute_error: 43.4952 - val_mean_squared_error: 3101.8109
Epoch 320/400
283/283 [==============================] - 0s 48us/step - loss: 2872.8669 - mean_absolute_error: 43.5717 - mean_squared_error: 2872.8669 - val_loss: 3108.7505 - val_mean_absolute_error: 43.4959 - val_mean_squared_error: 3108.7505
Epoch 321/400
283/283 [==============================] - 0s 44us/step - loss: 2872.3448 - mean_absolute_error: 43.5478 - mean_squared_error: 2872.3448 - val_loss: 3114.6745 - val_mean_absolute_error: 43.5091 - val_mean_squared_error: 3114.6745
Epoch 322/400
283/283 [==============================] - 0s 42us/step - loss: 2872.1294 - mean_absolute_error: 43.5497 - mean_squared_error: 2872.1294 - val_loss: 3110.1629 - val_mean_absolute_error: 43.5232 - val_mean_squared_error: 3110.1629
Epoch 323/400
283/283 [==============================] - 0s 46us/step - loss: 2873.1187 - mean_absolute_error: 43.5689 - mean_squared_error: 2873.1187 - val_loss: 3098.1380 - val_mean_absolute_error: 43.4955 - val_mean_squared_error: 3098.1380
Epoch 324/400
283/283 [==============================] - 0s 42us/step - loss: 2869.1568 - mean_absolute_error: 43.5417 - mean_squared_error: 2869.1568 - val_loss: 3101.2942 - val_mean_absolute_error: 43.5032 - val_mean_squared_error: 3101.2942
Epoch 325/400
283/283 [==============================] - 0s 59us/step - loss: 2869.8531 - mean_absolute_error: 43.5191 - mean_squared_error: 2869.8531 - val_loss: 3111.8512 - val_mean_absolute_error: 43.5108 - val_mean_squared_error: 3111.8512
Epoch 326/400
283/283 [==============================] - 0s 49us/step - loss: 2871.2791 - mean_absolute_error: 43.5509 - mean_squared_error: 2871.2791 - val_loss: 3103.8584 - val_mean_absolute_error: 43.5140 - val_mean_squared_error: 3103.8584
Epoch 327/400
283/283 [==============================] - 0s 55us/step - loss: 2868.8378 - mean_absolute_error: 43.5135 - mean_squared_error: 2868.8378 - val_loss: 3111.3638 - val_mean_absolute_error: 43.5139 - val_mean_squared_error: 3111.3638
Epoch 328/400
283/283 [==============================] - 0s 53us/step - loss: 2867.5481 - mean_absolute_error: 43.5216 - mean_squared_error: 2867.5481 - val_loss: 3106.6411 - val_mean_absolute_error: 43.5215 - val_mean_squared_error: 3106.6411
Epoch 329/400
283/283 [==============================] - 0s 52us/step - loss: 2868.1913 - mean_absolute_error: 43.5361 - mean_squared_error: 2868.1913 - val_loss: 3101.6909 - val_mean_absolute_error: 43.5027 - val_mean_squared_error: 3101.6909
Epoch 330/400
283/283 [==============================] - 0s 67us/step - loss: 2867.9202 - mean_absolute_error: 43.5330 - mean_squared_error: 2867.9202 - val_loss: 3107.9757 - val_mean_absolute_error: 43.5102 - val_mean_squared_error: 3107.9757
Epoch 331/400
283/283 [==============================] - 0s 63us/step - loss: 2868.1135 - mean_absolute_error: 43.5379 - mean_squared_error: 2868.1135 - val_loss: 3103.1501 - val_mean_absolute_error: 43.4969 - val_mean_squared_error: 3103.1501
Epoch 332/400
283/283 [==============================] - 0s 55us/step - loss: 2869.2228 - mean_absolute_error: 43.5550 - mean_squared_error: 2869.2228 - val_loss: 3104.1180 - val_mean_absolute_error: 43.5112 - val_mean_squared_error: 3104.1180
Epoch 333/400
283/283 [==============================] - 0s 51us/step - loss: 2867.0151 - mean_absolute_error: 43.5370 - mean_squared_error: 2867.0151 - val_loss: 3103.9069 - val_mean_absolute_error: 43.5003 - val_mean_squared_error: 3103.9069
Epoch 334/400
283/283 [==============================] - 0s 43us/step - loss: 2865.5123 - mean_absolute_error: 43.5143 - mean_squared_error: 2865.5123 - val_loss: 3116.1693 - val_mean_absolute_error: 43.5221 - val_mean_squared_error: 3116.1693
Epoch 335/400
283/283 [==============================] - 0s 46us/step - loss: 2865.2401 - mean_absolute_error: 43.5024 - mean_squared_error: 2865.2401 - val_loss: 3114.6582 - val_mean_absolute_error: 43.5178 - val_mean_squared_error: 3114.6582
Epoch 336/400
283/283 [==============================] - 0s 43us/step - loss: 2867.0583 - mean_absolute_error: 43.5323 - mean_squared_error: 2867.0583 - val_loss: 3105.9561 - val_mean_absolute_error: 43.4986 - val_mean_squared_error: 3105.9561
Epoch 337/400
283/283 [==============================] - 0s 47us/step - loss: 2863.3670 - mean_absolute_error: 43.5041 - mean_squared_error: 2863.3670 - val_loss: 3108.7910 - val_mean_absolute_error: 43.5037 - val_mean_squared_error: 3108.7910
Epoch 338/400
283/283 [==============================] - 0s 50us/step - loss: 2867.3585 - mean_absolute_error: 43.5101 - mean_squared_error: 2867.3585 - val_loss: 3118.7267 - val_mean_absolute_error: 43.5264 - val_mean_squared_error: 3118.7267
Epoch 339/400
283/283 [==============================] - 0s 51us/step - loss: 2867.3527 - mean_absolute_error: 43.5153 - mean_squared_error: 2867.3527 - val_loss: 3116.3536 - val_mean_absolute_error: 43.5281 - val_mean_squared_error: 3116.3536
Epoch 340/400
283/283 [==============================] - 0s 45us/step - loss: 2863.2767 - mean_absolute_error: 43.4805 - mean_squared_error: 2863.2767 - val_loss: 3098.9804 - val_mean_absolute_error: 43.5135 - val_mean_squared_error: 3098.9804
Epoch 341/400
283/283 [==============================] - 0s 51us/step - loss: 2866.1696 - mean_absolute_error: 43.5440 - mean_squared_error: 2866.1696 - val_loss: 3094.7641 - val_mean_absolute_error: 43.5613 - val_mean_squared_error: 3094.7641
Epoch 342/400
283/283 [==============================] - 0s 49us/step - loss: 2866.1576 - mean_absolute_error: 43.5484 - mean_squared_error: 2866.1576 - val_loss: 3113.3171 - val_mean_absolute_error: 43.5167 - val_mean_squared_error: 3113.3171
Epoch 343/400
283/283 [==============================] - 0s 39us/step - loss: 2861.2407 - mean_absolute_error: 43.4718 - mean_squared_error: 2861.2407 - val_loss: 3108.5207 - val_mean_absolute_error: 43.5162 - val_mean_squared_error: 3108.5207
Epoch 344/400
283/283 [==============================] - 0s 43us/step - loss: 2868.5075 - mean_absolute_error: 43.5195 - mean_squared_error: 2868.5075 - val_loss: 3124.2573 - val_mean_absolute_error: 43.5470 - val_mean_squared_error: 3124.2573
Epoch 345/400
283/283 [==============================] - 0s 42us/step - loss: 2861.6696 - mean_absolute_error: 43.4952 - mean_squared_error: 2861.6696 - val_loss: 3103.5034 - val_mean_absolute_error: 43.5160 - val_mean_squared_error: 3103.5034
Epoch 346/400
283/283 [==============================] - 0s 51us/step - loss: 2859.9938 - mean_absolute_error: 43.4932 - mean_squared_error: 2859.9938 - val_loss: 3104.9191 - val_mean_absolute_error: 43.5238 - val_mean_squared_error: 3104.9191
Epoch 347/400
283/283 [==============================] - 0s 45us/step - loss: 2860.9527 - mean_absolute_error: 43.5011 - mean_squared_error: 2860.9527 - val_loss: 3100.0133 - val_mean_absolute_error: 43.5365 - val_mean_squared_error: 3100.0133
Epoch 348/400
283/283 [==============================] - 0s 45us/step - loss: 2865.7564 - mean_absolute_error: 43.5319 - mean_squared_error: 2865.7564 - val_loss: 3115.1321 - val_mean_absolute_error: 43.5476 - val_mean_squared_error: 3115.1321
Epoch 349/400
283/283 [==============================] - 0s 43us/step - loss: 2858.9109 - mean_absolute_error: 43.4660 - mean_squared_error: 2858.9109 - val_loss: 3106.6967 - val_mean_absolute_error: 43.5383 - val_mean_squared_error: 3106.6967
Epoch 350/400
283/283 [==============================] - 0s 57us/step - loss: 2858.0195 - mean_absolute_error: 43.4747 - mean_squared_error: 2858.0195 - val_loss: 3107.0808 - val_mean_absolute_error: 43.5141 - val_mean_squared_error: 3107.0808
Epoch 351/400
283/283 [==============================] - 0s 53us/step - loss: 2858.0980 - mean_absolute_error: 43.4809 - mean_squared_error: 2858.0980 - val_loss: 3107.7870 - val_mean_absolute_error: 43.5120 - val_mean_squared_error: 3107.7870
Epoch 352/400
283/283 [==============================] - 0s 57us/step - loss: 2857.8338 - mean_absolute_error: 43.4792 - mean_squared_error: 2857.8338 - val_loss: 3105.8030 - val_mean_absolute_error: 43.5342 - val_mean_squared_error: 3105.8030
Epoch 353/400
283/283 [==============================] - 0s 62us/step - loss: 2864.3304 - mean_absolute_error: 43.5244 - mean_squared_error: 2864.3304 - val_loss: 3122.9367 - val_mean_absolute_error: 43.5560 - val_mean_squared_error: 3122.9367
Epoch 354/400
283/283 [==============================] - 0s 50us/step - loss: 2857.2380 - mean_absolute_error: 43.4429 - mean_squared_error: 2857.2380 - val_loss: 3118.1810 - val_mean_absolute_error: 43.5396 - val_mean_squared_error: 3118.1810
Epoch 355/400
283/283 [==============================] - 0s 56us/step - loss: 2860.4020 - mean_absolute_error: 43.5132 - mean_squared_error: 2860.4020 - val_loss: 3102.0409 - val_mean_absolute_error: 43.5606 - val_mean_squared_error: 3102.0409
Epoch 356/400
283/283 [==============================] - 0s 63us/step - loss: 2856.2569 - mean_absolute_error: 43.4778 - mean_squared_error: 2856.2569 - val_loss: 3103.7768 - val_mean_absolute_error: 43.5276 - val_mean_squared_error: 3103.7768
Epoch 357/400
283/283 [==============================] - 0s 54us/step - loss: 2856.1091 - mean_absolute_error: 43.4575 - mean_squared_error: 2856.1091 - val_loss: 3115.0240 - val_mean_absolute_error: 43.5300 - val_mean_squared_error: 3115.0240
Epoch 358/400
283/283 [==============================] - 0s 52us/step - loss: 2854.7962 - mean_absolute_error: 43.4426 - mean_squared_error: 2854.7962 - val_loss: 3119.9080 - val_mean_absolute_error: 43.5449 - val_mean_squared_error: 3119.9080
Epoch 359/400
283/283 [==============================] - 0s 62us/step - loss: 2856.1401 - mean_absolute_error: 43.4541 - mean_squared_error: 2856.1401 - val_loss: 3110.3819 - val_mean_absolute_error: 43.5230 - val_mean_squared_error: 3110.3819
Epoch 360/400
283/283 [==============================] - 0s 49us/step - loss: 2854.9444 - mean_absolute_error: 43.4713 - mean_squared_error: 2854.9444 - val_loss: 3111.2425 - val_mean_absolute_error: 43.5201 - val_mean_squared_error: 3111.2425
Epoch 361/400
283/283 [==============================] - 0s 51us/step - loss: 2859.8752 - mean_absolute_error: 43.4765 - mean_squared_error: 2859.8752 - val_loss: 3123.1131 - val_mean_absolute_error: 43.5504 - val_mean_squared_error: 3123.1131
Epoch 362/400
283/283 [==============================] - 0s 50us/step - loss: 2855.0438 - mean_absolute_error: 43.4460 - mean_squared_error: 2855.0438 - val_loss: 3107.5731 - val_mean_absolute_error: 43.5328 - val_mean_squared_error: 3107.5731
Epoch 363/400
283/283 [==============================] - 0s 43us/step - loss: 2855.0060 - mean_absolute_error: 43.4669 - mean_squared_error: 2855.0060 - val_loss: 3103.5676 - val_mean_absolute_error: 43.5490 - val_mean_squared_error: 3103.5676
Epoch 364/400
283/283 [==============================] - 0s 49us/step - loss: 2851.2485 - mean_absolute_error: 43.4344 - mean_squared_error: 2851.2485 - val_loss: 3108.6293 - val_mean_absolute_error: 43.5496 - val_mean_squared_error: 3108.6293
Epoch 365/400
283/283 [==============================] - 0s 42us/step - loss: 2854.9647 - mean_absolute_error: 43.4578 - mean_squared_error: 2854.9647 - val_loss: 3124.3361 - val_mean_absolute_error: 43.5435 - val_mean_squared_error: 3124.3361
Epoch 366/400
283/283 [==============================] - 0s 42us/step - loss: 2856.0956 - mean_absolute_error: 43.4688 - mean_squared_error: 2856.0956 - val_loss: 3111.4038 - val_mean_absolute_error: 43.5315 - val_mean_squared_error: 3111.4038
Epoch 367/400
283/283 [==============================] - 0s 50us/step - loss: 2849.9017 - mean_absolute_error: 43.4235 - mean_squared_error: 2849.9017 - val_loss: 3109.9371 - val_mean_absolute_error: 43.5458 - val_mean_squared_error: 3109.9371
Epoch 368/400
283/283 [==============================] - 0s 57us/step - loss: 2850.9578 - mean_absolute_error: 43.4334 - mean_squared_error: 2850.9578 - val_loss: 3107.2347 - val_mean_absolute_error: 43.5695 - val_mean_squared_error: 3107.2347
Epoch 369/400
283/283 [==============================] - 0s 48us/step - loss: 2851.9832 - mean_absolute_error: 43.4282 - mean_squared_error: 2851.9832 - val_loss: 3120.6817 - val_mean_absolute_error: 43.5361 - val_mean_squared_error: 3120.6817
Epoch 370/400
283/283 [==============================] - 0s 45us/step - loss: 2850.1629 - mean_absolute_error: 43.4093 - mean_squared_error: 2850.1629 - val_loss: 3118.8117 - val_mean_absolute_error: 43.5462 - val_mean_squared_error: 3118.8117
Epoch 371/400
283/283 [==============================] - 0s 51us/step - loss: 2848.1141 - mean_absolute_error: 43.4002 - mean_squared_error: 2848.1141 - val_loss: 3114.7537 - val_mean_absolute_error: 43.5393 - val_mean_squared_error: 3114.7537
Epoch 372/400
283/283 [==============================] - 0s 54us/step - loss: 2848.4686 - mean_absolute_error: 43.4110 - mean_squared_error: 2848.4686 - val_loss: 3117.9563 - val_mean_absolute_error: 43.5333 - val_mean_squared_error: 3117.9563
Epoch 373/400
283/283 [==============================] - 0s 46us/step - loss: 2847.0277 - mean_absolute_error: 43.3908 - mean_squared_error: 2847.0277 - val_loss: 3112.3902 - val_mean_absolute_error: 43.5684 - val_mean_squared_error: 3112.3902
Epoch 374/400
283/283 [==============================] - 0s 49us/step - loss: 2846.2369 - mean_absolute_error: 43.3967 - mean_squared_error: 2846.2369 - val_loss: 3109.1614 - val_mean_absolute_error: 43.5791 - val_mean_squared_error: 3109.1614
Epoch 375/400
283/283 [==============================] - 0s 51us/step - loss: 2846.1777 - mean_absolute_error: 43.4070 - mean_squared_error: 2846.1777 - val_loss: 3110.6874 - val_mean_absolute_error: 43.5707 - val_mean_squared_error: 3110.6874
Epoch 376/400
283/283 [==============================] - 0s 49us/step - loss: 2846.2398 - mean_absolute_error: 43.3953 - mean_squared_error: 2846.2398 - val_loss: 3114.6583 - val_mean_absolute_error: 43.5697 - val_mean_squared_error: 3114.6583
Epoch 377/400
283/283 [==============================] - 0s 48us/step - loss: 2855.3242 - mean_absolute_error: 43.4753 - mean_squared_error: 2855.3242 - val_loss: 3104.0955 - val_mean_absolute_error: 43.5982 - val_mean_squared_error: 3104.0955
Epoch 378/400
283/283 [==============================] - 0s 50us/step - loss: 2845.0461 - mean_absolute_error: 43.3979 - mean_squared_error: 2845.0461 - val_loss: 3122.7449 - val_mean_absolute_error: 43.5658 - val_mean_squared_error: 3122.7449
Epoch 379/400
283/283 [==============================] - 0s 52us/step - loss: 2849.5654 - mean_absolute_error: 43.4284 - mean_squared_error: 2849.5654 - val_loss: 3115.7475 - val_mean_absolute_error: 43.5506 - val_mean_squared_error: 3115.7475
Epoch 380/400
283/283 [==============================] - 0s 47us/step - loss: 2846.5203 - mean_absolute_error: 43.4148 - mean_squared_error: 2846.5203 - val_loss: 3128.9077 - val_mean_absolute_error: 43.5525 - val_mean_squared_error: 3128.9077
Epoch 381/400
283/283 [==============================] - 0s 45us/step - loss: 2844.4820 - mean_absolute_error: 43.3641 - mean_squared_error: 2844.4820 - val_loss: 3121.0399 - val_mean_absolute_error: 43.5666 - val_mean_squared_error: 3121.0399
Epoch 382/400
283/283 [==============================] - 0s 46us/step - loss: 2842.6353 - mean_absolute_error: 43.3565 - mean_squared_error: 2842.6353 - val_loss: 3117.8555 - val_mean_absolute_error: 43.5773 - val_mean_squared_error: 3117.8555
Epoch 383/400
283/283 [==============================] - 0s 45us/step - loss: 2844.2602 - mean_absolute_error: 43.3970 - mean_squared_error: 2844.2602 - val_loss: 3105.5650 - val_mean_absolute_error: 43.6153 - val_mean_squared_error: 3105.5650
Epoch 384/400
283/283 [==============================] - 0s 53us/step - loss: 2842.9871 - mean_absolute_error: 43.3930 - mean_squared_error: 2842.9871 - val_loss: 3104.7757 - val_mean_absolute_error: 43.6064 - val_mean_squared_error: 3104.7757
Epoch 385/400
283/283 [==============================] - 0s 46us/step - loss: 2845.4588 - mean_absolute_error: 43.3987 - mean_squared_error: 2845.4588 - val_loss: 3119.5460 - val_mean_absolute_error: 43.5679 - val_mean_squared_error: 3119.5460
Epoch 386/400
283/283 [==============================] - 0s 48us/step - loss: 2843.4278 - mean_absolute_error: 43.3624 - mean_squared_error: 2843.4278 - val_loss: 3120.3800 - val_mean_absolute_error: 43.5754 - val_mean_squared_error: 3120.3800
Epoch 387/400
283/283 [==============================] - 0s 43us/step - loss: 2840.7363 - mean_absolute_error: 43.3628 - mean_squared_error: 2840.7363 - val_loss: 3112.8701 - val_mean_absolute_error: 43.5902 - val_mean_squared_error: 3112.8701
Epoch 388/400
283/283 [==============================] - 0s 48us/step - loss: 2841.6771 - mean_absolute_error: 43.3616 - mean_squared_error: 2841.6771 - val_loss: 3107.4297 - val_mean_absolute_error: 43.6142 - val_mean_squared_error: 3107.4297
Epoch 389/400
283/283 [==============================] - 0s 45us/step - loss: 2849.3662 - mean_absolute_error: 43.4340 - mean_squared_error: 2849.3662 - val_loss: 3104.3082 - val_mean_absolute_error: 43.5871 - val_mean_squared_error: 3104.3082
Epoch 390/400
283/283 [==============================] - 0s 46us/step - loss: 2839.8968 - mean_absolute_error: 43.3698 - mean_squared_error: 2839.8968 - val_loss: 3110.2483 - val_mean_absolute_error: 43.6055 - val_mean_squared_error: 3110.2483
Epoch 391/400
283/283 [==============================] - 0s 45us/step - loss: 2846.9938 - mean_absolute_error: 43.3972 - mean_squared_error: 2846.9938 - val_loss: 3138.4737 - val_mean_absolute_error: 43.5750 - val_mean_squared_error: 3138.4737
Epoch 392/400
283/283 [==============================] - 0s 41us/step - loss: 2841.2511 - mean_absolute_error: 43.3275 - mean_squared_error: 2841.2511 - val_loss: 3126.1977 - val_mean_absolute_error: 43.5712 - val_mean_squared_error: 3126.1977
Epoch 393/400
283/283 [==============================] - 0s 58us/step - loss: 2838.0956 - mean_absolute_error: 43.3275 - mean_squared_error: 2838.0956 - val_loss: 3119.1972 - val_mean_absolute_error: 43.5860 - val_mean_squared_error: 3119.1972
Epoch 394/400
283/283 [==============================] - 0s 44us/step - loss: 2837.8605 - mean_absolute_error: 43.3444 - mean_squared_error: 2837.8605 - val_loss: 3109.9630 - val_mean_absolute_error: 43.6253 - val_mean_squared_error: 3109.9630
Epoch 395/400
283/283 [==============================] - 0s 50us/step - loss: 2839.2222 - mean_absolute_error: 43.3655 - mean_squared_error: 2839.2222 - val_loss: 3107.7674 - val_mean_absolute_error: 43.6192 - val_mean_squared_error: 3107.7674
Epoch 396/400
283/283 [==============================] - 0s 45us/step - loss: 2839.8056 - mean_absolute_error: 43.3615 - mean_squared_error: 2839.8056 - val_loss: 3117.3264 - val_mean_absolute_error: 43.6427 - val_mean_squared_error: 3117.3264
Epoch 397/400
283/283 [==============================] - 0s 45us/step - loss: 2839.3618 - mean_absolute_error: 43.3470 - mean_squared_error: 2839.3618 - val_loss: 3110.2529 - val_mean_absolute_error: 43.6183 - val_mean_squared_error: 3110.2529
Epoch 398/400
283/283 [==============================] - 0s 48us/step - loss: 2836.6516 - mean_absolute_error: 43.3491 - mean_squared_error: 2836.6516 - val_loss: 3116.0310 - val_mean_absolute_error: 43.6055 - val_mean_squared_error: 3116.0310
Epoch 399/400
283/283 [==============================] - 0s 45us/step - loss: 2838.4147 - mean_absolute_error: 43.3390 - mean_squared_error: 2838.4147 - val_loss: 3124.7976 - val_mean_absolute_error: 43.6162 - val_mean_squared_error: 3124.7976
Epoch 400/400
283/283 [==============================] - 0s 42us/step - loss: 2839.5261 - mean_absolute_error: 43.3564 - mean_squared_error: 2839.5261 - val_loss: 3119.9959 - val_mean_absolute_error: 43.5892 - val_mean_squared_error: 3119.9959
Out[7]:
<keras.callbacks.History at 0x7f0484db0c18>

In [8]:
# Network architecture summary
model.summary()


_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
dense_1 (Dense)              (None, 64)                704       
_________________________________________________________________
dense_2 (Dense)              (None, 64)                4160      
_________________________________________________________________
dense_3 (Dense)              (None, 1)                 65        
=================================================================
Total params: 4,929
Trainable params: 4,929
Non-trainable params: 0
_________________________________________________________________

In [9]:
# Test it and view the overall MAE
loss, mae, mse = model.evaluate(test_dataset, test_labels, verbose=0)
print("Testing set Mean Abs Error: {:5.2f}".format(mae))


Testing set Mean Abs Error: 41.83

In [10]:
# Data point for prediction function check
data = [0.01991321,  0.05068012,  0.10480869,  0.07007254, -0.03596778, 
        -0.0266789 , -0.02499266, -0.00259226,  0.00371174,  0.04034337]

In [11]:
# Define predict function - needs extra brackets
def predict(model, inputs):
    return [str(model.predict([[x]])) for x in inputs]

In [12]:
# Check if the prediction works
predict(model, [data])


Out[12]:
['[[ 235.8543396]]']

In [13]:
# Save a model to a file
model.save("/tmp/model_keras.h5")

In [14]:
from clipper_admin import ClipperConnection, DockerContainerManager
from clipper_admin.deployers.keras import deploy_keras_model
clipper_conn = ClipperConnection(DockerContainerManager())

In [15]:
clipper_conn.start_clipper()


19-06-10:16:39:32 INFO     [docker_container_manager.py:184] [default-cluster] Starting managed Redis instance in Docker
19-06-10:16:39:35 INFO     [docker_container_manager.py:276] [default-cluster] Metric Configuration Saved at /tmp/tmpzkge3nqo.yml
19-06-10:16:39:36 INFO     [clipper_admin.py:162] [default-cluster] Clipper is running

In [16]:
# You can see some Clipper containers by simply running:
!docker ps


CONTAINER ID        IMAGE                                 COMMAND                  CREATED             STATUS                  PORTS                                            NAMES
e6b3693ff0e1        prom/prometheus:v2.9.2                "/bin/prometheus --c…"   1 second ago        Up Less than a second   0.0.0.0:9090->9090/tcp                           metric_frontend-48720
528826ce82ee        clipper/frontend-exporter:develop     "python /usr/src/app…"   1 second ago        Up Less than a second                                                    query_frontend_exporter-56042
3e647940902b        clipper/query_frontend:develop        "/clipper/query_fron…"   2 seconds ago       Up 1 second             0.0.0.0:1337->1337/tcp, 0.0.0.0:7000->7000/tcp   query_frontend-56042
e8310c55185e        clipper/management_frontend:develop   "/clipper/mgmt_front…"   3 seconds ago       Up 2 seconds            0.0.0.0:1338->1338/tcp                           mgmt_frontend-11492
a57c9acd3b5c        redis:alpine                          "docker-entrypoint.s…"   4 seconds ago       Up 3 seconds            0.0.0.0:6379->6379/tcp                           redis-65395

In [17]:
clipper_conn.connect()


19-06-10:16:39:40 INFO     [clipper_admin.py:172] [default-cluster] Successfully connected to Clipper cluster at localhost:1337

In [18]:
# List all applications
clipper_conn.get_all_apps()


Out[18]:
[]

In [19]:
# List all models
clipper_conn.get_all_models()


Out[19]:
[]

In [20]:
# Add an application with a name and an input type
clipper_conn.register_application(
    name="keras-app", input_type="doubles", default_output="-1.0", slo_micros=100000)


19-06-10:16:39:40 INFO     [clipper_admin.py:236] [default-cluster] Application keras-app was successfully registered

In [21]:
# Deploy a model, to check what arguments you need run 
# "?deploy_keras_model" to let the notebook show you the definition of the method
deploy_keras_model(
    clipper_conn,
    name="keras-mod",
    version=1,
    input_type="doubles",
    func=predict,
    model_path_or_object=model) 
# We use the model variable but you can also load a .h5 file - see the section below


19-06-10:16:39:40 INFO     [deployer_utils.py:41] Saving function to /tmp/tmprjfkgx5hclipper
19-06-10:16:39:40 INFO     [deployer_utils.py:51] Serialized and supplied predict function
19-06-10:16:39:40 INFO     [keras.py:221] Using Python 3.6 base image
19-06-10:16:39:40 INFO     [clipper_admin.py:534] [default-cluster] Building model Docker image with model data from /tmp/tmprjfkgx5hclipper
19-06-10:16:39:40 INFO     [clipper_admin.py:539] [default-cluster] Step 1/2 : FROM clipper/keras36-container:develop
19-06-10:16:39:40 INFO     [clipper_admin.py:539] [default-cluster]  ---> a5c593a345a0
19-06-10:16:39:40 INFO     [clipper_admin.py:539] [default-cluster] Step 2/2 : COPY /tmp/tmprjfkgx5hclipper /model/
19-06-10:16:39:40 INFO     [clipper_admin.py:539] [default-cluster]  ---> 3ec23f38989d
19-06-10:16:39:40 INFO     [clipper_admin.py:539] [default-cluster] Successfully built 3ec23f38989d
19-06-10:16:39:40 INFO     [clipper_admin.py:539] [default-cluster] Successfully tagged default-cluster-keras-mod:1
19-06-10:16:39:40 INFO     [clipper_admin.py:541] [default-cluster] Pushing model Docker image to default-cluster-keras-mod:1
19-06-10:16:39:43 INFO     [docker_container_manager.py:409] [default-cluster] Found 0 replicas for keras-mod:1. Adding 1
19-06-10:16:39:43 INFO     [clipper_admin.py:724] [default-cluster] Successfully registered model keras-mod:1
19-06-10:16:39:43 INFO     [clipper_admin.py:642] [default-cluster] Done deploying model keras-mod:1.

In [22]:
# Link the model and the app
clipper_conn.link_model_to_app(
    app_name="keras-app",
    model_name="keras-mod")


19-06-10:16:39:52 INFO     [clipper_admin.py:303] [default-cluster] Model keras-mod is now linked to application keras-app

In [23]:
# Show the apps again, should list one
clipper_conn.get_all_apps()


Out[23]:
['keras-app']

In [24]:
# Get query address
query_address = clipper_conn.get_query_addr()

In [25]:
# To avoid a default answer allow a moment for the model to start and connect properly
# before the first query, especially when you run all steps without a break
time.sleep(10)
# Run a query
import requests, json, numpy as np
headers = {"Content-type": "application/json"}
requests.post("http://"+query_address+"/keras-app/predict", headers=headers, data=json.dumps({
    "input": data})).json()


Out[25]:
{'query_id': 0, 'output': [[235.85434]], 'default': False}

In [26]:
# Deploy a second model using the saved model file
deploy_keras_model(
    clipper_conn,
    name="keras-mod",
    version=2,
    input_type="doubles",
    func=predict,
    model_path_or_object="/tmp/model_keras.h5")


19-06-10:16:40:17 INFO     [deployer_utils.py:41] Saving function to /tmp/tmp05k35bcnclipper
19-06-10:16:40:17 INFO     [deployer_utils.py:51] Serialized and supplied predict function
19-06-10:16:40:17 INFO     [keras.py:221] Using Python 3.6 base image
19-06-10:16:40:17 INFO     [clipper_admin.py:534] [default-cluster] Building model Docker image with model data from /tmp/tmp05k35bcnclipper
19-06-10:16:40:17 INFO     [clipper_admin.py:539] [default-cluster] Step 1/2 : FROM clipper/keras36-container:develop
19-06-10:16:40:17 INFO     [clipper_admin.py:539] [default-cluster]  ---> a5c593a345a0
19-06-10:16:40:17 INFO     [clipper_admin.py:539] [default-cluster] Step 2/2 : COPY /tmp/tmp05k35bcnclipper /model/
19-06-10:16:40:17 INFO     [clipper_admin.py:539] [default-cluster]  ---> 88cda4700ac7
19-06-10:16:40:17 INFO     [clipper_admin.py:539] [default-cluster] Successfully built 88cda4700ac7
19-06-10:16:40:17 INFO     [clipper_admin.py:539] [default-cluster] Successfully tagged default-cluster-keras-mod:2
19-06-10:16:40:17 INFO     [clipper_admin.py:541] [default-cluster] Pushing model Docker image to default-cluster-keras-mod:2
19-06-10:16:40:20 INFO     [docker_container_manager.py:409] [default-cluster] Found 0 replicas for keras-mod:2. Adding 1
19-06-10:16:40:20 INFO     [clipper_admin.py:724] [default-cluster] Successfully registered model keras-mod:2
19-06-10:16:40:20 INFO     [clipper_admin.py:642] [default-cluster] Done deploying model keras-mod:2.

In [27]:
# To avoid a default answer allow a moment for the model to start and connect properly
# before the first query, especially when you run all steps without a break
time.sleep(10)
# Run another query, the result is the same
headers = {"Content-type": "application/json"}
requests.post("http://"+query_address+"/keras-app/predict", headers=headers, data=json.dumps({
    "input": data})).json()


Out[27]:
{'query_id': 1, 'output': [[235.85434]], 'default': False}

In [28]:
# Since it works, let's clean up the model file
!rm /tmp/model_keras.h5

In [29]:
# Unlink the model and the app
clipper_conn.unlink_model_from_app(model_name="keras-mod", app_name="keras-app")


19-06-10:16:40:39 INFO     [clipper_admin.py:344] Model keras-mod is now removed to application keras-app

In [30]:
# Stop the model
clipper_conn.stop_models('keras-mod')


19-06-10:16:41:01 INFO     [clipper_admin.py:1285] Model keras-mod:2 was successfully deleted
19-06-10:16:41:01 INFO     [clipper_admin.py:1285] Model keras-mod:1 was successfully deleted
19-06-10:16:41:01 INFO     [clipper_admin.py:1319] [default-cluster] Stopped all containers for these models and versions:
{'keras-mod': ['2', '1']}

In [31]:
# Remove the app
clipper_conn.delete_application('keras-app')


19-06-10:16:41:12 WARNING  [clipper_admin.py:240] [default-cluster] [DEPRECATED] Use 'unregister_application' API instead of this.
19-06-10:16:41:12 INFO     [clipper_admin.py:260] [default-cluster] Application keras-app was successfully unregistered

In [32]:
# Stop Clipper
clipper_conn.stop_all()


19-06-10:16:41:47 INFO     [clipper_admin.py:1424] [default-cluster] Stopped all Clipper cluster and all model containers

In [33]:
# Check that all docker processes are stopped
!docker ps


CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

In [ ]: