{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "### Load the dataset" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "ExecuteTime": { "end_time": "2018-08-24T05:08:27.043785Z", "start_time": "2018-08-24T05:08:26.675137Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Dataset has been loaded\n", "x-train (60000, 250)\n", "x-test (40000, 250)\n", "y-train (60000, 8)\n", "y-test (40000, 8)\n" ] }, { "data": { "text/plain": [ "array([-0.25, -0.1 , 0.35, -0.45, 0.95, -0.2 , 0.7 , 0.7 ])" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import h5py\n", "from sklearn.model_selection import train_test_split\n", "\n", "#now load this dataset \n", "h5f = h5py.File('scatter8.h5','r')\n", "Y = h5f['sizes'][:]\n", "X = h5f['spectrum'][:]\n", "\n", "#create a train validate test split of the dataset\n", "x_train, x_test, y_train, y_test = train_test_split(X, Y, test_size=0.4, random_state=42)\n", "\n", "print(\"Dataset has been loaded\")\n", "print(\"x-train\", x_train.shape)\n", "print(\"x-test \", x_test.shape)\n", "print(\"y-train\", y_train.shape)\n", "print(\"y-test \", y_test.shape)\n", "\n", "\n", "# parameters of the dataset, this information is provided to us\n", "num_shells = Y.shape[1]\n", "num_lpoints = X.shape[1]\n", "lam_min = 300\n", "lam_max = 1200\n", "size_min = 30\n", "size_max = 70\n", "size_av = 0.5*(size_max + size_min)\n", "lams = np.linspace(lam_min, lam_max, num_lpoints)\n", "\n", "\n", "\n", "#normalize the data right here\n", "x_train = (x_train - np.mean(x_train))/(np.amax(x_train) - np.mean(x_train))\n", "x_test = (x_test - np.mean(x_train))/(np.amax(x_train) - np.mean(x_train))\n", "\n", "y_train = 2*(y_train - size_av) /(size_max - size_min)\n", "y_test = 2*(y_test - size_av) /(size_max - size_min)\n", "\n", "x_train[11]\n", "y_train[11]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Develop the models" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "ExecuteTime": { "end_time": "2018-08-24T05:20:38.517158Z", "start_time": "2018-08-24T05:20:38.498237Z" } }, "outputs": [], "source": [ "from keras import backend as K\n", "from keras.models import Sequential, Model\n", "from keras.layers import Dense, Dropout\n", "from keras.utils import np_utils, multi_gpu_model\n", "from keras.regularizers import l2\n", "from keras.wrappers.scikit_learn import KerasRegressor\n", "from keras.optimizers import Adam\n", "\n", "from sklearn.model_selection import cross_val_score, KFold\n", "from sklearn.preprocessing import StandardScaler\n", "from sklearn.pipeline import Pipeline\n", "\n", "num_gpus = 2\n", "gpu_list = [\"gpu(%d)\" % i for i in range(num_gpus)]\n", "\n", "#naive percentage loss\n", "def naive_percent_loss(y_true, y_pred):\n", " y_true_a = 0.5*y_true*(size_max - size_min) + size_av\n", " y_pred_a = 0.5*y_pred*(size_max - size_min) + size_av\n", " y_err = np.abs(y_true_a - y_pred_a)/y_true_a\n", " y_err_f = K.flatten(y_err)\n", " return K.sum(y_err_f)\n", "\n", "#function to test performance on testset \n", "def calc_mre(y_true, y_pred):\n", " y_true_a = 0.5*y_true*(size_max - size_min) + size_av\n", " y_pred_a = 0.5*y_pred*(size_max - size_min) + size_av\n", " y_err = 100*np.abs(y_true_a - y_pred_a)/y_true_a\n", " y_err_f = K.flatten(y_err)\n", " return np.mean(y_err)\n", "\n", "def naiveploss_mgpu_model():\n", " # create model\n", " model = Sequential()\n", " model = multi_gpu_model(model, gpus=num_gpus)\n", " model.add(Dense(num_lpoints, input_dim=x_train.shape[1], kernel_initializer='normal', activation='relu', \n", " name='first' ))\n", " model.add(Dense(num_lpoints, input_dim=x_train.shape[1], kernel_initializer='normal', activation='relu', \n", " name='second' ))\n", " model.add(Dense(num_lpoints, input_dim=x_train.shape[1], kernel_initializer='normal', activation='relu', \n", " name='third' ))\n", " model.add(Dense(num_lpoints, input_dim=x_train.shape[1], kernel_initializer='normal', activation='relu', \n", " name='fourth' ))\n", " model.add(Dense(num_shells, kernel_initializer='normal', name='last'))\n", " # Compile model\n", " model.compile(loss=naive_percent_loss, optimizer='adam', context = gpu_list)\n", " return model\n", "\n", "def naiveploss_model():\n", " # create model\n", " model = Sequential()\n", " model.add(Dense(num_lpoints, input_dim=x_train.shape[1], kernel_initializer='normal', activation='relu', \n", " name='first' ))\n", " model.add(Dense(num_lpoints, input_dim=x_train.shape[1], kernel_initializer='normal', activation='relu', \n", " name='second' ))\n", " model.add(Dense(num_lpoints, input_dim=x_train.shape[1], kernel_initializer='normal', activation='relu', \n", " name='third' ))\n", " model.add(Dense(num_lpoints, input_dim=x_train.shape[1], kernel_initializer='normal', activation='relu', \n", " name='fourth' ))\n", " model.add(Dense(num_shells, kernel_initializer='normal', name='last'))\n", " # Compile model\n", " model.compile(loss=naive_percent_loss, optimizer='adam')\n", " #model.compile(loss='mean_squared_error', optimizer='adam')\n", " return model\n", "\n" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "ExecuteTime": { "end_time": "2018-08-24T05:37:49.144394Z", "start_time": "2018-08-24T05:20:42.302852Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "_________________________________________________________________\n", "Layer (type) Output Shape Param # \n", "=================================================================\n", "first (Dense) (None, 250) 62750 \n", "_________________________________________________________________\n", "second (Dense) (None, 250) 62750 \n", "_________________________________________________________________\n", "third (Dense) (None, 250) 62750 \n", "_________________________________________________________________\n", "fourth (Dense) (None, 250) 62750 \n", "_________________________________________________________________\n", "last (Dense) (None, 8) 2008 \n", "=================================================================\n", "Total params: 253,008\n", "Trainable params: 253,008\n", "Non-trainable params: 0\n", "_________________________________________________________________\n", "Train on 48000 samples, validate on 12000 samples\n", "Epoch 1/500\n", " 3904/48000 [=>............................] - ETA: 2s - loss: 98.8402 " ] }, { "name": "stderr", "output_type": "stream", "text": [ "/home/hegder/anaconda3/envs/deep/lib/python3.6/site-packages/mxnet/module/bucketing_module.py:408: UserWarning: Optimizer created manually outside Module but rescale_grad is not normalized to 1.0/batch_size/num_workers (1.0 vs. 0.015625). Is this intended?\n", " force_init=force_init)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "48000/48000 [==============================] - 2s 44us/step - loss: 75.8952 - val_loss: 65.2046\n", "Epoch 2/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 63.7434 - val_loss: 61.6133\n", "Epoch 3/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 57.9065 - val_loss: 57.0714\n", "Epoch 4/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 53.3616 - val_loss: 50.6625\n", "Epoch 5/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 51.6452 - val_loss: 50.2306\n", "Epoch 6/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 49.4095 - val_loss: 49.1430\n", "Epoch 7/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 48.4011 - val_loss: 46.9209\n", "Epoch 8/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 47.6297 - val_loss: 47.5393\n", "Epoch 9/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 46.3921 - val_loss: 49.4749\n", "Epoch 10/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 45.1963 - val_loss: 45.5520\n", "Epoch 11/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 44.2961 - val_loss: 41.9776\n", "Epoch 12/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 43.2644 - val_loss: 45.1496\n", "Epoch 13/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 42.4863 - val_loss: 41.5324\n", "Epoch 14/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 41.9423 - val_loss: 42.9684\n", "Epoch 15/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 41.1836 - val_loss: 41.7992\n", "Epoch 16/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 40.9014 - val_loss: 40.2493\n", "Epoch 17/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 40.3411 - val_loss: 40.2679\n", "Epoch 18/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 40.0005 - val_loss: 42.3604\n", "Epoch 19/500\n", "48000/48000 [==============================] - 2s 38us/step - loss: 39.4239 - val_loss: 39.1898\n", "Epoch 20/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 39.0532 - val_loss: 41.4952\n", "Epoch 21/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 39.0574 - val_loss: 42.3361\n", "Epoch 22/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 38.4647 - val_loss: 38.2760\n", "Epoch 23/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 37.9944 - val_loss: 39.1269\n", "Epoch 24/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 37.9476 - val_loss: 38.1907\n", "Epoch 25/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 37.8534 - val_loss: 39.0169\n", "Epoch 26/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 37.4946 - val_loss: 38.3009\n", "Epoch 27/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 36.9883 - val_loss: 40.0526\n", "Epoch 28/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 37.0279 - val_loss: 39.3678\n", "Epoch 29/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 36.7788 - val_loss: 40.3649\n", "Epoch 30/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 36.5087 - val_loss: 36.9096\n", "Epoch 31/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 36.4946 - val_loss: 36.9181\n", "Epoch 32/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 36.3288 - val_loss: 36.8182\n", "Epoch 33/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 36.0538 - val_loss: 37.6806\n", "Epoch 34/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 35.8639 - val_loss: 37.5099\n", "Epoch 35/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 35.8140 - val_loss: 38.7683\n", "Epoch 36/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 35.9836 - val_loss: 37.8264\n", "Epoch 37/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 35.2521 - val_loss: 36.5585\n", "Epoch 38/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 34.9499 - val_loss: 38.6933\n", "Epoch 39/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 35.1634 - val_loss: 38.5012\n", "Epoch 40/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 35.1348 - val_loss: 37.1138\n", "Epoch 41/500\n", "48000/48000 [==============================] - 2s 46us/step - loss: 34.3728 - val_loss: 42.4201\n", "Epoch 42/500\n", "48000/48000 [==============================] - 2s 39us/step - loss: 34.7539 - val_loss: 36.2976\n", "Epoch 43/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 34.3678 - val_loss: 37.6856\n", "Epoch 44/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 34.3615 - val_loss: 35.0540\n", "Epoch 45/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 34.2610 - val_loss: 36.9546\n", "Epoch 46/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 34.0861 - val_loss: 36.8562\n", "Epoch 47/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 33.7414 - val_loss: 37.4892\n", "Epoch 48/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 33.8635 - val_loss: 34.5563\n", "Epoch 49/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 33.6164 - val_loss: 36.6680\n", "Epoch 50/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 33.7191 - val_loss: 34.8188\n", "Epoch 51/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 33.6642 - val_loss: 36.6861\n", "Epoch 52/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 33.3943 - val_loss: 35.0088\n", "Epoch 53/500\n", "48000/48000 [==============================] - 2s 39us/step - loss: 33.3893 - val_loss: 35.6637\n", "Epoch 54/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 33.2411 - val_loss: 34.3242\n", "Epoch 55/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 33.0349 - val_loss: 34.4326\n", "Epoch 56/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 32.7659 - val_loss: 34.6383\n", "Epoch 57/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 32.8464 - val_loss: 36.5324\n", "Epoch 58/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 32.6399 - val_loss: 35.8259\n", "Epoch 59/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 32.5978 - val_loss: 35.4352\n", "Epoch 60/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 32.4943 - val_loss: 34.7464\n", "Epoch 61/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 32.5946 - val_loss: 34.3018\n", "Epoch 62/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 32.3277 - val_loss: 34.6624\n", "Epoch 63/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 32.3223 - val_loss: 37.0702\n", "Epoch 64/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 32.1418 - val_loss: 34.1428\n", "Epoch 65/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 31.7522 - val_loss: 33.5665\n", "Epoch 66/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 32.0189 - val_loss: 36.7540\n", "Epoch 67/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 31.8211 - val_loss: 33.7957\n", "Epoch 68/500\n", "48000/48000 [==============================] - 2s 46us/step - loss: 31.8304 - val_loss: 35.1148\n", "Epoch 69/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 31.6227 - val_loss: 34.7191\n", "Epoch 70/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 31.3748 - val_loss: 34.9814\n", "Epoch 71/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 31.4700 - val_loss: 35.4641\n", "Epoch 72/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 31.1998 - val_loss: 35.6122\n", "Epoch 73/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 31.5173 - val_loss: 35.2990\n", "Epoch 74/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 31.2149 - val_loss: 34.2963\n", "Epoch 75/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 31.4663 - val_loss: 35.3018\n", "Epoch 76/500\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "48000/48000 [==============================] - 2s 44us/step - loss: 31.1564 - val_loss: 35.2143\n", "Epoch 77/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 30.9474 - val_loss: 34.2457\n", "Epoch 78/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 31.0316 - val_loss: 34.2371\n", "Epoch 79/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 30.7783 - val_loss: 33.6840\n", "Epoch 80/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 30.9667 - val_loss: 34.0689\n", "Epoch 81/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 30.5627 - val_loss: 34.2137\n", "Epoch 82/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 30.5999 - val_loss: 32.5479\n", "Epoch 83/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 30.3664 - val_loss: 36.8031\n", "Epoch 84/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 30.6851 - val_loss: 33.9655\n", "Epoch 85/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 30.3843 - val_loss: 34.0567\n", "Epoch 86/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 30.0892 - val_loss: 34.8123\n", "Epoch 87/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 30.4380 - val_loss: 32.6657\n", "Epoch 88/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 29.9249 - val_loss: 34.2410\n", "Epoch 89/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 30.1225 - val_loss: 34.5163\n", "Epoch 90/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 30.1896 - val_loss: 33.3618\n", "Epoch 91/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 30.0412 - val_loss: 36.6283\n", "Epoch 92/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 29.9373 - val_loss: 35.3579\n", "Epoch 93/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 29.8794 - val_loss: 33.8735\n", "Epoch 94/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 29.8700 - val_loss: 37.6651\n", "Epoch 95/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 29.9120 - val_loss: 33.6936\n", "Epoch 96/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 29.7064 - val_loss: 34.2861\n", "Epoch 97/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 29.5610 - val_loss: 33.2622\n", "Epoch 98/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 29.5674 - val_loss: 33.5649\n", "Epoch 99/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 29.6375 - val_loss: 33.7749\n", "Epoch 100/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 29.5789 - val_loss: 33.4421\n", "Epoch 101/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 29.4634 - val_loss: 33.0874\n", "Epoch 102/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 29.3288 - val_loss: 33.1025\n", "Epoch 103/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 29.4122 - val_loss: 32.5127\n", "Epoch 104/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 29.0192 - val_loss: 34.0503\n", "Epoch 105/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 29.1219 - val_loss: 34.8526\n", "Epoch 106/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 28.9875 - val_loss: 33.4869\n", "Epoch 107/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 29.0893 - val_loss: 33.0572\n", "Epoch 108/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 29.0222 - val_loss: 33.3169\n", "Epoch 109/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 28.9039 - val_loss: 33.9796\n", "Epoch 110/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 28.9487 - val_loss: 35.1018\n", "Epoch 111/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 28.9378 - val_loss: 34.9175\n", "Epoch 112/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 28.4523 - val_loss: 34.8972\n", "Epoch 113/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 28.7888 - val_loss: 33.1894\n", "Epoch 114/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 28.8246 - val_loss: 33.6738\n", "Epoch 115/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 28.5532 - val_loss: 33.7200\n", "Epoch 116/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 28.6998 - val_loss: 32.6281\n", "Epoch 117/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 28.5420 - val_loss: 33.6154\n", "Epoch 118/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 28.5073 - val_loss: 33.2756\n", "Epoch 119/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 28.6254 - val_loss: 33.6775\n", "Epoch 120/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 28.3109 - val_loss: 33.7210\n", "Epoch 121/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 28.0554 - val_loss: 33.5454\n", "Epoch 122/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 28.3615 - val_loss: 33.2740\n", "Epoch 123/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 28.0421 - val_loss: 34.3708\n", "Epoch 124/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 28.1448 - val_loss: 33.2811\n", "Epoch 125/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 28.3110 - val_loss: 33.9211\n", "Epoch 126/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 27.9597 - val_loss: 33.6337\n", "Epoch 127/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 28.0225 - val_loss: 33.9079\n", "Epoch 128/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 27.7479 - val_loss: 34.0307\n", "Epoch 129/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 27.7801 - val_loss: 35.4405\n", "Epoch 130/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 27.7154 - val_loss: 34.4715\n", "Epoch 131/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 27.8503 - val_loss: 36.0881\n", "Epoch 132/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 27.8025 - val_loss: 34.4254\n", "Epoch 133/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 27.7698 - val_loss: 33.5192\n", "Epoch 134/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 27.6948 - val_loss: 33.5646\n", "Epoch 135/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 27.6723 - val_loss: 33.6596\n", "Epoch 136/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 27.5822 - val_loss: 32.6206\n", "Epoch 137/500\n", "48000/48000 [==============================] - 2s 39us/step - loss: 27.5817 - val_loss: 33.7672\n", "Epoch 138/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 27.6476 - val_loss: 34.0644\n", "Epoch 139/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 27.5795 - val_loss: 34.2968\n", "Epoch 140/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 27.4180 - val_loss: 34.3293\n", "Epoch 141/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 27.2275 - val_loss: 33.7223\n", "Epoch 142/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 27.3293 - val_loss: 33.6359\n", "Epoch 143/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 27.2195 - val_loss: 33.1973\n", "Epoch 144/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 26.9605 - val_loss: 32.6898\n", "Epoch 145/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 27.4584 - val_loss: 34.4358\n", "Epoch 146/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 27.2532 - val_loss: 35.1256\n", "Epoch 147/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 27.2224 - val_loss: 33.8118\n", "Epoch 148/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 27.1588 - val_loss: 35.1591\n", "Epoch 149/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 27.3583 - val_loss: 33.8352\n", "Epoch 150/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 27.0585 - val_loss: 32.0942\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 151/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 26.8144 - val_loss: 32.6129\n", "Epoch 152/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 26.9214 - val_loss: 33.6837\n", "Epoch 153/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 26.8884 - val_loss: 33.7972\n", "Epoch 154/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 27.0753 - val_loss: 32.8763\n", "Epoch 155/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 26.8999 - val_loss: 34.6852\n", "Epoch 156/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 26.7595 - val_loss: 35.1987\n", "Epoch 157/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 26.8332 - val_loss: 34.0375\n", "Epoch 158/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 26.7633 - val_loss: 32.5161\n", "Epoch 159/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 26.8590 - val_loss: 34.6899\n", "Epoch 160/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 26.9814 - val_loss: 33.4816\n", "Epoch 161/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 26.6998 - val_loss: 32.7915\n", "Epoch 162/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 26.3934 - val_loss: 33.7999\n", "Epoch 163/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 26.4929 - val_loss: 33.1789\n", "Epoch 164/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 26.6259 - val_loss: 32.5032\n", "Epoch 165/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 26.3306 - val_loss: 33.8558\n", "Epoch 166/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 26.8073 - val_loss: 33.7131\n", "Epoch 167/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 26.4060 - val_loss: 33.8848\n", "Epoch 168/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 26.4094 - val_loss: 32.9278\n", "Epoch 169/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 26.1835 - val_loss: 32.5612\n", "Epoch 170/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 26.2758 - val_loss: 33.4653\n", "Epoch 171/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 26.1006 - val_loss: 33.3245\n", "Epoch 172/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 26.4197 - val_loss: 32.6053\n", "Epoch 173/500\n", "48000/48000 [==============================] - 2s 36us/step - loss: 26.1118 - val_loss: 32.8940\n", "Epoch 174/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 26.3784 - val_loss: 33.1073\n", "Epoch 175/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 26.0208 - val_loss: 32.6881\n", "Epoch 176/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 26.2091 - val_loss: 32.5045\n", "Epoch 177/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 26.0711 - val_loss: 32.5885\n", "Epoch 178/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 26.3599 - val_loss: 33.2053\n", "Epoch 179/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 26.0319 - val_loss: 32.8614\n", "Epoch 180/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 26.2028 - val_loss: 33.8199\n", "Epoch 181/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 25.8437 - val_loss: 33.7623\n", "Epoch 182/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 26.0256 - val_loss: 33.1099\n", "Epoch 183/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 25.8761 - val_loss: 32.7988\n", "Epoch 184/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 25.8540 - val_loss: 33.6776\n", "Epoch 185/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 25.9179 - val_loss: 33.2614\n", "Epoch 186/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 25.9228 - val_loss: 33.1219\n", "Epoch 187/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 25.7708 - val_loss: 33.4098\n", "Epoch 188/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 25.7873 - val_loss: 33.4186\n", "Epoch 189/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 25.7686 - val_loss: 33.5512\n", "Epoch 190/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 25.8833 - val_loss: 33.6526\n", "Epoch 191/500\n", "48000/48000 [==============================] - 2s 39us/step - loss: 25.8761 - val_loss: 33.7843\n", "Epoch 192/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 25.6799 - val_loss: 32.8667\n", "Epoch 193/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 25.7095 - val_loss: 32.8775\n", "Epoch 194/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 25.6930 - val_loss: 33.3293\n", "Epoch 195/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 25.7332 - val_loss: 34.6373\n", "Epoch 196/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 25.3550 - val_loss: 32.8955\n", "Epoch 197/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 25.5500 - val_loss: 34.5637\n", "Epoch 198/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 25.5113 - val_loss: 33.4678\n", "Epoch 199/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 25.5660 - val_loss: 32.6379\n", "Epoch 200/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 25.5770 - val_loss: 33.4686\n", "Epoch 201/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 25.3181 - val_loss: 34.3526\n", "Epoch 202/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 25.5251 - val_loss: 32.8313\n", "Epoch 203/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 25.1626 - val_loss: 34.5890\n", "Epoch 204/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 25.5078 - val_loss: 32.4107\n", "Epoch 205/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 25.2451 - val_loss: 33.0051\n", "Epoch 206/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 25.2995 - val_loss: 32.6349\n", "Epoch 207/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 25.3275 - val_loss: 33.9820\n", "Epoch 208/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 25.3779 - val_loss: 32.1136\n", "Epoch 209/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 25.3141 - val_loss: 33.4062\n", "Epoch 210/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 25.0082 - val_loss: 32.8608\n", "Epoch 211/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 25.2461 - val_loss: 32.9135\n", "Epoch 212/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 25.1093 - val_loss: 33.1749\n", "Epoch 213/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 24.9536 - val_loss: 35.2163\n", "Epoch 214/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 25.2970 - val_loss: 33.2487\n", "Epoch 215/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 25.0757 - val_loss: 33.1987\n", "Epoch 216/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 24.8977 - val_loss: 32.8962\n", "Epoch 217/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 25.1639 - val_loss: 31.9774\n", "Epoch 218/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 24.8974 - val_loss: 33.6295\n", "Epoch 219/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 25.1454 - val_loss: 33.2115\n", "Epoch 220/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 24.9805 - val_loss: 33.7912\n", "Epoch 221/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 24.9078 - val_loss: 34.2209\n", "Epoch 222/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 24.7864 - val_loss: 33.5349\n", "Epoch 223/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 24.7092 - val_loss: 32.5413\n", "Epoch 224/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 24.8847 - val_loss: 32.2858\n", "Epoch 225/500\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "48000/48000 [==============================] - 2s 44us/step - loss: 24.7763 - val_loss: 33.5500\n", "Epoch 226/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 24.7552 - val_loss: 33.6286\n", "Epoch 227/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 24.8854 - val_loss: 32.4195\n", "Epoch 228/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 24.8242 - val_loss: 33.0474\n", "Epoch 229/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 24.8158 - val_loss: 32.1110\n", "Epoch 230/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 24.6397 - val_loss: 32.3943\n", "Epoch 231/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 24.6855 - val_loss: 32.4738\n", "Epoch 232/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 24.8916 - val_loss: 32.4745\n", "Epoch 233/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 24.6760 - val_loss: 32.7121\n", "Epoch 234/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 24.5938 - val_loss: 34.5281\n", "Epoch 235/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 24.7300 - val_loss: 33.0489\n", "Epoch 236/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 24.6990 - val_loss: 32.5054\n", "Epoch 237/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 24.8483 - val_loss: 33.4802\n", "Epoch 238/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 24.7482 - val_loss: 32.9470\n", "Epoch 239/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 24.6484 - val_loss: 34.0071\n", "Epoch 240/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 24.5016 - val_loss: 33.5243\n", "Epoch 241/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 24.3691 - val_loss: 33.6030\n", "Epoch 242/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 24.3827 - val_loss: 32.7090\n", "Epoch 243/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 24.6361 - val_loss: 32.3581\n", "Epoch 244/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 24.3693 - val_loss: 33.3125\n", "Epoch 245/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 24.5418 - val_loss: 33.6089\n", "Epoch 246/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 24.3862 - val_loss: 33.1496\n", "Epoch 247/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 24.3195 - val_loss: 33.4901\n", "Epoch 248/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 24.3238 - val_loss: 34.1955\n", "Epoch 249/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 24.3293 - val_loss: 33.5729\n", "Epoch 250/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 24.4107 - val_loss: 32.7940\n", "Epoch 251/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 24.1897 - val_loss: 34.4416\n", "Epoch 252/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 24.4245 - val_loss: 33.5639\n", "Epoch 253/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 24.2822 - val_loss: 32.1433\n", "Epoch 254/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 24.1838 - val_loss: 32.7095\n", "Epoch 255/500\n", "48000/48000 [==============================] - 2s 39us/step - loss: 24.1105 - val_loss: 33.6898\n", "Epoch 256/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 24.1697 - val_loss: 33.1465\n", "Epoch 257/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 24.2583 - val_loss: 33.8167\n", "Epoch 258/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 24.4799 - val_loss: 33.1870\n", "Epoch 259/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 24.2431 - val_loss: 32.5500\n", "Epoch 260/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 24.0127 - val_loss: 32.9968\n", "Epoch 261/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 24.3938 - val_loss: 32.9892\n", "Epoch 262/500\n", "48000/48000 [==============================] - 2s 38us/step - loss: 24.0506 - val_loss: 33.0064\n", "Epoch 263/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 24.1690 - val_loss: 32.1489\n", "Epoch 264/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 23.9825 - val_loss: 33.2647\n", "Epoch 265/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 23.9486 - val_loss: 33.3436\n", "Epoch 266/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 23.9744 - val_loss: 32.8819\n", "Epoch 267/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 23.9801 - val_loss: 32.2355\n", "Epoch 268/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 24.0694 - val_loss: 33.4998\n", "Epoch 269/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 23.8649 - val_loss: 33.0812\n", "Epoch 270/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 23.8068 - val_loss: 32.4879\n", "Epoch 271/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 24.1696 - val_loss: 32.5075\n", "Epoch 272/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 23.9346 - val_loss: 32.5598\n", "Epoch 273/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 23.7494 - val_loss: 32.0545\n", "Epoch 274/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 23.8844 - val_loss: 32.7831\n", "Epoch 275/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 23.9842 - val_loss: 32.7240\n", "Epoch 276/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 23.7583 - val_loss: 33.7816\n", "Epoch 277/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 23.9106 - val_loss: 34.4862\n", "Epoch 278/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 23.8876 - val_loss: 33.1586\n", "Epoch 279/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 24.1009 - val_loss: 33.7001\n", "Epoch 280/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 23.8114 - val_loss: 35.2374\n", "Epoch 281/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 23.9535 - val_loss: 33.0684\n", "Epoch 282/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 23.6462 - val_loss: 32.6641\n", "Epoch 283/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 23.6638 - val_loss: 32.8795\n", "Epoch 284/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 23.5886 - val_loss: 33.1446\n", "Epoch 285/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 23.7560 - val_loss: 32.7260\n", "Epoch 286/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 23.9360 - val_loss: 33.5997\n", "Epoch 287/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 23.6625 - val_loss: 33.2312\n", "Epoch 288/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 23.7123 - val_loss: 32.9654\n", "Epoch 289/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 23.7052 - val_loss: 33.0519\n", "Epoch 290/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 23.6418 - val_loss: 33.2061\n", "Epoch 291/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 23.6302 - val_loss: 33.3860\n", "Epoch 292/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 23.6250 - val_loss: 32.5515\n", "Epoch 293/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 23.5887 - val_loss: 32.4967\n", "Epoch 294/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 23.5071 - val_loss: 33.9267\n", "Epoch 295/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 23.7247 - val_loss: 33.3094\n", "Epoch 296/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 23.2920 - val_loss: 32.6484\n", "Epoch 297/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 23.3769 - val_loss: 32.8126\n", "Epoch 298/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 23.5749 - val_loss: 34.7803\n", "Epoch 299/500\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "48000/48000 [==============================] - 2s 41us/step - loss: 23.6717 - val_loss: 32.7561\n", "Epoch 300/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 23.4224 - val_loss: 33.2430\n", "Epoch 301/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 23.3851 - val_loss: 32.5215\n", "Epoch 302/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 23.3766 - val_loss: 33.4546\n", "Epoch 303/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 23.4190 - val_loss: 33.2054\n", "Epoch 304/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 23.4672 - val_loss: 34.3987\n", "Epoch 305/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 23.5041 - val_loss: 32.6472\n", "Epoch 306/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 23.3091 - val_loss: 32.5146\n", "Epoch 307/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 23.4155 - val_loss: 32.3050\n", "Epoch 308/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 23.3406 - val_loss: 34.3278\n", "Epoch 309/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 23.4325 - val_loss: 33.5833\n", "Epoch 310/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 23.5361 - val_loss: 33.0404\n", "Epoch 311/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 23.2125 - val_loss: 32.5562\n", "Epoch 312/500\n", "48000/48000 [==============================] - 2s 47us/step - loss: 23.2626 - val_loss: 32.8470\n", "Epoch 313/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 23.2725 - val_loss: 33.8715\n", "Epoch 314/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 23.4939 - val_loss: 33.9199\n", "Epoch 315/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 23.1900 - val_loss: 32.4030\n", "Epoch 316/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 23.2511 - val_loss: 32.9701\n", "Epoch 317/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 23.1361 - val_loss: 33.4021\n", "Epoch 318/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 23.1565 - val_loss: 32.2274\n", "Epoch 319/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 23.4490 - val_loss: 32.5029\n", "Epoch 320/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 23.2959 - val_loss: 33.9781\n", "Epoch 321/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 23.2698 - val_loss: 32.4905\n", "Epoch 322/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 23.0767 - val_loss: 33.2173\n", "Epoch 323/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 23.1103 - val_loss: 33.1535\n", "Epoch 324/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 23.2700 - val_loss: 33.4033\n", "Epoch 325/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 23.1820 - val_loss: 33.5781\n", "Epoch 326/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 23.4595 - val_loss: 32.8116\n", "Epoch 327/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 23.1789 - val_loss: 34.2755\n", "Epoch 328/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 23.0292 - val_loss: 33.0040\n", "Epoch 329/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 23.0783 - val_loss: 33.1687\n", "Epoch 330/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 23.0535 - val_loss: 32.5096\n", "Epoch 331/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 23.2020 - val_loss: 32.7536\n", "Epoch 332/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 23.0729 - val_loss: 32.6321\n", "Epoch 333/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 22.8780 - val_loss: 33.2870\n", "Epoch 334/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 22.9774 - val_loss: 32.6398\n", "Epoch 335/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 23.1871 - val_loss: 33.3271\n", "Epoch 336/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 23.0004 - val_loss: 33.1379\n", "Epoch 337/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 22.9549 - val_loss: 33.1468\n", "Epoch 338/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 22.8659 - val_loss: 32.6270\n", "Epoch 339/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 23.0226 - val_loss: 33.6812\n", "Epoch 340/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 22.8445 - val_loss: 32.7592\n", "Epoch 341/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 22.9525 - val_loss: 33.0132\n", "Epoch 342/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 22.9298 - val_loss: 33.6892\n", "Epoch 343/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 22.8406 - val_loss: 32.5865\n", "Epoch 344/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 23.0378 - val_loss: 33.6334\n", "Epoch 345/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 23.0034 - val_loss: 33.1008\n", "Epoch 346/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 22.7863 - val_loss: 32.3276\n", "Epoch 347/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 22.8953 - val_loss: 32.6582\n", "Epoch 348/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 22.8290 - val_loss: 33.7605\n", "Epoch 349/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 22.9587 - val_loss: 32.5934\n", "Epoch 350/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 22.9226 - val_loss: 33.5445\n", "Epoch 351/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 22.9245 - val_loss: 33.6103\n", "Epoch 352/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 22.9361 - val_loss: 33.8260\n", "Epoch 353/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 22.9086 - val_loss: 33.1912\n", "Epoch 354/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 22.8521 - val_loss: 33.9623\n", "Epoch 355/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 22.9029 - val_loss: 34.1153\n", "Epoch 356/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 22.7340 - val_loss: 32.6855\n", "Epoch 357/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 22.7870 - val_loss: 32.9740\n", "Epoch 358/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 22.6546 - val_loss: 32.4331\n", "Epoch 359/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 22.9018 - val_loss: 32.5765\n", "Epoch 360/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 22.7873 - val_loss: 32.8637\n", "Epoch 361/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 22.6972 - val_loss: 32.9922\n", "Epoch 362/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 22.6348 - val_loss: 33.7687\n", "Epoch 363/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 22.8468 - val_loss: 33.4297\n", "Epoch 364/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 22.9434 - val_loss: 32.4483\n", "Epoch 365/500\n", "48000/48000 [==============================] - 2s 46us/step - loss: 22.7797 - val_loss: 33.4731\n", "Epoch 366/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 22.8073 - val_loss: 32.0679\n", "Epoch 367/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 22.5617 - val_loss: 32.8756\n", "Epoch 368/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 22.6940 - val_loss: 33.7118\n", "Epoch 369/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 22.6709 - val_loss: 32.5361\n", "Epoch 370/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 22.5874 - val_loss: 33.0866\n", "Epoch 371/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 22.7449 - val_loss: 33.1295\n", "Epoch 372/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 22.7254 - val_loss: 32.7893\n", "Epoch 373/500\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "48000/48000 [==============================] - 2s 42us/step - loss: 22.6816 - val_loss: 32.6554\n", "Epoch 374/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 22.8329 - val_loss: 33.9426\n", "Epoch 375/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 22.5798 - val_loss: 32.8517\n", "Epoch 376/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 22.7706 - val_loss: 33.1280\n", "Epoch 377/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 22.4024 - val_loss: 33.0839\n", "Epoch 378/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 22.7087 - val_loss: 33.3125\n", "Epoch 379/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 22.4817 - val_loss: 33.5527\n", "Epoch 380/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 22.6828 - val_loss: 33.0956\n", "Epoch 381/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 22.7045 - val_loss: 32.5384\n", "Epoch 382/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 22.4256 - val_loss: 33.0520\n", "Epoch 383/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 22.3424 - val_loss: 34.1409\n", "Epoch 384/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 22.6329 - val_loss: 33.3030\n", "Epoch 385/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 22.3963 - val_loss: 33.0168\n", "Epoch 386/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 22.4417 - val_loss: 33.6300\n", "Epoch 387/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 22.5768 - val_loss: 33.1739\n", "Epoch 388/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 22.3909 - val_loss: 32.9373\n", "Epoch 389/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 22.4078 - val_loss: 32.5076\n", "Epoch 390/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 22.6162 - val_loss: 33.2560\n", "Epoch 391/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 22.3169 - val_loss: 32.5431\n", "Epoch 392/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 22.3359 - val_loss: 33.8125\n", "Epoch 393/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 22.4956 - val_loss: 33.1861\n", "Epoch 394/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 22.4150 - val_loss: 32.7836\n", "Epoch 395/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 22.3373 - val_loss: 33.1724\n", "Epoch 396/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 22.6114 - val_loss: 33.7417\n", "Epoch 397/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 22.4617 - val_loss: 33.0147\n", "Epoch 398/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 22.2856 - val_loss: 33.3960\n", "Epoch 399/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 22.4602 - val_loss: 32.3915\n", "Epoch 400/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 22.2999 - val_loss: 34.0642\n", "Epoch 401/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 22.4865 - val_loss: 32.7999\n", "Epoch 402/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 22.2354 - val_loss: 32.9948\n", "Epoch 403/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 22.2808 - val_loss: 32.7965\n", "Epoch 404/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 22.3540 - val_loss: 33.2197\n", "Epoch 405/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 22.3304 - val_loss: 32.5321\n", "Epoch 406/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 22.2335 - val_loss: 32.2410\n", "Epoch 407/500\n", "48000/48000 [==============================] - 2s 39us/step - loss: 22.5475 - val_loss: 32.9254\n", "Epoch 408/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 22.4097 - val_loss: 33.6893\n", "Epoch 409/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 22.1941 - val_loss: 33.2061\n", "Epoch 410/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 22.1939 - val_loss: 32.9499\n", "Epoch 411/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 22.4178 - val_loss: 33.2185\n", "Epoch 412/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 22.2460 - val_loss: 32.8896\n", "Epoch 413/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 22.1675 - val_loss: 33.2618\n", "Epoch 414/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 22.2832 - val_loss: 33.3296\n", "Epoch 415/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 22.2383 - val_loss: 33.2892\n", "Epoch 416/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 22.2241 - val_loss: 33.5470\n", "Epoch 417/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 22.2995 - val_loss: 33.0412\n", "Epoch 418/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 22.1113 - val_loss: 34.6128\n", "Epoch 419/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 22.1748 - val_loss: 32.8310\n", "Epoch 420/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 22.1671 - val_loss: 32.8874\n", "Epoch 421/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 22.0657 - val_loss: 32.0084\n", "Epoch 422/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 22.2944 - val_loss: 32.2065\n", "Epoch 423/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 22.0871 - val_loss: 32.9401\n", "Epoch 424/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 22.1159 - val_loss: 33.1874\n", "Epoch 425/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 22.1707 - val_loss: 32.0882\n", "Epoch 426/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 22.0715 - val_loss: 32.9248\n", "Epoch 427/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 22.1361 - val_loss: 31.9701\n", "Epoch 428/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 22.0182 - val_loss: 32.1862\n", "Epoch 429/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 21.9385 - val_loss: 32.9523\n", "Epoch 430/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 22.1667 - val_loss: 33.4265\n", "Epoch 431/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 22.0105 - val_loss: 34.3219\n", "Epoch 432/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 22.2707 - val_loss: 32.5013\n", "Epoch 433/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 22.1461 - val_loss: 32.3811\n", "Epoch 434/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 22.2251 - val_loss: 32.5345\n", "Epoch 435/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 22.1069 - val_loss: 33.2963\n", "Epoch 436/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 21.9619 - val_loss: 32.3531\n", "Epoch 437/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 22.0285 - val_loss: 32.8254\n", "Epoch 438/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 21.9663 - val_loss: 32.8544\n", "Epoch 439/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 22.0091 - val_loss: 32.1960\n", "Epoch 440/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 21.8535 - val_loss: 32.4479\n", "Epoch 441/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 22.2154 - val_loss: 33.0147\n", "Epoch 442/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 21.9837 - val_loss: 33.7350\n", "Epoch 443/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 21.9364 - val_loss: 32.9221\n", "Epoch 444/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 21.9245 - val_loss: 33.0858\n", "Epoch 445/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 22.1564 - val_loss: 32.7655\n", "Epoch 446/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 22.0731 - val_loss: 33.5294\n", "Epoch 447/500\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "48000/48000 [==============================] - 2s 44us/step - loss: 21.8280 - val_loss: 32.3705\n", "Epoch 448/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 21.8054 - val_loss: 33.4401\n", "Epoch 449/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 22.0803 - val_loss: 34.2190\n", "Epoch 450/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 21.8486 - val_loss: 34.3854\n", "Epoch 451/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 22.0129 - val_loss: 33.1505\n", "Epoch 452/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 21.9422 - val_loss: 32.5661\n", "Epoch 453/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 21.9982 - val_loss: 32.1778\n", "Epoch 454/500\n", "48000/48000 [==============================] - 2s 46us/step - loss: 21.9323 - val_loss: 32.9895\n", "Epoch 455/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 21.9386 - val_loss: 33.4997\n", "Epoch 456/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 21.9323 - val_loss: 33.0385\n", "Epoch 457/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 21.9027 - val_loss: 33.0517\n", "Epoch 458/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 22.0343 - val_loss: 32.7203\n", "Epoch 459/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 21.9109 - val_loss: 33.3107\n", "Epoch 460/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 21.9318 - val_loss: 33.2992\n", "Epoch 461/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 21.9860 - val_loss: 32.9556\n", "Epoch 462/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 22.0820 - val_loss: 32.4390\n", "Epoch 463/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 21.6765 - val_loss: 32.9541\n", "Epoch 464/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 21.7194 - val_loss: 32.6826\n", "Epoch 465/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 21.9036 - val_loss: 34.0389\n", "Epoch 466/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 22.0585 - val_loss: 33.7009\n", "Epoch 467/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 21.7887 - val_loss: 32.5043\n", "Epoch 468/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 21.7760 - val_loss: 32.9782\n", "Epoch 469/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 21.8604 - val_loss: 32.7525\n", "Epoch 470/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 21.7505 - val_loss: 32.4566\n", "Epoch 471/500\n", "48000/48000 [==============================] - 2s 40us/step - loss: 21.7478 - val_loss: 32.4634\n", "Epoch 472/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 21.8935 - val_loss: 33.2278\n", "Epoch 473/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 21.9313 - val_loss: 32.9491\n", "Epoch 474/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 21.6830 - val_loss: 32.9868\n", "Epoch 475/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 21.9793 - val_loss: 32.7814\n", "Epoch 476/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 21.7346 - val_loss: 33.0614\n", "Epoch 477/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 21.8733 - val_loss: 32.5431\n", "Epoch 478/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 21.5280 - val_loss: 32.3910\n", "Epoch 479/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 21.7129 - val_loss: 32.6854\n", "Epoch 480/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 21.8320 - val_loss: 32.9775\n", "Epoch 481/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 21.6805 - val_loss: 33.4428\n", "Epoch 482/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 21.8821 - val_loss: 33.5942\n", "Epoch 483/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 21.8402 - val_loss: 32.4824\n", "Epoch 484/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 21.6172 - val_loss: 32.5927\n", "Epoch 485/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 21.6708 - val_loss: 32.8892\n", "Epoch 486/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 21.7896 - val_loss: 32.6823\n", "Epoch 487/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 21.7069 - val_loss: 32.6412\n", "Epoch 488/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 21.7886 - val_loss: 33.1546\n", "Epoch 489/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 21.7264 - val_loss: 33.7119\n", "Epoch 490/500\n", "48000/48000 [==============================] - 2s 42us/step - loss: 21.7691 - val_loss: 32.6525\n", "Epoch 491/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 21.7307 - val_loss: 32.8710\n", "Epoch 492/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 21.8484 - val_loss: 33.1631\n", "Epoch 493/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 21.7031 - val_loss: 32.7097\n", "Epoch 494/500\n", "48000/48000 [==============================] - 2s 44us/step - loss: 21.5308 - val_loss: 32.5520\n", "Epoch 495/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 21.7933 - val_loss: 33.1463\n", "Epoch 496/500\n", "48000/48000 [==============================] - 2s 46us/step - loss: 21.7609 - val_loss: 32.3801\n", "Epoch 497/500\n", "48000/48000 [==============================] - 2s 43us/step - loss: 21.5437 - val_loss: 32.6883\n", "Epoch 498/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 21.7786 - val_loss: 33.8439\n", "Epoch 499/500\n", "48000/48000 [==============================] - 2s 41us/step - loss: 21.6193 - val_loss: 33.7962\n", "Epoch 500/500\n", "48000/48000 [==============================] - 2s 45us/step - loss: 21.6602 - val_loss: 32.7135\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#staging area for new models \n", "def plot_training_history(history):\n", " loss, val_loss = history.history['loss'], history.history['val_loss']\n", " loss = np.asarray(loss)/(32*2.5)\n", " val_loss = np.asarray(val_loss)/(32*2.5)\n", " epochs = len(loss)\n", " \n", " fig, axs = plt.subplots(1,1, figsize=(5,5))\n", " axs.semilogy(np.arange(1, epochs + 1), loss, label='train error')\n", " axs.semilogy(np.arange(1, epochs + 1), val_loss, label='validation error')\n", " axs.set_xlabel('Epoch number')\n", " axs.set_ylabel('Mean Relative Error (MRE) (%)')\n", " axs.legend(loc=\"best\")\n", "\n", " \n", "from IPython.display import SVG\n", "from keras.utils.vis_utils import model_to_dot\n", "\n", "model = naiveploss_model()\n", "\n", "#SVG(model_to_dot(model).create(prog='dot', format='svg'))\n", "model.summary() \n", " \n", "x_t, x_v, y_t, y_v = train_test_split(x_train, y_train, test_size=0.2, random_state=42)\n", "history = model.fit(x_t, y_t,\n", " batch_size=64,\n", " epochs=500, \n", " verbose=1,\n", " validation_data=(x_v, y_v))\n", "plot_training_history(history)" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "ExecuteTime": { "end_time": "2018-08-24T05:52:25.301020Z", "start_time": "2018-08-24T05:52:25.219459Z" } }, "outputs": [], "source": [ "compa = np.loadtxt('qestsave.txt')\n", "compa = (compa - np.mean(X))/(np.amax(X) - np.mean(X))\n", "\n", "shells = model.predict(np.expand_dims(compa, axis = 0))\n", "shells = 0.5*shells*(size_max - size_min) + size_av\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "ExecuteTime": { "end_time": "2018-08-24T05:50:49.480097Z", "start_time": "2018-08-24T05:50:49.468445Z" } }, "outputs": [ { "data": { "text/plain": [ "array([-0.0839727 , -0.08115825, -0.07789629, -0.07413596, -0.06966534,\n", " -0.06424338, -0.05846449, -0.05518717, -0.05508052, -0.05003458,\n", " -0.03712746, -0.02683466, -0.03899915, -0.06264444, -0.04291657,\n", " 0.07685165, 0.23203474, 0.17212413, -0.03108999, -0.14354838,\n", " -0.00879192, -0.22250668, -0.32736186, -0.39229207, -0.44524914,\n", " -0.47044995, -0.45767632, -0.41134213, -0.34440424, -0.26765756,\n", " -0.18125351, -0.05496553, 0.21776205, 0.32161838, -0.02924759,\n", " -0.16889565, -0.22157882, -0.24315792, -0.24700004, -0.23724051,\n", " -0.21629482, -0.18636271, -0.14950762, -0.10746276, -0.06112408,\n", " -0.0107143 , 0.04448801, 0.10628975, 0.17765122, 0.26280046,\n", " 0.3663146 , 0.48867677, 0.6145306 , 0.69810398, 0.68617148,\n", " 0.5886505 , 0.47075481, 0.37685458, 0.31514771, 0.27923319,\n", " 0.26125697, 0.25535975, 0.25765234, 0.26562028, 0.27761229,\n", " 0.29252979, 0.30960144, 0.32828819, 0.34820144, 0.36906986,\n", " 0.39071556, 0.41305573, 0.43608408, 0.45985864, 0.4844909 ,\n", " 0.51013018, 0.53693978, 0.56506915, 0.59461413, 0.62555769,\n", " 0.65771381, 0.69063225, 0.72350877, 0.75510502, 0.78369396,\n", " 0.8070951 , 0.82284438, 0.82852979, 0.82227056, 0.80318461,\n", " 0.77172764, 0.72969421, 0.67987746, 0.62551393, 0.5697321 ,\n", " 0.51510577, 0.4635143 , 0.41613163, 0.37354103, 0.3358898 ,\n", " 0.30304426, 0.27468778, 0.25042727, 0.22984568, 0.21253525,\n", " 0.19811754, 0.18625102, 0.17663269, 0.16899557, 0.16311088,\n", " 0.15878147, 0.15583786, 0.15413439, 0.15354765, 0.1539678 ,\n", " 0.15530057, 0.15746407, 0.16038642, 0.16400397, 0.16825968,\n", " 0.17310317, 0.17848539, 0.18436145, 0.19068841, 0.19742535,\n", " 0.20453151, 0.21196596, 0.21968785, 0.22765327, 0.23581627,\n", " 0.24412983, 0.25254336, 0.26100298, 0.26945105, 0.27782627,\n", " 0.28606348, 0.29409222, 0.30183834, 0.30922364, 0.31616657,\n", " 0.32258205, 0.32838233, 0.33347931, 0.33778264, 0.34120344,\n", " 0.34365348, 0.34504895, 0.34531156, 0.34437238, 0.34216645,\n", " 0.33864374, 0.33376295, 0.32750076, 0.31984135, 0.31078772,\n", " 0.30036046, 0.28859637, 0.27554097, 0.26126008, 0.2458341 ,\n", " 0.22934767, 0.21189587, 0.19358478, 0.17452947, 0.15483649,\n", " 0.1346197 , 0.11399887, 0.09308086, 0.07196696, 0.05076085,\n", " 0.02955505, 0.00843091, -0.0125319 , -0.03326194, -0.0537039 ,\n", " -0.07380277, -0.09351033, -0.1127967 , -0.13163087, -0.14998576,\n", " -0.16784949, -0.18520878, -0.20205343, -0.21838513, -0.23420211,\n", " -0.24950629, -0.26430868, -0.27861558, -0.2924375 , -0.30578873,\n", " -0.31867932, -0.33112501, -0.34314149, -0.35474005, -0.36593837,\n", " -0.37675187, -0.3871942 , -0.39728283, -0.40703052, -0.41645253,\n", " -0.42556397, -0.43437571, -0.44290378, -0.45115954, -0.45915458,\n", " -0.46690259, -0.47441269, -0.48169754, -0.48876672, -0.49562965,\n", " -0.50229688, -0.50877547, -0.51507554, -0.52120422, -0.52716889,\n", " -0.53297787, -0.53863657, -0.54415304, -0.54953232, -0.55478085,\n", " -0.5599041 , -0.56490682, -0.56979492, -0.5745717 , -0.57924275,\n", " -0.5838115 , -0.5882825 , -0.5926594 , -0.59694552, -0.60114481,\n", " -0.6052596 , -0.60929393, -0.61324969, -0.61713043, -0.62093818,\n", " -0.62467554, -0.6283449 , -0.63194838, -0.63548835, -0.63896636,\n", " -0.64238491, -0.64574505, -0.64904931, -0.65229852, -0.65549496,\n", " -0.65863953, -0.66173401, -0.66477947, -0.66777747, -0.67072907])" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.6" } }, "nbformat": 4, "nbformat_minor": 2 }