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