from keras.models import Sequential
from keras.layers import Dense
import numpy
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.metrics import roc_auc_score, roc_curve
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
RND_SEED = 7
plt.style.use('ggplot')
numpy.random.seed(RND_SEED)
%matplotlib inline
Using TensorFlow backend.
Для тренеровки мы будем использовать достаточно известный набор данных Pima Indians.
Признаки такие: <br>
df = pd.read_csv('http://archive.ics.uci.edu/ml/machine-learning-databases/pima-indians-diabetes/pima-indians-diabetes.data',
sep=',', header=None)
df.head()
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
---|---|---|---|---|---|---|---|---|---|
0 | 6 | 148 | 72 | 35 | 0 | 33.6 | 0.627 | 50 | 1 |
1 | 1 | 85 | 66 | 29 | 0 | 26.6 | 0.351 | 31 | 0 |
2 | 8 | 183 | 64 | 0 | 0 | 23.3 | 0.672 | 32 | 1 |
3 | 1 | 89 | 66 | 23 | 94 | 28.1 | 0.167 | 21 | 0 |
4 | 0 | 137 | 40 | 35 | 168 | 43.1 | 2.288 | 33 | 1 |
X, y = df.iloc[:, :8].values, df.iloc[:, 8].values
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2,
random_state=RND_SEED)
from sklearn.preprocessing import StandardScaler
sc = StandardScaler().fit(X_train)
X_train = sc.transform(X_train)
X_test = sc.transform(X_test)
Построим простую 2х (3х) слойную нейронную сеть. Делать это в keras одно удовольствие
model = Sequential()
model.add(Dense(12, input_dim=8, init='normal', activation='relu'))
model.add(Dense(8, init='normal', activation='relu'))
model.add(Dense(1, init='uniform', activation='sigmoid'))
Теперь надо задать функцию ошибки, способ оптимизации и метрику измерения качества:
from keras.optimizers import SGD
# Compile model
model.compile(loss='binary_crossentropy',
optimizer='sgd',
metrics=['accuracy'])
# Fit the model
model.fit(X_train, y_train,
nb_epoch=500,
batch_size=50,
verbose=0)
<keras.callbacks.History at 0x124e19b50>
scores = model.evaluate(X_test, y_test)
print("%s: %.2f%%" % (model.metrics_names[1], scores[1]*100))
32/154 [=====>........................] - ETA: 0sacc: 74.03%
y_hat = model.predict(X_test).flatten()
y_hat[:10]
array([ 0.03262314, 0.44662398, 0.11943323, 0.1487564 , 0.15892425, 0.43256167, 0.00871862, 0.4862012 , 0.26264668, 0.23964411], dtype=float32)
Постройте ROC-кривые для обучающей и контрольной выборки. Есть ли переобучение?
fpr, tpr, _ = roc_curve(y_test, y_hat, )
plt.plot(fpr, tpr, label='test')
y_hat_train = model.predict(X_train).flatten()
fpr, tpr, _ = roc_curve(y_train, y_hat_train, )
plt.plot(fpr, tpr, label='train')
[<matplotlib.lines.Line2D at 0x1259acd10>]
Будем строить регрессию на данных Boston Housing Data Set
Описание:<br>
Весь pipeline практически повторяется. Ну и повторим.
from sklearn import datasets
boston = datasets.load_boston()
y = boston.target
X = boston.data
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2,
random_state=RND_SEED)
sc = StandardScaler().fit(X_train)
X_train = sc.transform(X_train)
X_test = sc.transform(X_test)
Построим простую 2х (3х) слойную нейронную сеть. Делать это в keras одно удовольствие
model = Sequential()
model.add(Dense(12, input_dim=13, init='normal', activation='relu'))
model.add(Dense(8, init='normal', activation='relu'))
model.add(Dense(1, init='normal', activation='linear'))
Теперь надо задать функцию ошибки, способ оптимизации и метрику измерения качества:
from keras.optimizers import SGD
# Compile model
model.compile(loss='mean_squared_error',
optimizer='sgd',
metrics=['mean_squared_error'])
# Fit the model
model.fit(X_train, y_train,
nb_epoch=500,
batch_size=50,
verbose=1)
Epoch 1/500 404/404 [==============================] - 0s - loss: 525.9456 - mean_squared_error: 525.9456 Epoch 2/500 404/404 [==============================] - 0s - loss: 239.7357 - mean_squared_error: 239.7357 Epoch 3/500 404/404 [==============================] - 0s - loss: 1470724695988345452598295709876224.0000 - mean_squared_error: 1470724695988345452598295709876224.0000 Epoch 4/500 404/404 [==============================] - 0s - loss: 1369862221923653713098621059072.0000 - mean_squared_error: 1369862221923653713098621059072.0000 Epoch 5/500 404/404 [==============================] - 0s - loss: 952239773805227311115593056256.0000 - mean_squared_error: 952239773805227311115593056256.0000 Epoch 6/500 404/404 [==============================] - 0s - loss: 661935423563330165517534101504.0000 - mean_squared_error: 661935423563330165517534101504.0000 Epoch 7/500 404/404 [==============================] - 0s - loss: 460134699549127301043975094272.0000 - mean_squared_error: 460134699549127301043975094272.0000 Epoch 8/500 404/404 [==============================] - 0s - loss: 319855905177755095930171817984.0000 - mean_squared_error: 319855905177755095930171817984.0000 Epoch 9/500 404/404 [==============================] - 0s - loss: 222343167179632576638176198656.0000 - mean_squared_error: 222343167179632576638176198656.0000 Epoch 10/500 404/404 [==============================] - 0s - loss: 154558604785120772186697629696.0000 - mean_squared_error: 154558604785120772186697629696.0000 Epoch 11/500 404/404 [==============================] - 0s - loss: 107439124618744995552534986752.0000 - mean_squared_error: 107439124618744995552534986752.0000 Epoch 12/500 404/404 [==============================] - 0s - loss: 74684712517355586830152499200.0000 - mean_squared_error: 74684712517355586830152499200.0000 Epoch 13/500 404/404 [==============================] - 0s - loss: 51915987195197148815050145792.0000 - mean_squared_error: 51915987195197148815050145792.0000 Epoch 14/500 404/404 [==============================] - 0s - loss: 36088636946107046572545015808.0000 - mean_squared_error: 36088636946107046572545015808.0000 Epoch 15/500 404/404 [==============================] - 0s - loss: 25086488250649377715230081024.0000 - mean_squared_error: 25086488250649377715230081024.0000 Epoch 16/500 404/404 [==============================] - 0s - loss: 17438507596462945254254837760.0000 - mean_squared_error: 17438507596462945254254837760.0000 Epoch 17/500 404/404 [==============================] - 0s - loss: 12122122810186779721031745536.0000 - mean_squared_error: 12122122810186779721031745536.0000 Epoch 18/500 404/404 [==============================] - 0s - loss: 8426516339693411335002914816.0000 - mean_squared_error: 8426516339693411335002914816.0000 Epoch 19/500 404/404 [==============================] - 0s - loss: 5857569948969387982040596480.0000 - mean_squared_error: 5857569948969387982040596480.0000 Epoch 20/500 404/404 [==============================] - 0s - loss: 4071803495397060701694459904.0000 - mean_squared_error: 4071803495397060701694459904.0000 Epoch 21/500 404/404 [==============================] - 0s - loss: 2830454636614042444237897728.0000 - mean_squared_error: 2830454636614042444237897728.0000 Epoch 22/500 404/404 [==============================] - 0s - loss: 1967549466397250573895204864.0000 - mean_squared_error: 1967549466397250573895204864.0000 Epoch 23/500 404/404 [==============================] - ETA: 0s - loss: 1396552534069761018525908992.0000 - mean_squared_error: 1396552534069761018525908992.00 - 0s - loss: 1367713088036599163089059840.0000 - mean_squared_error: 1367713088036599163089059840.0000 Epoch 24/500 404/404 [==============================] - 0s - loss: 950745691456542013428596736.0000 - mean_squared_error: 950745691456542013428596736.0000 - ETA: 0s - loss: 970792995067335121221713920.0000 - mean_squared_error: 970792995067335121221713920.0000 Epoch 25/500 404/404 [==============================] - 0s - loss: 660896931307755194321731584.0000 - mean_squared_error: 660896931307755194321731584.0000 Epoch 26/500 404/404 [==============================] - 0s - loss: 459412733348877203119538176.0000 - mean_squared_error: 459412733348877203119538176.0000 Epoch 27/500 404/404 [==============================] - 0s - loss: 319353921374995137305772032.0000 - mean_squared_error: 319353921374995137305772032.0000 Epoch 28/500 404/404 [==============================] - 0s - loss: 221994175381474503439679488.0000 - mean_squared_error: 221994175381474503439679488.0000 Epoch 29/500 404/404 [==============================] - 0s - loss: 154315995914534003228540928.0000 - mean_squared_error: 154315995914534003228540928.0000 Epoch 30/500 404/404 [==============================] - 0s - loss: 107270494625748989090201600.0000 - mean_squared_error: 107270494625748989090201600.0000 Epoch 31/500 404/404 [==============================] - 0s - loss: 74567517737383677837443072.0000 - mean_squared_error: 74567517737383677837443072.0000 Epoch 32/500 404/404 [==============================] - 0s - loss: 51834508894803674550763520.0000 - mean_squared_error: 51834508894803674550763520.0000 Epoch 33/500 404/404 [==============================] - 0s - loss: 36031994047466112196542464.0000 - mean_squared_error: 36031994047466112196542464.0000 Epoch 34/500 404/404 [==============================] - 0s - loss: 25047110707963904116391936.0000 - mean_squared_error: 25047110707963904116391936.0000 Epoch 35/500 404/404 [==============================] - 0s - loss: 17411134415445706607165440.0000 - mean_squared_error: 17411134415445706607165440.0000 Epoch 36/500 404/404 [==============================] - 0s - loss: 12103096484664801157447680.0000 - mean_squared_error: 12103096484664801157447680.0000 Epoch 37/500 404/404 [==============================] - 0s - loss: 8413293264746704990633984.0000 - mean_squared_error: 8413293264746704990633984.0000 Epoch 38/500 404/404 [==============================] - 0s - loss: 5848378362932755204931584.0000 - mean_squared_error: 5848378362932755204931584.0000 Epoch 39/500 404/404 [==============================] - 0s - loss: 4065414458646773060599808.0000 - mean_squared_error: 4065414458646773060599808.0000 Epoch 40/500 404/404 [==============================] - 0s - loss: 2826012664419479560650752.0000 - mean_squared_error: 2826012664419479560650752.0000 Epoch 41/500 404/404 [==============================] - 0s - loss: 1964461052518266541441024.0000 - mean_squared_error: 1964461052518266541441024.0000 Epoch 42/500 404/404 [==============================] - 0s - loss: 1365566030148496858808320.0000 - mean_squared_error: 1365566030148496858808320.0000 Epoch 43/500 404/404 [==============================] - 0s - loss: 949253146824082116837376.0000 - mean_squared_error: 949253146824082116837376.0000 Epoch 44/500 404/404 [==============================] - 0s - loss: 659859568832107184652288.0000 - mean_squared_error: 659859568832107184652288.0000 Epoch 45/500 404/404 [==============================] - 0s - loss: 458691679658088182317056.0000 - mean_squared_error: 458691679658088182317056.0000 Epoch 46/500 404/404 [==============================] - 0s - loss: 318852759845315194912768.0000 - mean_squared_error: 318852759845315194912768.0000 Epoch 47/500 404/404 [==============================] - 0s - loss: 221645851032314278051840.0000 - mean_squared_error: 221645851032314278051840.0000 Epoch 48/500 404/404 [==============================] - 0s - loss: 154073871251399449247744.0000 - mean_squared_error: 154073871251399449247744.0000 Epoch 49/500 404/404 [==============================] - 0s - loss: 107102210869024329302016.0000 - mean_squared_error: 107102210869024329302016.0000 Epoch 50/500 404/404 [==============================] - 0s - loss: 74450537355081448161280.0000 - mean_squared_error: 74450537355081448161280.0000 ETA: 0s - loss: 80589379805204816330752.0000 - mean_squared_error: 80589379805204816330752.00 Epoch 51/500 404/404 [==============================] - 0s - loss: 51753209203029184610304.0000 - mean_squared_error: 51753209203029184610304.0000 Epoch 52/500 404/404 [==============================] - 0s - loss: 35975480876087245799424.0000 - mean_squared_error: 35975480876087245799424.0000 Epoch 53/500 404/404 [==============================] - 0s - loss: 25007828240001432289280.0000 - mean_squared_error: 25007828240001432289280.0000 Epoch 54/500 404/404 [==============================] - ETA: 0s - loss: 17750379163241328672768.0000 - mean_squared_error: 17750379163241328672768.00 - 0s - loss: 17383826143722606690304.0000 - mean_squared_error: 17383826143722606690304.0000 Epoch 55/500 404/404 [==============================] - 0s - loss: 12084111443029898821632.0000 - mean_squared_error: 12084111443029898821632.0000 Epoch 56/500 404/404 [==============================] - 0s - loss: 8400092635660100304896.0000 - mean_squared_error: 8400092635660100304896.0000 Epoch 57/500 404/404 [==============================] - 0s - loss: 5839200579564109561856.0000 - mean_squared_error: 5839200579564109561856.0000 Epoch 58/500 404/404 [==============================] - 0s - loss: 4059034847027465814016.0000 - mean_squared_error: 4059034847027465814016.0000 Epoch 59/500 404/404 [==============================] - 0s - loss: 2821578418320144072704.0000 - mean_squared_error: 2821578418320144072704.0000 Epoch 60/500 404/404 [==============================] - 0s - loss: 1961378666929219960832.0000 - mean_squared_error: 1961378666929219960832.0000 Epoch 61/500 404/404 [==============================] - 0s - loss: 1363423331635454279680.0000 - mean_squared_error: 1363423331635454279680.0000 Epoch 62/500 404/404 [==============================] - 0s - loss: 947763686937002770432.0000 - mean_squared_error: 947763686937002770432.0000 Epoch 63/500 404/404 [==============================] - 0s - loss: 658824153741275037696.0000 - mean_squared_error: 658824153741275037696.0000 Epoch 64/500 404/404 [==============================] - 0s - loss: 457971871894969516032.0000 - mean_squared_error: 457971871894969516032.0000 Epoch 65/500 404/404 [==============================] - 0s - loss: 318352411901219569664.0000 - mean_squared_error: 318352411901219569664.0000 Epoch 66/500 404/404 [==============================] - 0s - loss: 221298044918778626048.0000 - mean_squared_error: 221298044918778626048.0000 Epoch 67/500 404/404 [==============================] - 0s - loss: 153832068917862989824.0000 - mean_squared_error: 153832068917862989824.0000 Epoch 68/500 404/404 [==============================] - 0s - loss: 106934127125555986432.0000 - mean_squared_error: 106934127125555986432.0000 Epoch 69/500 404/404 [==============================] - 0s - loss: 74333709866962812928.0000 - mean_squared_error: 74333709866962812928.0000 Epoch 70/500 404/404 [==============================] - 0s - loss: 51671998723792658432.0000 - mean_squared_error: 51671998723792658432.0000 Epoch 71/500 404/404 [==============================] - 0s - loss: 35919040981398409216.0000 - mean_squared_error: 35919040981398409216.0000 Epoch 72/500 404/404 [==============================] - 0s - loss: 24968596130160603136.0000 - mean_squared_error: 24968596130160603136.0000 Epoch 73/500 404/404 [==============================] - 0s - loss: 17356551155339071488.0000 - mean_squared_error: 17356551155339071488.0000 Epoch 74/500 404/404 [==============================] - 0s - loss: 12065152987071977472.0000 - mean_squared_error: 12065152987071977472.0000 Epoch 75/500 404/404 [==============================] - 0s - loss: 8386912385353622528.0000 - mean_squared_error: 8386912385353622528.0000 Epoch 76/500 404/404 [==============================] - 0s - loss: 5830038665306661888.0000 - mean_squared_error: 5830038665306661888.0000 Epoch 77/500 404/404 [==============================] - 0s - loss: 4052665552187596288.0000 - mean_squared_error: 4052665552187596288.0000 Epoch 78/500 404/404 [==============================] - 0s - loss: 2817151636649619456.0000 - mean_squared_error: 2817151636649619456.0000 Epoch 79/500 404/404 [==============================] - 0s - loss: 1958301818165768960.0000 - mean_squared_error: 1958301818165768960.0000 Epoch 80/500 404/404 [==============================] - 0s - loss: 1361284895161032448.0000 - mean_squared_error: 1361284895161032448.0000 Epoch 81/500 404/404 [==============================] - 0s - loss: 946277344385355648.0000 - mean_squared_error: 946277344385355648.0000 Epoch 82/500 404/404 [==============================] - 0s - loss: 657790801755707136.0000 - mean_squared_error: 657790801755707136.0000 Epoch 83/500 404/404 [==============================] - 0s - loss: 457253683258325760.0000 - mean_squared_error: 457253683258325760.0000 Epoch 84/500 404/404 [==============================] - 0s - loss: 317853136660388352.0000 - mean_squared_error: 317853136660388352.0000 Epoch 85/500 404/404 [==============================] - 0s - loss: 220950950835697248.0000 - mean_squared_error: 220950950835697248.0000 ETA: 0s - loss: 221323068524462080.0000 - mean_squared_error: 221323068524462080.00 Epoch 86/500 404/404 [==============================] - 0s - loss: 153590816535428960.0000 - mean_squared_error: 153590816535428960.0000 Epoch 87/500 404/404 [==============================] - 0s - loss: 106766393923545872.0000 - mean_squared_error: 106766393923545872.0000 Epoch 88/500 404/404 [==============================] - 0s - loss: 74217087009829552.0000 - mean_squared_error: 74217087009829552.0000 Epoch 89/500 404/404 [==============================] - 0s - loss: 51590923481057176.0000 - mean_squared_error: 51590923481057176.0000 Epoch 90/500 404/404 [==============================] - 0s - loss: 35862679952252360.0000 - mean_squared_error: 35862679952252360.0000 Epoch 91/500 404/404 [==============================] - 0s - loss: 24929414998860016.0000 - mean_squared_error: 24929414998860016.0000 Epoch 92/500 404/404 [==============================] - 0s - loss: 17329315914547524.0000 - mean_squared_error: 17329315914547524.0000 Epoch 93/500 404/404 [==============================] - 0s - loss: 12046219504556052.0000 - mean_squared_error: 12046219504556052.0000 Epoch 94/500 404/404 [==============================] - 0s - loss: 8373753329366980.0000 - mean_squared_error: 8373753329366980.0000 Epoch 95/500 404/404 [==============================] - 0s - loss: 5820891244937703.0000 - mean_squared_error: 5820891244937703.0000 Epoch 96/500 404/404 [==============================] - 0s - loss: 4046307945154458.5000 - mean_squared_error: 4046307945154458.5000 Epoch 97/500 404/404 [==============================] - 0s - loss: 2812731957717134.0000 - mean_squared_error: 2812731957717134.0000 Epoch 98/500 404/404 [==============================] - 0s - loss: 1955229673421874.7500 - mean_squared_error: 1955229673421874.7500 Epoch 99/500 404/404 [==============================] - 0s - loss: 1359148978152316.2500 - mean_squared_error: 1359148978152316.2500 Epoch 100/500 404/404 [==============================] - 0s - loss: 944792443481665.8750 - mean_squared_error: 944792443481665.8750 Epoch 101/500 404/404 [==============================] - 0s - loss: 656758609522404.1250 - mean_squared_error: 656758609522404.1250 Epoch 102/500 404/404 [==============================] - 0s - loss: 456536055842390.1875 - mean_squared_error: 456536055842390.1875 Epoch 103/500 404/404 [==============================] - 0s - loss: 317354300454526.7500 - mean_squared_error: 317354300454526.7500 Epoch 104/500 404/404 [==============================] - 0s - loss: 220604177546290.7188 - mean_squared_error: 220604177546290.7188 Epoch 105/500 404/404 [==============================] - 0s - loss: 153349744619722.7500 - mean_squared_error: 153349744619722.7500 Epoch 106/500 404/404 [==============================] - 0s - loss: 106598810613536.9375 - mean_squared_error: 106598810613536.9375 Epoch 107/500 404/404 [==============================] - 0s - loss: 74100584031749.0625 - mean_squared_error: 74100584031749.0625 Epoch 108/500 404/404 [==============================] - 0s - loss: 51509935737379.4766 - mean_squared_error: 51509935737379.4766 Epoch 109/500 404/404 [==============================] - 0s - loss: 35806378661583.8438 - mean_squared_error: 35806378661583.8438 Epoch 110/500 404/404 [==============================] - 0s - loss: 24890278627713.2695 - mean_squared_error: 24890278627713.2695 Epoch 111/500 404/404 [==============================] - 0s - loss: 17302114977203.9609 - mean_squared_error: 17302114977203.9609 Epoch 112/500 404/404 [==============================] - 0s - loss: 12027311013401.3457 - mean_squared_error: 12027311013401.3457 Epoch 113/500 404/404 [==============================] - 0s - loss: 8360609183196.5146 - mean_squared_error: 8360609183196.5146 Epoch 114/500 404/404 [==============================] - 0s - loss: 5811754894609.7422 - mean_squared_error: 5811754894609.7422 Epoch 115/500 404/404 [==============================] - 0s - loss: 4039956360121.0293 - mean_squared_error: 4039956360121.0293 Epoch 116/500 404/404 [==============================] - 0s - loss: 2808315765141.5449 - mean_squared_error: 2808315765141.5449 Epoch 117/500 404/404 [==============================] - 0s - loss: 1952160069246.7324 - mean_squared_error: 1952160069246.7324 Epoch 118/500 404/404 [==============================] - 0s - loss: 1357015229957.0693 - mean_squared_error: 1357015229957.0693 Epoch 119/500 404/404 [==============================] - 0s - loss: 943308841203.3268 - mean_squared_error: 943308841203.3268 Epoch 120/500 404/404 [==============================] - 0s - loss: 655727238762.4554 - mean_squared_error: 655727238762.4554 Epoch 121/500 404/404 [==============================] - 0s - loss: 455819276652.9901 - mean_squared_error: 455819276652.9901 Epoch 122/500 404/404 [==============================] - 0s - loss: 316855966770.6931 - mean_squared_error: 316855966770.6931 Epoch 123/500 404/404 [==============================] - 0s - loss: 220257708498.3762 - mean_squared_error: 220257708498.3762 Epoch 124/500 404/404 [==============================] - 0s - loss: 153108871391.0495 - mean_squared_error: 153108871391.0495 Epoch 125/500 404/404 [==============================] - 0s - loss: 106431356481.9010 - mean_squared_error: 106431356481.9010 Epoch 126/500 404/404 [==============================] - 0s - loss: 73984247219.9604 - mean_squared_error: 73984247219.9604 Epoch 127/500 404/404 [==============================] - 0s - loss: 51429051077.7030 - mean_squared_error: 51429051077.7030 Epoch 128/500 404/404 [==============================] - 0s - loss: 35750177883.2475 - mean_squared_error: 35750177883.2475 Epoch 129/500 404/404 [==============================] - 0s - loss: 24851178759.6040 - mean_squared_error: 24851178759.6040 Epoch 130/500 404/404 [==============================] - 0s - loss: 17274931570.0594 - mean_squared_error: 17274931570.0594 Epoch 131/500 404/404 [==============================] - 0s - loss: 12008400323.1683 - mean_squared_error: 12008400323.1683 Epoch 132/500 404/404 [==============================] - 0s - loss: 8347488258.5347 - mean_squared_error: 8347488258.5347 Epoch 133/500 404/404 [==============================] - 0s - loss: 5802632744.5545 - mean_squared_error: 5802632744.5545 Epoch 134/500 404/404 [==============================] - 0s - loss: 4033626146.2178 - mean_squared_error: 4033626146.2178 Epoch 135/500 404/404 [==============================] - 0s - loss: 2803920882.0594 - mean_squared_error: 2803920882.0594 Epoch 136/500 404/404 [==============================] - 0s - loss: 1949107765.8614 - mean_squared_error: 1949107765.8614 Epoch 137/500 404/404 [==============================] - 0s - loss: 1354899182.8911 - mean_squared_error: 1354899182.8911 Epoch 138/500 404/404 [==============================] - 0s - loss: 941837887.6832 - mean_squared_error: 941837887.6832 Epoch 139/500 404/404 [==============================] - 0s - loss: 654705175.1287 - mean_squared_error: 654705175.1287 Epoch 140/500 404/404 [==============================] - 0s - loss: 455107263.8416 - mean_squared_error: 455107263.8416 Epoch 141/500 404/404 [==============================] - 0s - loss: 316359186.3762 - mean_squared_error: 316359186.3762 Epoch 142/500 404/404 [==============================] - 0s - loss: 219908131.8812 - mean_squared_error: 219908131.8812 Epoch 143/500 404/404 [==============================] - 0s - loss: 152865607.7624 - mean_squared_error: 152865607.7624 Epoch 144/500 404/404 [==============================] - 0s - loss: 106261632.3168 - mean_squared_error: 106261632.3168 Epoch 145/500 404/404 [==============================] - 0s - loss: 73866708.3762 - mean_squared_error: 73866708.3762 Epoch 146/500 404/404 [==============================] - 0s - loss: 51349426.1584 - mean_squared_error: 51349426.1584 Epoch 147/500 404/404 [==============================] - 0s - loss: 35694278.0297 - mean_squared_error: 35694278.0297 Epoch 148/500 404/404 [==============================] - 0s - loss: 24812263.6337 - mean_squared_error: 24812263.6337 Epoch 149/500 404/404 [==============================] - 0s - loss: 17246955.4356 - mean_squared_error: 17246955.4356 Epoch 150/500 404/404 [==============================] - 0s - loss: 11989386.5149 - mean_squared_error: 11989386.5149 Epoch 151/500 404/404 [==============================] - 0s - loss: 8334415.6906 - mean_squared_error: 8334415.6906 Epoch 152/500 404/404 [==============================] - 0s - loss: 5794488.8564 - mean_squared_error: 5794488.8564 ETA: 0s - loss: 6271162.6250 - mean_squared_error: 6271162. Epoch 153/500 404/404 [==============================] - 0s - loss: 4027765.2512 - mean_squared_error: 4027765.2512 Epoch 154/500 404/404 [==============================] - 0s - loss: 2799950.4530 - mean_squared_error: 2799950.4530 Epoch 155/500 404/404 [==============================] - 0s - loss: 1946577.1405 - mean_squared_error: 1946577.1405 Epoch 156/500 404/404 [==============================] - 0s - loss: 1353100.8830 - mean_squared_error: 1353100.8830 Epoch 157/500 404/404 [==============================] - 0s - loss: 940794.5003 - mean_squared_error: 940794.5003 Epoch 158/500 404/404 [==============================] - 0s - loss: 654211.3954 - mean_squared_error: 654211.3954 Epoch 159/500 404/404 [==============================] - 0s - loss: 454731.1734 - mean_squared_error: 454731.1734 Epoch 160/500 404/404 [==============================] - 0s - loss: 316188.1764 - mean_squared_error: 316188.1764 Epoch 161/500 404/404 [==============================] - 0s - loss: 219831.8400 - mean_squared_error: 219831.8400 Epoch 162/500 404/404 [==============================] - 0s - loss: 152882.8025 - mean_squared_error: 152882.8025 Epoch 163/500 404/404 [==============================] - 0s - loss: 106258.2997 - mean_squared_error: 106258.2997 Epoch 164/500 404/404 [==============================] - 0s - loss: 73842.3985 - mean_squared_error: 73842.3985 Epoch 165/500 404/404 [==============================] - 0s - loss: 51329.0487 - mean_squared_error: 51329.0487 Epoch 166/500 404/404 [==============================] - 0s - loss: 35682.7861 - mean_squared_error: 35682.7861 Epoch 167/500 404/404 [==============================] - 0s - loss: 24843.5413 - mean_squared_error: 24843.5413 Epoch 168/500 404/404 [==============================] - 0s - loss: 17291.0356 - mean_squared_error: 17291.0356 Epoch 169/500 404/404 [==============================] - 0s - loss: 12024.7992 - mean_squared_error: 12024.7992 Epoch 170/500 404/404 [==============================] - 0s - loss: 8373.9564 - mean_squared_error: 8373.9564 Epoch 171/500 404/404 [==============================] - 0s - loss: 5864.5042 - mean_squared_error: 5864.5042 Epoch 172/500 404/404 [==============================] - 0s - loss: 4122.5598 - mean_squared_error: 4122.5598 Epoch 173/500 404/404 [==============================] - 0s - loss: 2884.8720 - mean_squared_error: 2884.8720 Epoch 174/500 404/404 [==============================] - 0s - loss: 2033.9892 - mean_squared_error: 2033.9892 Epoch 175/500 404/404 [==============================] - 0s - loss: 1438.9609 - mean_squared_error: 1438.9609 Epoch 176/500 404/404 [==============================] - 0s - loss: 1026.5457 - mean_squared_error: 1026.5457 Epoch 177/500 404/404 [==============================] - 0s - loss: 735.2878 - mean_squared_error: 735.2878 Epoch 178/500 404/404 [==============================] - 0s - loss: 537.6049 - mean_squared_error: 537.6049 Epoch 179/500 404/404 [==============================] - 0s - loss: 401.8806 - mean_squared_error: 401.8806 Epoch 180/500 404/404 [==============================] - ETA: 0s - loss: 331.8398 - mean_squared_error: 331.83 - 0s - loss: 306.6051 - mean_squared_error: 306.6051 Epoch 181/500 404/404 [==============================] - 0s - loss: 240.5359 - mean_squared_error: 240.5359 Epoch 182/500 404/404 [==============================] - 0s - loss: 195.4354 - mean_squared_error: 195.4354 Epoch 183/500 404/404 [==============================] - 0s - loss: 163.0336 - mean_squared_error: 163.0336 Epoch 184/500 404/404 [==============================] - 0s - loss: 140.4272 - mean_squared_error: 140.4272 Epoch 185/500 404/404 [==============================] - ETA: 0s - loss: 123.7695 - mean_squared_error: 123.76 - 0s - loss: 123.9771 - mean_squared_error: 123.9771 Epoch 186/500 404/404 [==============================] - 0s - loss: 112.9836 - mean_squared_error: 112.9836 Epoch 187/500 404/404 [==============================] - 0s - loss: 104.9631 - mean_squared_error: 104.9631 Epoch 188/500 404/404 [==============================] - 0s - loss: 99.4140 - mean_squared_error: 99.4140 Epoch 189/500 404/404 [==============================] - 0s - loss: 95.7659 - mean_squared_error: 95.7659 Epoch 190/500 404/404 [==============================] - 0s - loss: 92.1715 - mean_squared_error: 92.1715 Epoch 191/500 404/404 [==============================] - 0s - loss: 90.4615 - mean_squared_error: 90.4615 Epoch 192/500 404/404 [==============================] - 0s - loss: 88.7141 - mean_squared_error: 88.7141 Epoch 193/500 404/404 [==============================] - 0s - loss: 87.5166 - mean_squared_error: 87.5166 Epoch 194/500 404/404 [==============================] - 0s - loss: 86.7371 - mean_squared_error: 86.7371 Epoch 195/500 404/404 [==============================] - 0s - loss: 86.3010 - mean_squared_error: 86.3010 Epoch 196/500 404/404 [==============================] - 0s - loss: 86.1080 - mean_squared_error: 86.1080 Epoch 197/500 404/404 [==============================] - 0s - loss: 85.8342 - mean_squared_error: 85.8342 Epoch 198/500 404/404 [==============================] - 0s - loss: 85.6202 - mean_squared_error: 85.6202 Epoch 199/500 404/404 [==============================] - 0s - loss: 85.4593 - mean_squared_error: 85.4593 Epoch 200/500 404/404 [==============================] - 0s - loss: 85.4041 - mean_squared_error: 85.4041 Epoch 201/500 404/404 [==============================] - 0s - loss: 85.3597 - mean_squared_error: 85.3597 Epoch 202/500 404/404 [==============================] - 0s - loss: 85.3704 - mean_squared_error: 85.3704 Epoch 203/500 404/404 [==============================] - 0s - loss: 85.3547 - mean_squared_error: 85.3547 Epoch 204/500 404/404 [==============================] - 0s - loss: 85.3569 - mean_squared_error: 85.3569 Epoch 205/500 404/404 [==============================] - 0s - loss: 85.3622 - mean_squared_error: 85.3622 Epoch 206/500 404/404 [==============================] - 0s - loss: 85.3530 - mean_squared_error: 85.3530 Epoch 207/500 404/404 [==============================] - 0s - loss: 85.3974 - mean_squared_error: 85.3974 Epoch 208/500 404/404 [==============================] - 0s - loss: 85.4973 - mean_squared_error: 85.4973 Epoch 209/500 404/404 [==============================] - 0s - loss: 85.3707 - mean_squared_error: 85.3707 Epoch 210/500 404/404 [==============================] - 0s - loss: 85.3934 - mean_squared_error: 85.3934 Epoch 211/500 404/404 [==============================] - 0s - loss: 85.3497 - mean_squared_error: 85.3497 Epoch 212/500 404/404 [==============================] - 0s - loss: 85.3646 - mean_squared_error: 85.3646 Epoch 213/500 404/404 [==============================] - 0s - loss: 85.3800 - mean_squared_error: 85.3800 Epoch 214/500 404/404 [==============================] - 0s - loss: 85.3867 - mean_squared_error: 85.3867 Epoch 215/500 404/404 [==============================] - 0s - loss: 85.3501 - mean_squared_error: 85.3501 Epoch 216/500 404/404 [==============================] - 0s - loss: 85.3695 - mean_squared_error: 85.3695 Epoch 217/500 404/404 [==============================] - 0s - loss: 85.4198 - mean_squared_error: 85.4198 Epoch 218/500 404/404 [==============================] - 0s - loss: 85.3648 - mean_squared_error: 85.3648 Epoch 219/500 404/404 [==============================] - 0s - loss: 85.3620 - mean_squared_error: 85.3620 Epoch 220/500 404/404 [==============================] - 0s - loss: 85.3949 - mean_squared_error: 85.3949 Epoch 221/500 404/404 [==============================] - 0s - loss: 85.3565 - mean_squared_error: 85.3565 Epoch 222/500 404/404 [==============================] - 0s - loss: 85.3471 - mean_squared_error: 85.3471 Epoch 223/500 404/404 [==============================] - 0s - loss: 85.3398 - mean_squared_error: 85.3398 Epoch 224/500 404/404 [==============================] - 0s - loss: 85.3727 - mean_squared_error: 85.3727 Epoch 225/500 404/404 [==============================] - 0s - loss: 85.3426 - mean_squared_error: 85.3426 Epoch 226/500 404/404 [==============================] - 0s - loss: 85.3580 - mean_squared_error: 85.3580 Epoch 227/500 404/404 [==============================] - 0s - loss: 85.4293 - mean_squared_error: 85.4293 Epoch 228/500 404/404 [==============================] - 0s - loss: 85.3476 - mean_squared_error: 85.3476 Epoch 229/500 404/404 [==============================] - 0s - loss: 85.3941 - mean_squared_error: 85.3941 Epoch 230/500 404/404 [==============================] - 0s - loss: 85.3843 - mean_squared_error: 85.3843 Epoch 231/500 404/404 [==============================] - 0s - loss: 85.3920 - mean_squared_error: 85.3920 Epoch 232/500 404/404 [==============================] - 0s - loss: 85.4010 - mean_squared_error: 85.4010 Epoch 233/500 404/404 [==============================] - 0s - loss: 85.3615 - mean_squared_error: 85.3615 Epoch 234/500 404/404 [==============================] - 0s - loss: 85.3929 - mean_squared_error: 85.3929 Epoch 235/500 404/404 [==============================] - 0s - loss: 85.4569 - mean_squared_error: 85.4569 Epoch 236/500 404/404 [==============================] - 0s - loss: 85.4378 - mean_squared_error: 85.4378 Epoch 237/500 404/404 [==============================] - 0s - loss: 85.3937 - mean_squared_error: 85.3937 Epoch 238/500 404/404 [==============================] - 0s - loss: 85.3697 - mean_squared_error: 85.3697 Epoch 239/500 404/404 [==============================] - 0s - loss: 85.3556 - mean_squared_error: 85.3556 Epoch 240/500 404/404 [==============================] - 0s - loss: 85.3915 - mean_squared_error: 85.3915 Epoch 241/500 404/404 [==============================] - 0s - loss: 85.3760 - mean_squared_error: 85.3760 Epoch 242/500 404/404 [==============================] - 0s - loss: 85.3884 - mean_squared_error: 85.3884 Epoch 243/500 404/404 [==============================] - 0s - loss: 85.4002 - mean_squared_error: 85.4002 Epoch 244/500 404/404 [==============================] - 0s - loss: 85.4229 - mean_squared_error: 85.4229 Epoch 245/500 404/404 [==============================] - 0s - loss: 85.4236 - mean_squared_error: 85.4236 Epoch 246/500 404/404 [==============================] - 0s - loss: 85.3757 - mean_squared_error: 85.3757 Epoch 247/500 404/404 [==============================] - 0s - loss: 85.3756 - mean_squared_error: 85.3756 Epoch 248/500 404/404 [==============================] - 0s - loss: 85.3582 - mean_squared_error: 85.3582 Epoch 249/500 404/404 [==============================] - 0s - loss: 85.3597 - mean_squared_error: 85.3597 Epoch 250/500 404/404 [==============================] - 0s - loss: 85.3720 - mean_squared_error: 85.3720 Epoch 251/500 404/404 [==============================] - 0s - loss: 85.3580 - mean_squared_error: 85.3580 Epoch 252/500 404/404 [==============================] - 0s - loss: 85.3521 - mean_squared_error: 85.3521 Epoch 253/500 404/404 [==============================] - 0s - loss: 85.3475 - mean_squared_error: 85.3475 Epoch 254/500 404/404 [==============================] - 0s - loss: 85.3576 - mean_squared_error: 85.3576 Epoch 255/500 404/404 [==============================] - 0s - loss: 85.3582 - mean_squared_error: 85.3582 Epoch 256/500 404/404 [==============================] - 0s - loss: 85.4487 - mean_squared_error: 85.4487 Epoch 257/500 404/404 [==============================] - 0s - loss: 85.3889 - mean_squared_error: 85.3889 Epoch 258/500 404/404 [==============================] - 0s - loss: 85.3538 - mean_squared_error: 85.3538 Epoch 259/500 404/404 [==============================] - 0s - loss: 85.3467 - mean_squared_error: 85.3467 Epoch 260/500 404/404 [==============================] - 0s - loss: 85.3809 - mean_squared_error: 85.3809 Epoch 261/500 404/404 [==============================] - 0s - loss: 85.3792 - mean_squared_error: 85.3792 Epoch 262/500 404/404 [==============================] - 0s - loss: 85.3952 - mean_squared_error: 85.3952 Epoch 263/500 404/404 [==============================] - 0s - loss: 85.3479 - mean_squared_error: 85.3479 Epoch 264/500 404/404 [==============================] - 0s - loss: 85.3695 - mean_squared_error: 85.3695 Epoch 265/500 404/404 [==============================] - 0s - loss: 85.3569 - mean_squared_error: 85.3569 Epoch 266/500 404/404 [==============================] - ETA: 0s - loss: 91.0899 - mean_squared_error: 91.08 - 0s - loss: 85.3498 - mean_squared_error: 85.3498 Epoch 267/500 404/404 [==============================] - 0s - loss: 85.3462 - mean_squared_error: 85.3462 Epoch 268/500 404/404 [==============================] - 0s - loss: 85.3893 - mean_squared_error: 85.3893 Epoch 269/500 404/404 [==============================] - 0s - loss: 85.3882 - mean_squared_error: 85.3882 Epoch 270/500 404/404 [==============================] - 0s - loss: 85.3752 - mean_squared_error: 85.3752 Epoch 271/500 404/404 [==============================] - 0s - loss: 85.3573 - mean_squared_error: 85.3573 Epoch 272/500 404/404 [==============================] - 0s - loss: 85.3830 - mean_squared_error: 85.3830 Epoch 273/500 404/404 [==============================] - 0s - loss: 85.3578 - mean_squared_error: 85.3578 Epoch 274/500 404/404 [==============================] - 0s - loss: 85.3911 - mean_squared_error: 85.3911 Epoch 275/500 404/404 [==============================] - 0s - loss: 85.3993 - mean_squared_error: 85.3993 Epoch 276/500 404/404 [==============================] - 0s - loss: 85.3749 - mean_squared_error: 85.3749 Epoch 277/500 404/404 [==============================] - 0s - loss: 85.3676 - mean_squared_error: 85.3676 Epoch 278/500 404/404 [==============================] - 0s - loss: 85.3483 - mean_squared_error: 85.3483 Epoch 279/500 404/404 [==============================] - 0s - loss: 85.3774 - mean_squared_error: 85.3774 Epoch 280/500 404/404 [==============================] - 0s - loss: 85.3940 - mean_squared_error: 85.3940 Epoch 281/500 404/404 [==============================] - 0s - loss: 85.3872 - mean_squared_error: 85.3872 Epoch 282/500 404/404 [==============================] - 0s - loss: 85.3812 - mean_squared_error: 85.3812 ETA: 0s - loss: 91.3624 - mean_squared_error: 91. Epoch 283/500 404/404 [==============================] - 0s - loss: 85.3801 - mean_squared_error: 85.3801 Epoch 284/500 404/404 [==============================] - 0s - loss: 85.3777 - mean_squared_error: 85.3777 Epoch 285/500 404/404 [==============================] - 0s - loss: 85.3577 - mean_squared_error: 85.3577 Epoch 286/500 404/404 [==============================] - 0s - loss: 85.3591 - mean_squared_error: 85.3591 Epoch 287/500 404/404 [==============================] - ETA: 0s - loss: 83.3828 - mean_squared_error: 83.38 - 0s - loss: 85.3493 - mean_squared_error: 85.3493 Epoch 288/500 404/404 [==============================] - 0s - loss: 85.3808 - mean_squared_error: 85.3808 Epoch 289/500 404/404 [==============================] - 0s - loss: 85.4303 - mean_squared_error: 85.4303 Epoch 290/500 404/404 [==============================] - 0s - loss: 85.3742 - mean_squared_error: 85.3742 Epoch 291/500 404/404 [==============================] - 0s - loss: 85.4022 - mean_squared_error: 85.4022 Epoch 292/500 404/404 [==============================] - 0s - loss: 85.3939 - mean_squared_error: 85.3939 Epoch 293/500 404/404 [==============================] - 0s - loss: 85.3650 - mean_squared_error: 85.3650 Epoch 294/500 404/404 [==============================] - 0s - loss: 85.3755 - mean_squared_error: 85.3755 Epoch 295/500 404/404 [==============================] - 0s - loss: 85.3904 - mean_squared_error: 85.3904 Epoch 296/500 404/404 [==============================] - 0s - loss: 85.4090 - mean_squared_error: 85.4090 Epoch 297/500 404/404 [==============================] - 0s - loss: 85.3948 - mean_squared_error: 85.3948 Epoch 298/500 404/404 [==============================] - 0s - loss: 85.3853 - mean_squared_error: 85.3853 Epoch 299/500 404/404 [==============================] - 0s - loss: 85.3706 - mean_squared_error: 85.3706 Epoch 300/500 404/404 [==============================] - 0s - loss: 85.3481 - mean_squared_error: 85.3481 Epoch 301/500 404/404 [==============================] - 0s - loss: 85.3962 - mean_squared_error: 85.3962 Epoch 302/500 404/404 [==============================] - 0s - loss: 85.3569 - mean_squared_error: 85.3569 Epoch 303/500 404/404 [==============================] - 0s - loss: 85.3442 - mean_squared_error: 85.3442 Epoch 304/500 404/404 [==============================] - 0s - loss: 85.3897 - mean_squared_error: 85.3897 Epoch 305/500 404/404 [==============================] - 0s - loss: 85.3569 - mean_squared_error: 85.3569 Epoch 306/500 404/404 [==============================] - 0s - loss: 85.3941 - mean_squared_error: 85.3941 Epoch 307/500 404/404 [==============================] - 0s - loss: 85.4721 - mean_squared_error: 85.4721 ETA: 0s - loss: 97.5334 - mean_squared_error: 97. Epoch 308/500 404/404 [==============================] - 0s - loss: 85.4080 - mean_squared_error: 85.4080 Epoch 309/500 404/404 [==============================] - 0s - loss: 85.4167 - mean_squared_error: 85.4167 Epoch 310/500 404/404 [==============================] - 0s - loss: 85.3734 - mean_squared_error: 85.3734 Epoch 311/500 404/404 [==============================] - 0s - loss: 85.3920 - mean_squared_error: 85.3920 Epoch 312/500 404/404 [==============================] - 0s - loss: 85.3726 - mean_squared_error: 85.3726 Epoch 313/500 404/404 [==============================] - 0s - loss: 85.3796 - mean_squared_error: 85.3796 Epoch 314/500 404/404 [==============================] - 0s - loss: 85.3683 - mean_squared_error: 85.3683 Epoch 315/500 404/404 [==============================] - 0s - loss: 85.3665 - mean_squared_error: 85.3665 Epoch 316/500 404/404 [==============================] - ETA: 0s - loss: 79.2482 - mean_squared_error: 79.24 - 0s - loss: 85.3704 - mean_squared_error: 85.3704 Epoch 317/500 404/404 [==============================] - 0s - loss: 85.3730 - mean_squared_error: 85.3730 Epoch 318/500 404/404 [==============================] - 0s - loss: 85.3704 - mean_squared_error: 85.3704 Epoch 319/500 404/404 [==============================] - 0s - loss: 85.3830 - mean_squared_error: 85.3830 Epoch 320/500 404/404 [==============================] - 0s - loss: 85.3615 - mean_squared_error: 85.3615 Epoch 321/500 404/404 [==============================] - 0s - loss: 85.4036 - mean_squared_error: 85.4036 Epoch 322/500 404/404 [==============================] - 0s - loss: 85.3942 - mean_squared_error: 85.3942 Epoch 323/500 404/404 [==============================] - 0s - loss: 85.4549 - mean_squared_error: 85.4549 Epoch 324/500 404/404 [==============================] - 0s - loss: 85.3764 - mean_squared_error: 85.3764 Epoch 325/500 404/404 [==============================] - 0s - loss: 85.3901 - mean_squared_error: 85.3901 Epoch 326/500 404/404 [==============================] - 0s - loss: 85.4041 - mean_squared_error: 85.4041 Epoch 327/500 404/404 [==============================] - 0s - loss: 85.4010 - mean_squared_error: 85.4010 Epoch 328/500 404/404 [==============================] - 0s - loss: 85.3656 - mean_squared_error: 85.3656 Epoch 329/500 404/404 [==============================] - 0s - loss: 85.3674 - mean_squared_error: 85.3674 Epoch 330/500 404/404 [==============================] - 0s - loss: 85.3731 - mean_squared_error: 85.3731 Epoch 331/500 404/404 [==============================] - 0s - loss: 85.3925 - mean_squared_error: 85.3925 Epoch 332/500 404/404 [==============================] - 0s - loss: 85.3808 - mean_squared_error: 85.3808 Epoch 333/500 404/404 [==============================] - 0s - loss: 85.3556 - mean_squared_error: 85.3556 Epoch 334/500 404/404 [==============================] - 0s - loss: 85.3589 - mean_squared_error: 85.3589 Epoch 335/500 404/404 [==============================] - 0s - loss: 85.3595 - mean_squared_error: 85.3595 Epoch 336/500 404/404 [==============================] - 0s - loss: 85.3882 - mean_squared_error: 85.3882 Epoch 337/500 404/404 [==============================] - 0s - loss: 85.3886 - mean_squared_error: 85.3886 Epoch 338/500 404/404 [==============================] - 0s - loss: 85.4484 - mean_squared_error: 85.4484 Epoch 339/500 404/404 [==============================] - 0s - loss: 85.3560 - mean_squared_error: 85.3560 Epoch 340/500 404/404 [==============================] - 0s - loss: 85.3643 - mean_squared_error: 85.3643 Epoch 341/500 404/404 [==============================] - 0s - loss: 85.3785 - mean_squared_error: 85.3785 ETA: 0s - loss: 88.0270 - mean_squared_error: 88.02 Epoch 342/500 404/404 [==============================] - 0s - loss: 85.3569 - mean_squared_error: 85.3569 Epoch 343/500 404/404 [==============================] - ETA: 0s - loss: 83.6441 - mean_squared_error: 83.64 - 0s - loss: 85.3464 - mean_squared_error: 85.3464 Epoch 344/500 404/404 [==============================] - 0s - loss: 85.3931 - mean_squared_error: 85.3931 Epoch 345/500 404/404 [==============================] - 0s - loss: 85.3682 - mean_squared_error: 85.3682 ETA: 0s - loss: 91.1675 - mean_squared_error: 91. Epoch 346/500 404/404 [==============================] - 0s - loss: 85.3874 - mean_squared_error: 85.3874 Epoch 347/500 404/404 [==============================] - 0s - loss: 85.3707 - mean_squared_error: 85.3707 Epoch 348/500 404/404 [==============================] - 0s - loss: 85.3469 - mean_squared_error: 85.3469 Epoch 349/500 404/404 [==============================] - 0s - loss: 85.3703 - mean_squared_error: 85.3703 Epoch 350/500 404/404 [==============================] - 0s - loss: 85.3759 - mean_squared_error: 85.3759 Epoch 351/500 404/404 [==============================] - 0s - loss: 85.3477 - mean_squared_error: 85.3477 Epoch 352/500 404/404 [==============================] - 0s - loss: 85.3573 - mean_squared_error: 85.3573 Epoch 353/500 404/404 [==============================] - 0s - loss: 85.3634 - mean_squared_error: 85.3634 Epoch 354/500 404/404 [==============================] - 0s - loss: 85.3749 - mean_squared_error: 85.3749 Epoch 355/500 404/404 [==============================] - 0s - loss: 85.3541 - mean_squared_error: 85.3541 Epoch 356/500 404/404 [==============================] - 0s - loss: 85.3829 - mean_squared_error: 85.3829 Epoch 357/500 404/404 [==============================] - 0s - loss: 85.3826 - mean_squared_error: 85.3826 Epoch 358/500 404/404 [==============================] - 0s - loss: 85.3706 - mean_squared_error: 85.3706 Epoch 359/500 404/404 [==============================] - 0s - loss: 85.4082 - mean_squared_error: 85.4082 Epoch 360/500 404/404 [==============================] - 0s - loss: 85.3601 - mean_squared_error: 85.3601 Epoch 361/500 404/404 [==============================] - 0s - loss: 85.3664 - mean_squared_error: 85.3664 Epoch 362/500 404/404 [==============================] - 0s - loss: 85.3948 - mean_squared_error: 85.3948 Epoch 363/500 404/404 [==============================] - 0s - loss: 85.3447 - mean_squared_error: 85.3447 Epoch 364/500 404/404 [==============================] - 0s - loss: 85.3720 - mean_squared_error: 85.3720 Epoch 365/500 404/404 [==============================] - 0s - loss: 85.3865 - mean_squared_error: 85.3865 Epoch 366/500 404/404 [==============================] - 0s - loss: 85.3720 - mean_squared_error: 85.3720 Epoch 367/500 404/404 [==============================] - 0s - loss: 85.3809 - mean_squared_error: 85.3809 Epoch 368/500 404/404 [==============================] - 0s - loss: 85.3750 - mean_squared_error: 85.3750 Epoch 369/500 404/404 [==============================] - 0s - loss: 85.3685 - mean_squared_error: 85.3685 Epoch 370/500 404/404 [==============================] - 0s - loss: 85.3609 - mean_squared_error: 85.3609 Epoch 371/500 404/404 [==============================] - 0s - loss: 85.3566 - mean_squared_error: 85.3566 Epoch 372/500 404/404 [==============================] - 0s - loss: 85.3803 - mean_squared_error: 85.3803 Epoch 373/500 404/404 [==============================] - ETA: 0s - loss: 82.2772 - mean_squared_error: 82.27 - 0s - loss: 85.3705 - mean_squared_error: 85.3705 Epoch 374/500 404/404 [==============================] - 0s - loss: 85.3699 - mean_squared_error: 85.3699 Epoch 375/500 404/404 [==============================] - 0s - loss: 85.3567 - mean_squared_error: 85.3567 Epoch 376/500 404/404 [==============================] - 0s - loss: 85.3589 - mean_squared_error: 85.3589 Epoch 377/500 404/404 [==============================] - 0s - loss: 85.3691 - mean_squared_error: 85.3691 Epoch 378/500 404/404 [==============================] - 0s - loss: 85.3635 - mean_squared_error: 85.3635 Epoch 379/500 404/404 [==============================] - 0s - loss: 85.3685 - mean_squared_error: 85.3685 Epoch 380/500 404/404 [==============================] - 0s - loss: 85.3828 - mean_squared_error: 85.3828 Epoch 381/500 404/404 [==============================] - 0s - loss: 85.3510 - mean_squared_error: 85.3510 ETA: 0s - loss: 95.6854 - mean_squared_error: 95. Epoch 382/500 404/404 [==============================] - 0s - loss: 85.3667 - mean_squared_error: 85.3667 Epoch 383/500 404/404 [==============================] - 0s - loss: 85.3750 - mean_squared_error: 85.3750 Epoch 384/500 404/404 [==============================] - 0s - loss: 85.3407 - mean_squared_error: 85.3407 Epoch 385/500 404/404 [==============================] - 0s - loss: 85.4155 - mean_squared_error: 85.4155 Epoch 386/500 404/404 [==============================] - 0s - loss: 85.3830 - mean_squared_error: 85.3830 Epoch 387/500 404/404 [==============================] - 0s - loss: 85.3828 - mean_squared_error: 85.3828 ETA: 0s - loss: 83.6494 - mean_squared_error: 83.64 Epoch 388/500 404/404 [==============================] - 0s - loss: 85.4277 - mean_squared_error: 85.4277 Epoch 389/500 404/404 [==============================] - 0s - loss: 85.4285 - mean_squared_error: 85.4285 Epoch 390/500 404/404 [==============================] - 0s - loss: 85.4059 - mean_squared_error: 85.4059 Epoch 391/500 404/404 [==============================] - 0s - loss: 85.4070 - mean_squared_error: 85.4070 Epoch 392/500 404/404 [==============================] - 0s - loss: 85.4370 - mean_squared_error: 85.4370 Epoch 393/500 404/404 [==============================] - 0s - loss: 85.4234 - mean_squared_error: 85.4234 Epoch 394/500 404/404 [==============================] - 0s - loss: 85.4500 - mean_squared_error: 85.4500 ETA: 0s - loss: 82.4224 - mean_squared_error: 82. Epoch 395/500 404/404 [==============================] - 0s - loss: 85.4272 - mean_squared_error: 85.4272 Epoch 396/500 404/404 [==============================] - 0s - loss: 85.3491 - mean_squared_error: 85.3491 Epoch 397/500 404/404 [==============================] - 0s - loss: 85.3821 - mean_squared_error: 85.3821 Epoch 398/500 404/404 [==============================] - 0s - loss: 85.3680 - mean_squared_error: 85.3680 Epoch 399/500 404/404 [==============================] - 0s - loss: 85.3480 - mean_squared_error: 85.3480 Epoch 400/500 404/404 [==============================] - 0s - loss: 85.3559 - mean_squared_error: 85.3559 Epoch 401/500 404/404 [==============================] - 0s - loss: 85.3971 - mean_squared_error: 85.3971 Epoch 402/500 404/404 [==============================] - 0s - loss: 85.4090 - mean_squared_error: 85.4090 Epoch 403/500 404/404 [==============================] - 0s - loss: 85.3607 - mean_squared_error: 85.3607 Epoch 404/500 404/404 [==============================] - 0s - loss: 85.3836 - mean_squared_error: 85.3836 Epoch 405/500 404/404 [==============================] - 0s - loss: 85.3706 - mean_squared_error: 85.3706 Epoch 406/500 404/404 [==============================] - 0s - loss: 85.3817 - mean_squared_error: 85.3817 Epoch 407/500 404/404 [==============================] - 0s - loss: 85.3642 - mean_squared_error: 85.3642 Epoch 408/500 404/404 [==============================] - 0s - loss: 85.3981 - mean_squared_error: 85.3981 Epoch 409/500 404/404 [==============================] - 0s - loss: 85.4230 - mean_squared_error: 85.4230 ETA: 0s - loss: 89.5861 - mean_squared_error: 89. Epoch 410/500 404/404 [==============================] - 0s - loss: 85.4892 - mean_squared_error: 85.4892 Epoch 411/500 404/404 [==============================] - 0s - loss: 85.4493 - mean_squared_error: 85.4493 Epoch 412/500 404/404 [==============================] - 0s - loss: 85.4344 - mean_squared_error: 85.4344 Epoch 413/500 404/404 [==============================] - 0s - loss: 85.3551 - mean_squared_error: 85.3551 Epoch 414/500 404/404 [==============================] - 0s - loss: 85.3680 - mean_squared_error: 85.3680 Epoch 415/500 404/404 [==============================] - 0s - loss: 85.3426 - mean_squared_error: 85.3426 Epoch 416/500 404/404 [==============================] - 0s - loss: 85.3789 - mean_squared_error: 85.3789 Epoch 417/500 404/404 [==============================] - 0s - loss: 85.3693 - mean_squared_error: 85.3693 Epoch 418/500 404/404 [==============================] - 0s - loss: 85.3410 - mean_squared_error: 85.3410 Epoch 419/500 404/404 [==============================] - 0s - loss: 85.3763 - mean_squared_error: 85.3763 - ETA: 0s - loss: 85.1203 - mean_squared_error: 85.12 Epoch 420/500 404/404 [==============================] - 0s - loss: 85.3558 - mean_squared_error: 85.3558 Epoch 421/500 404/404 [==============================] - 0s - loss: 85.3583 - mean_squared_error: 85.3583 Epoch 422/500 404/404 [==============================] - 0s - loss: 85.3818 - mean_squared_error: 85.3818 Epoch 423/500 404/404 [==============================] - 0s - loss: 85.3719 - mean_squared_error: 85.3719 Epoch 424/500 404/404 [==============================] - 0s - loss: 85.3745 - mean_squared_error: 85.3745 Epoch 425/500 404/404 [==============================] - 0s - loss: 85.3485 - mean_squared_error: 85.3485 Epoch 426/500 404/404 [==============================] - 0s - loss: 85.3616 - mean_squared_error: 85.3616 Epoch 427/500 404/404 [==============================] - 0s - loss: 85.3715 - mean_squared_error: 85.3715 Epoch 428/500 404/404 [==============================] - 0s - loss: 85.3742 - mean_squared_error: 85.3742 Epoch 429/500 404/404 [==============================] - 0s - loss: 85.3740 - mean_squared_error: 85.3740 Epoch 430/500 404/404 [==============================] - 0s - loss: 85.3845 - mean_squared_error: 85.3845 Epoch 431/500 404/404 [==============================] - 0s - loss: 85.3574 - mean_squared_error: 85.3574 Epoch 432/500 404/404 [==============================] - ETA: 0s - loss: 88.0484 - mean_squared_error: 88.04 - 0s - loss: 85.3402 - mean_squared_error: 85.3402 Epoch 433/500 404/404 [==============================] - ETA: 0s - loss: 86.0570 - mean_squared_error: 86.05 - 0s - loss: 85.3535 - mean_squared_error: 85.3535 Epoch 434/500 404/404 [==============================] - 0s - loss: 85.3474 - mean_squared_error: 85.3474 Epoch 435/500 404/404 [==============================] - 0s - loss: 85.3574 - mean_squared_error: 85.3574 Epoch 436/500 404/404 [==============================] - 0s - loss: 85.3739 - mean_squared_error: 85.3739 Epoch 437/500 404/404 [==============================] - 0s - loss: 85.3583 - mean_squared_error: 85.3583 Epoch 438/500 404/404 [==============================] - 0s - loss: 85.3864 - mean_squared_error: 85.3864 Epoch 439/500 404/404 [==============================] - 0s - loss: 85.3826 - mean_squared_error: 85.3826 Epoch 440/500 404/404 [==============================] - 0s - loss: 85.4019 - mean_squared_error: 85.4019 Epoch 441/500 404/404 [==============================] - 0s - loss: 85.3715 - mean_squared_error: 85.3715 Epoch 442/500 404/404 [==============================] - 0s - loss: 85.3528 - mean_squared_error: 85.3528 Epoch 443/500 404/404 [==============================] - 0s - loss: 85.3585 - mean_squared_error: 85.3585 Epoch 444/500 404/404 [==============================] - 0s - loss: 85.3926 - mean_squared_error: 85.3926 Epoch 445/500 404/404 [==============================] - 0s - loss: 85.3939 - mean_squared_error: 85.3939 Epoch 446/500 404/404 [==============================] - 0s - loss: 85.3624 - mean_squared_error: 85.3624 Epoch 447/500 404/404 [==============================] - 0s - loss: 85.3781 - mean_squared_error: 85.3781 Epoch 448/500 404/404 [==============================] - 0s - loss: 85.3777 - mean_squared_error: 85.3777 Epoch 449/500 404/404 [==============================] - 0s - loss: 85.3928 - mean_squared_error: 85.3928 Epoch 450/500 404/404 [==============================] - 0s - loss: 85.3630 - mean_squared_error: 85.3630 Epoch 451/500 404/404 [==============================] - 0s - loss: 85.3551 - mean_squared_error: 85.3551 Epoch 452/500 404/404 [==============================] - 0s - loss: 85.3487 - mean_squared_error: 85.3487 Epoch 453/500 404/404 [==============================] - 0s - loss: 85.3654 - mean_squared_error: 85.3654 Epoch 454/500 404/404 [==============================] - 0s - loss: 85.3570 - mean_squared_error: 85.3570 Epoch 455/500 404/404 [==============================] - 0s - loss: 85.3544 - mean_squared_error: 85.3544 Epoch 456/500 404/404 [==============================] - 0s - loss: 85.3733 - mean_squared_error: 85.3733 Epoch 457/500 404/404 [==============================] - 0s - loss: 85.3401 - mean_squared_error: 85.3401 Epoch 458/500 404/404 [==============================] - 0s - loss: 85.3649 - mean_squared_error: 85.3649 Epoch 459/500 404/404 [==============================] - 0s - loss: 85.3522 - mean_squared_error: 85.3522 Epoch 460/500 404/404 [==============================] - 0s - loss: 85.3600 - mean_squared_error: 85.3600 Epoch 461/500 404/404 [==============================] - 0s - loss: 85.3500 - mean_squared_error: 85.3500 Epoch 462/500 404/404 [==============================] - 0s - loss: 85.3571 - mean_squared_error: 85.3571 Epoch 463/500 404/404 [==============================] - 0s - loss: 85.3848 - mean_squared_error: 85.3848 Epoch 464/500 404/404 [==============================] - 0s - loss: 85.3543 - mean_squared_error: 85.3543 Epoch 465/500 404/404 [==============================] - 0s - loss: 85.4099 - mean_squared_error: 85.4099 Epoch 466/500 404/404 [==============================] - 0s - loss: 85.4094 - mean_squared_error: 85.4094 Epoch 467/500 404/404 [==============================] - 0s - loss: 85.3986 - mean_squared_error: 85.3986 Epoch 468/500 404/404 [==============================] - 0s - loss: 85.3590 - mean_squared_error: 85.3590 Epoch 469/500 404/404 [==============================] - 0s - loss: 85.4005 - mean_squared_error: 85.4005 Epoch 470/500 404/404 [==============================] - 0s - loss: 85.4403 - mean_squared_error: 85.4403 Epoch 471/500 404/404 [==============================] - 0s - loss: 85.4214 - mean_squared_error: 85.4214 Epoch 472/500 404/404 [==============================] - 0s - loss: 85.4386 - mean_squared_error: 85.4386 Epoch 473/500 404/404 [==============================] - 0s - loss: 85.3964 - mean_squared_error: 85.3964 Epoch 474/500 404/404 [==============================] - 0s - loss: 85.4166 - mean_squared_error: 85.4166 Epoch 475/500 404/404 [==============================] - 0s - loss: 85.4154 - mean_squared_error: 85.4154 Epoch 476/500 404/404 [==============================] - 0s - loss: 85.3479 - mean_squared_error: 85.3479 Epoch 477/500 404/404 [==============================] - 0s - loss: 85.3556 - mean_squared_error: 85.3556 Epoch 478/500 404/404 [==============================] - 0s - loss: 85.3409 - mean_squared_error: 85.3409 Epoch 479/500 404/404 [==============================] - 0s - loss: 85.3586 - mean_squared_error: 85.3586 Epoch 480/500 404/404 [==============================] - 0s - loss: 85.3609 - mean_squared_error: 85.3609 Epoch 481/500 404/404 [==============================] - 0s - loss: 85.3800 - mean_squared_error: 85.3800 Epoch 482/500 404/404 [==============================] - 0s - loss: 85.3494 - mean_squared_error: 85.3494 Epoch 483/500 404/404 [==============================] - 0s - loss: 85.3758 - mean_squared_error: 85.3758 Epoch 484/500 404/404 [==============================] - 0s - loss: 85.4035 - mean_squared_error: 85.4035 Epoch 485/500 404/404 [==============================] - 0s - loss: 85.3599 - mean_squared_error: 85.3599 Epoch 486/500 404/404 [==============================] - 0s - loss: 85.3864 - mean_squared_error: 85.3864 TA: 0s - loss: 100.6344 - mean_squared_error: 100. Epoch 487/500 404/404 [==============================] - 0s - loss: 85.3678 - mean_squared_error: 85.3678 Epoch 488/500 404/404 [==============================] - 0s - loss: 85.3673 - mean_squared_error: 85.3673 Epoch 489/500 404/404 [==============================] - 0s - loss: 85.3741 - mean_squared_error: 85.3741 Epoch 490/500 404/404 [==============================] - 0s - loss: 85.3652 - mean_squared_error: 85.3652 Epoch 491/500 404/404 [==============================] - 0s - loss: 85.3720 - mean_squared_error: 85.3720 ETA: 0s - loss: 86.0774 - mean_squared_error: 86. Epoch 492/500 404/404 [==============================] - 0s - loss: 85.3644 - mean_squared_error: 85.3644 Epoch 493/500 404/404 [==============================] - 0s - loss: 85.3493 - mean_squared_error: 85.3493 Epoch 494/500 404/404 [==============================] - 0s - loss: 85.3434 - mean_squared_error: 85.3434 Epoch 495/500 404/404 [==============================] - 0s - loss: 85.3579 - mean_squared_error: 85.3579 Epoch 496/500 404/404 [==============================] - 0s - loss: 85.3950 - mean_squared_error: 85.3950 Epoch 497/500 404/404 [==============================] - 0s - loss: 85.3814 - mean_squared_error: 85.3814 Epoch 498/500 404/404 [==============================] - 0s - loss: 85.3644 - mean_squared_error: 85.3644 Epoch 499/500 404/404 [==============================] - 0s - loss: 85.3552 - mean_squared_error: 85.3552 Epoch 500/500 404/404 [==============================] - 0s - loss: 85.3598 - mean_squared_error: 85.3598
<keras.callbacks.History at 0x1263b4b10>
scores = model.evaluate(X_test, y_test)
print("%s: %.2f" % (model.metrics_names[1], scores[1]))
32/102 [========>.....................] - ETA: 0smean_squared_error: 80.81
from keras.datasets import mnist
from keras.utils.np_utils import to_categorical
from keras.layers import Activation
from keras.layers.convolutional import Convolution2D, MaxPooling2D
from keras.layers import Dropout, Flatten, Dense
from keras import backend as K
from keras.optimizers import SGD
(X_train, y_train), (X_test, y_test) = mnist.load_data()
n_train, img_rows, img_cols = X_train.shape
n_test, _, _ = X_test.shape
n_train, n_test, img_rows, img_cols
Посмотрим на данные
Есть некоторые заморочки связанные с тем, в каком виде должны быть данные
X_train.shape
img_rows, img_cols = 28, 28
if K.image_dim_ordering() != 'tf':
shape_ord = (1, img_rows, img_cols)
else: # channel_last
shape_ord = (img_rows, img_cols, 1)
X_train = X_train.reshape((X_train.shape[0],) + shape_ord)
X_test = X_test.reshape((X_test.shape[0],) + shape_ord)
X_train = X_train.astype('float32')
X_test = X_test.astype('float32')
X_train /= 255
X_test /= 255
# numbers 0-9, so ten classes
n_classes = 10
y_train = to_categorical(y_train, n_classes)
y_test = to_categorical(y_test, n_classes)
X_train.shape
# Количество конволюционных фильтров
n_filters = 32
# Размер фильра
n_conv = 3
# Размер пуллинга
n_pool = 2
model = Sequential()
model.add(Convolution2D(
n_filters, n_conv, n_conv,
border_mode='valid',
input_shape=input_shape,
activation='relu'
))
# Конволюция
model.add(Convolution2D(n_filters, n_conv, n_conv, activation='relu'))
# Пуллинг
model.add(MaxPooling2D(pool_size=(n_pool, n_pool)))
model.add(Dropout(0.25))
# Выравниваем
model.add(Flatten())
# Делаем полносвязный слой
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.5))
# Softmax в конце
model.add(Dense(n_classes, activation='softmax'))
model.compile(
loss='categorical_crossentropy',
optimizer='adam',
metrics=['accuracy']
)
model.fit(X_train,
y_train,
batch_size=32,
nb_epoch=10,
validation_data=(X_test, y_test),
verbose=1)
for i, layer in enumerate(model.layers):
print ("Layer", i, "\t", layer.name, "\t\t", layer.input_shape, "\t", layer.output_shape)
for i, layer in enumerate(model.layers):
if len(layer.get_weights()) > 0:
W, b = layer.get_weights()
print("Layer", i, "\t", layer.name, "\t\t", W.shape, "\t", b.shape)
from keras.datasets import cifar10
from keras.utils import np_utils
(X_train, y_train), (X_test, y_test) = cifar10.load_data()
nb_classes = 10
Y_train = np_utils.to_categorical(y_train, nb_classes)
Y_test = np_utils.to_categorical(y_test, nb_classes)
X_train = X_train.astype("float32")
X_test = X_test.astype("float32")
X_train /= 255
X_test /= 255
По сути это уменьшенные изображения, которые нам повсюду встречаются. Сеть должна уметь выполнять классификацию не зависимо от того, повернут ли объект, уменьшен он или увеличен и тп.
То есть в обучающей выборке должны содержаться такие элементарные трансформации
from keras.preprocessing.image import ImageDataGenerator
generated_images = ImageDataGenerator(
featurewise_center=True, # set input mean to 0 over the dataset
samplewise_center=False, # set each sample mean to 0
featurewise_std_normalization=True, # divide inputs by std of the dataset
samplewise_std_normalization=False, # divide each input by its std
zca_whitening=False, # apply ZCA whitening
rotation_range=0, # randomly rotate images in the range (degrees, 0 to 180)
width_shift_range=0.2, # randomly shift images horizontally (fraction of total width)
height_shift_range=0.2, # randomly shift images vertically (fraction of total height)
horizontal_flip=True, # randomly flip images
vertical_flip=False) # randomly flip images
generated_images.fit(X_train)
Далее, продолжаем по https://github.com/fchollet/keras/blob/master/examples/cifar10_cnn.py