├── Conneau et al. - 2016 - Very Deep Convolutional Networks for Text Classification.pdf ├── README.md ├── VDCNN_tf.py └── toxic.ipynb /Conneau et al. - 2016 - Very Deep Convolutional Networks for Text Classification.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mukesh-mehta/VDCNN/HEAD/Conneau et al. - 2016 - Very Deep Convolutional Networks for Text Classification.pdf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Very Deep Convolutional Neural Network For Text Classification 2 | 3 | Based on paper https://arxiv.org/abs/1606.01781 proposed by Alexis Conneau, Holger Schwenk, Loïc Barrault, Yann Lecun (2016) 4 | 5 | # toxic.ipynb 6 | This notebook contains end to end implementation on recent Kaggle Competition https://www.kaggle.com/c/jigsaw-toxic-comment-classification-challenge. On private leaderboard it achieved 0.9653 score and on public it achieved 0.9608. 7 | -------------------------------------------------------------------------------- /VDCNN_tf.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import pandas as pd 3 | import tensorflow as tf 4 | from keras.models import Sequential 5 | from keras.layers import Conv1D, BatchNormalization, Activation 6 | from keras.layers import Embedding, Input, Dense, Dropout, Lambda, MaxPooling1D 7 | from keras.optimizers import SGD 8 | from keras.models import Model 9 | from keras.callbacks import EarlyStopping, ModelCheckpoint 10 | 11 | #len(ALPHABET)=68 12 | ALPHABET = 'abcdefghijklmnopqrstuvwxyz0123456789-,;.!?:’"/|_#$%ˆ&*˜‘+=<>()[]{} ' 13 | FEATURE_LEN = 1024 #maxlen 14 | path = '../data/' 15 | TRAIN_DATA_FILE=path+'train.csv' 16 | TEST_DATA_FILE=path+'test.csv' 17 | 18 | def get_char_dict(): 19 | char_dict={} 20 | for i,c in enumerate(ALPHABET): 21 | char_dict[c]=i+1 22 | return char_dict 23 | 24 | def char2vec(text, max_length=FEATURE_LEN): 25 | char_dict = get_char_dict() 26 | data=np.zeros(max_length) 27 | 28 | for i in range(0, len(text)): 29 | if i >= max_length: 30 | return data 31 | 32 | elif text[i] in char_dict: 33 | data[i] = char_dict[text[i]] 34 | 35 | else: 36 | data[i]=68 37 | return data 38 | 39 | 40 | def conv_shape(conv): 41 | return conv.get_shape().as_list()[1:] 42 | 43 | train_df = pd.read_csv(TRAIN_DATA_FILE) 44 | test_df = pd.read_csv(TEST_DATA_FILE) 45 | 46 | #dataset where x=train_df['text'] and y=train_df['class'] 47 | #binary class 48 | list_sentences_train = train_df["text"].fillna("NA").values 49 | y = train_df['class'].values 50 | list_sentences_test = test_df["text"].fillna("NA").values 51 | data=[] 52 | for text in list_sentences_train: 53 | data.append(char2vec(text.lower())) 54 | data=np.array(data) 55 | 56 | test_data = [] 57 | for text in list_sentences_test: 58 | test_data.append(char2vec(text.lower())) 59 | test_data=np.array(test_data) 60 | 61 | 62 | def ConvolutionalBlock(input_shape, num_filters): 63 | model=Sequential() 64 | 65 | #1st conv layer 66 | model.add(Conv1D(filters = num_filters, kernel_size = 3, strides = 1, padding = "same", input_shape = input_shape)) 67 | model.add(BatchNormalization()) 68 | model.add(Activation("relu")) 69 | 70 | #2nd conv layer 71 | model.add(Conv1D(filters = num_filters, kernel_size = 3, strides = 1, padding = "same")) 72 | model.add(BatchNormalization()) 73 | model.add(Activation("relu")) 74 | 75 | return model 76 | 77 | #https://www.tensorflow.org/api_docs/python/tf/nn/top_k 78 | def top_kmax(x): 79 | x=tf.transpose(x, [0, 2, 1]) 80 | k_max = tf.nn.top_k(x, k=top_k) 81 | return tf.reshape(k_max[0], (-1, num_filters[-1]*top_k)) 82 | 83 | def vdcnn_model(num_filters, num_classes, sequence_max_length, num_chars, embedding_size, top_k, learning_rate=0.001): 84 | 85 | inputs=Input(shape=(sequence_max_length, ), dtype='int32', name='input') 86 | 87 | embedded_seq = Embedding(num_chars, embedding_size, input_length=sequence_max_length)(inputs) 88 | embedded_seq = BatchNormalization()(embedded_seq) 89 | #1st Layer 90 | conv = Conv1D(filters=64, kernel_size=3, strides=2, padding="same")(embedded_seq) 91 | 92 | #ConvBlocks 93 | for i in range(len(num_filters)): 94 | conv = ConvolutionalBlock(conv_shape(conv), num_filters[i])(conv) 95 | conv = MaxPooling1D(pool_size=3, strides=2, padding="same")(conv) 96 | 97 | def _top_k(x): 98 | x = tf.transpose(x, [0, 2, 1]) 99 | k_max = tf.nn.top_k(x, k=top_k) 100 | return tf.reshape(k_max[0], (-1, num_filters[-1] * top_k)) 101 | 102 | k_max = Lambda(_top_k, output_shape=(num_filters[-1] * top_k,))(conv) 103 | 104 | #fully connected layers 105 | # in original paper they didn't used dropouts 106 | fc1=Dense(512, activation='relu', kernel_initializer='he_normal')(k_max) 107 | fc1=Dropout(0.3)(fc1) 108 | fc2=Dense(512, activation='relu', kernel_initializer='he_normal')(fc1) 109 | fc2=Dropout(0.3)(fc2) 110 | out=Dense(num_classes, activation='sigmoid')(fc2) 111 | 112 | #optimizer 113 | sgd = SGD(lr=learning_rate, decay=1e-6, momentum=0.9, nesterov=False) 114 | 115 | model = Model(inputs=inputs, outputs=out) 116 | model.compile(optimizer=sgd, loss='binary_crossentropy', metrics=['accuracy']) 117 | 118 | return model 119 | 120 | num_filters = [64, 128, 256, 512] 121 | model=vdcnn_model(num_filters=num_filters, num_classes=6,num_chars=69, sequence_max_length=FEATURE_LEN,embedding_size=16,top_k=3) 122 | model.summary() 123 | model.fit(data,y) 124 | 125 | model.predict(test_data) 126 | -------------------------------------------------------------------------------- /toxic.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": {}, 7 | "outputs": [ 8 | { 9 | "name": "stderr", 10 | "output_type": "stream", 11 | "text": [ 12 | "/home/mukesh/miniconda3/envs/statoil/lib/python3.6/site-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.\n", 13 | " from ._conv import register_converters as _register_converters\n", 14 | "Using TensorFlow backend.\n" 15 | ] 16 | } 17 | ], 18 | "source": [ 19 | "import re\n", 20 | "import numpy as np\n", 21 | "import pandas as pd\n", 22 | "\n", 23 | "from nltk.corpus import stopwords\n", 24 | "from nltk.stem import SnowballStemmer\n", 25 | "from string import punctuation\n", 26 | "\n", 27 | "import tensorflow as tf\n", 28 | "from keras.models import Sequential\n", 29 | "from keras.layers import Conv1D, BatchNormalization, Activation\n", 30 | "from keras.layers import Embedding, Input, Dense, Dropout, Lambda, MaxPooling1D\n", 31 | "from keras.optimizers import SGD\n", 32 | "from keras.models import Model\n", 33 | "from keras.callbacks import EarlyStopping, ModelCheckpoint" 34 | ] 35 | }, 36 | { 37 | "cell_type": "code", 38 | "execution_count": 2, 39 | "metadata": {}, 40 | "outputs": [], 41 | "source": [ 42 | "#len(ALPHABET)=68\n", 43 | "ALPHABET = 'abcdefghijklmnopqrstuvwxyz0123456789-,;.!?:’\"/|_#$%ˆ&*˜‘+=<>()[]{} '\n", 44 | "FEATURE_LEN = 1024 #maxlen\n", 45 | "path = '../data/'\n", 46 | "TRAIN_DATA_FILE=path+'train.csv'\n", 47 | "TEST_DATA_FILE=path+'test.csv'" 48 | ] 49 | }, 50 | { 51 | "cell_type": "code", 52 | "execution_count": 3, 53 | "metadata": {}, 54 | "outputs": [], 55 | "source": [ 56 | "def get_char_dict():\n", 57 | " char_dict={}\n", 58 | " for i,c in enumerate(ALPHABET):\n", 59 | " char_dict[c]=i+1\n", 60 | " return char_dict\n", 61 | "\n", 62 | "def char2vec(text, max_length=FEATURE_LEN):\n", 63 | " char_dict = get_char_dict()\n", 64 | " data=np.zeros(max_length)\n", 65 | " \n", 66 | " for i in range(0, len(text)):\n", 67 | " if i >= max_length:\n", 68 | " return data\n", 69 | " \n", 70 | " elif text[i] in char_dict:\n", 71 | " data[i] = char_dict[text[i]]\n", 72 | " \n", 73 | " else:\n", 74 | " data[i]=68\n", 75 | " return data\n", 76 | " \n", 77 | "\n", 78 | "def conv_shape(conv):\n", 79 | " return conv.get_shape().as_list()[1:]\n", 80 | "\n", 81 | "replace_ip=re.compile(r'([0-9]+)(?:\\.[0-9]+){3}',)\n", 82 | "def text_to_wordlist(text, remove_stopwords=True, stem_words=False):\n", 83 | " # Clean the text, with the option to remove stopwords and to stem words.\n", 84 | " \n", 85 | " # Convert words to lower case and split them\n", 86 | " text = text.lower().split()\n", 87 | " \n", 88 | " \n", 89 | " \n", 90 | " # Optionally, remove stop words\n", 91 | " if remove_stopwords:\n", 92 | " stops = set(stopwords.words(\"english\"))\n", 93 | " text = [w for w in text if not w in stops]\n", 94 | " \n", 95 | " text = \" \".join(text)\n", 96 | " \n", 97 | " \n", 98 | " #Replace IP address\n", 99 | " text=replace_ip.sub('',text)\n", 100 | " \n", 101 | " \n", 102 | " # Optionally, shorten words to their stems\n", 103 | " if stem_words:\n", 104 | " text = text.split()\n", 105 | " stemmer = SnowballStemmer('english')\n", 106 | " stemmed_words = [stemmer.stem(word) for word in text]\n", 107 | " text = \" \".join(stemmed_words)\n", 108 | " \n", 109 | " # Return a list of words\n", 110 | " return(text)\n" 111 | ] 112 | }, 113 | { 114 | "cell_type": "code", 115 | "execution_count": 4, 116 | "metadata": {}, 117 | "outputs": [], 118 | "source": [ 119 | "train_df = pd.read_csv(TRAIN_DATA_FILE)\n", 120 | "test_df = pd.read_csv(TEST_DATA_FILE)\n", 121 | "\n", 122 | "list_sentences_train = train_df[\"comment_text\"].fillna(\"NA\").values\n", 123 | "list_classes = [\"toxic\", \"severe_toxic\", \"obscene\", \"threat\", \"insult\", \"identity_hate\"]\n", 124 | "y = train_df[list_classes].values\n", 125 | "list_sentences_test = test_df[\"comment_text\"].fillna(\"NA\").values\n", 126 | "data=[]\n", 127 | "for text in list_sentences_train:\n", 128 | " data.append(char2vec(text_to_wordlist(text)))\n", 129 | "data=np.array(data)\n", 130 | "\n", 131 | "test_data = []\n", 132 | "for text in list_sentences_test:\n", 133 | " test_data.append(char2vec(text_to_wordlist(text)))\n", 134 | "test_data=np.array(test_data)" 135 | ] 136 | }, 137 | { 138 | "cell_type": "code", 139 | "execution_count": 5, 140 | "metadata": {}, 141 | "outputs": [ 142 | { 143 | "data": { 144 | "text/plain": [ 145 | "(153164, 1024)" 146 | ] 147 | }, 148 | "execution_count": 5, 149 | "metadata": {}, 150 | "output_type": "execute_result" 151 | } 152 | ], 153 | "source": [ 154 | "test_data.shape" 155 | ] 156 | }, 157 | { 158 | "cell_type": "code", 159 | "execution_count": 6, 160 | "metadata": {}, 161 | "outputs": [], 162 | "source": [ 163 | "def ConvolutionalBlock(input_shape, num_filters):\n", 164 | " model=Sequential()\n", 165 | "\n", 166 | " #1st conv layer\n", 167 | " model.add(Conv1D(filters = num_filters, kernel_size = 3, strides = 1, padding = \"same\", input_shape = input_shape))\n", 168 | " model.add(BatchNormalization())\n", 169 | " model.add(Activation(\"relu\"))\n", 170 | "\n", 171 | " #2nd conv layer\n", 172 | " model.add(Conv1D(filters = num_filters, kernel_size = 3, strides = 1, padding = \"same\"))\n", 173 | " model.add(BatchNormalization())\n", 174 | " model.add(Activation(\"relu\"))\n", 175 | "\n", 176 | " return model\n", 177 | "\n", 178 | "#https://www.tensorflow.org/api_docs/python/tf/nn/top_k\n", 179 | "def top_kmax(x):\n", 180 | " x=tf.transpose(x, [0, 2, 1])\n", 181 | " k_max = tf.nn.top_k(x, k=top_k)\n", 182 | " return tf.reshape(k_max[0], (-1, num_filters[-1]*top_k))" 183 | ] 184 | }, 185 | { 186 | "cell_type": "code", 187 | "execution_count": 7, 188 | "metadata": {}, 189 | "outputs": [], 190 | "source": [ 191 | "def vdcnn_model(num_filters, num_classes, sequence_max_length, num_chars, embedding_size, top_k, learning_rate=0.001):\n", 192 | " \n", 193 | " inputs=Input(shape=(sequence_max_length, ), dtype='int32', name='input')\n", 194 | " \n", 195 | " embedded_seq = Embedding(num_chars, embedding_size, input_length=sequence_max_length)(inputs)\n", 196 | " embedded_seq = BatchNormalization()(embedded_seq)\n", 197 | " #1st Layer\n", 198 | " conv = Conv1D(filters=64, kernel_size=3, strides=2, padding=\"same\")(embedded_seq)\n", 199 | " \n", 200 | " #ConvBlocks\n", 201 | " for i in range(len(num_filters)):\n", 202 | " conv = ConvolutionalBlock(conv_shape(conv), num_filters[i])(conv)\n", 203 | " conv = MaxPooling1D(pool_size=3, strides=2, padding=\"same\")(conv)\n", 204 | " \n", 205 | " def _top_k(x):\n", 206 | " x = tf.transpose(x, [0, 2, 1])\n", 207 | " k_max = tf.nn.top_k(x, k=top_k)\n", 208 | " return tf.reshape(k_max[0], (-1, num_filters[-1] * top_k))\n", 209 | " \n", 210 | " k_max = Lambda(_top_k, output_shape=(num_filters[-1] * top_k,))(conv)\n", 211 | " \n", 212 | " #fully connected layers\n", 213 | " # in original paper they didn't used dropouts\n", 214 | " fc1=Dense(512, activation='relu', kernel_initializer='he_normal')(k_max)\n", 215 | " fc1=Dropout(0.3)(fc1)\n", 216 | " fc2=Dense(512, activation='relu', kernel_initializer='he_normal')(fc1)\n", 217 | " fc2=Dropout(0.3)(fc2)\n", 218 | " out=Dense(num_classes, activation='sigmoid')(fc2)\n", 219 | " \n", 220 | " #optimizer\n", 221 | " #sgd = SGD(lr=learning_rate, decay=1e-6, momentum=0.9, nesterov=False)\n", 222 | " \n", 223 | " model = Model(inputs=inputs, outputs=out)\n", 224 | " model.compile(optimizer='rmsprop', loss='binary_crossentropy', metrics=['accuracy'])\n", 225 | " \n", 226 | " return model" 227 | ] 228 | }, 229 | { 230 | "cell_type": "code", 231 | "execution_count": 8, 232 | "metadata": {}, 233 | "outputs": [ 234 | { 235 | "name": "stdout", 236 | "output_type": "stream", 237 | "text": [ 238 | "_________________________________________________________________\n", 239 | "Layer (type) Output Shape Param # \n", 240 | "=================================================================\n", 241 | "input (InputLayer) (None, 1024) 0 \n", 242 | "_________________________________________________________________\n", 243 | "embedding_1 (Embedding) (None, 1024, 16) 1104 \n", 244 | "_________________________________________________________________\n", 245 | "batch_normalization_1 (Batch (None, 1024, 16) 64 \n", 246 | "_________________________________________________________________\n", 247 | "conv1d_1 (Conv1D) (None, 512, 64) 3136 \n", 248 | "_________________________________________________________________\n", 249 | "sequential_1 (Sequential) (None, 512, 64) 25216 \n", 250 | "_________________________________________________________________\n", 251 | "max_pooling1d_1 (MaxPooling1 (None, 256, 64) 0 \n", 252 | "_________________________________________________________________\n", 253 | "sequential_2 (Sequential) (None, 256, 128) 75008 \n", 254 | "_________________________________________________________________\n", 255 | "max_pooling1d_2 (MaxPooling1 (None, 128, 128) 0 \n", 256 | "_________________________________________________________________\n", 257 | "sequential_3 (Sequential) (None, 128, 256) 297472 \n", 258 | "_________________________________________________________________\n", 259 | "max_pooling1d_3 (MaxPooling1 (None, 64, 256) 0 \n", 260 | "_________________________________________________________________\n", 261 | "sequential_4 (Sequential) (None, 64, 512) 1184768 \n", 262 | "_________________________________________________________________\n", 263 | "max_pooling1d_4 (MaxPooling1 (None, 32, 512) 0 \n", 264 | "_________________________________________________________________\n", 265 | "lambda_1 (Lambda) (None, 1536) 0 \n", 266 | "_________________________________________________________________\n", 267 | "dense_1 (Dense) (None, 512) 786944 \n", 268 | "_________________________________________________________________\n", 269 | "dropout_1 (Dropout) (None, 512) 0 \n", 270 | "_________________________________________________________________\n", 271 | "dense_2 (Dense) (None, 512) 262656 \n", 272 | "_________________________________________________________________\n", 273 | "dropout_2 (Dropout) (None, 512) 0 \n", 274 | "_________________________________________________________________\n", 275 | "dense_3 (Dense) (None, 6) 3078 \n", 276 | "=================================================================\n", 277 | "Total params: 2,639,446\n", 278 | "Trainable params: 2,635,574\n", 279 | "Non-trainable params: 3,872\n", 280 | "_________________________________________________________________\n" 281 | ] 282 | } 283 | ], 284 | "source": [ 285 | "num_filters = [64, 128, 256, 512]\n", 286 | "model=vdcnn_model(num_filters=num_filters, num_classes=6,num_chars=69, sequence_max_length=FEATURE_LEN,embedding_size=16,top_k=3)\n", 287 | "model.summary()" 288 | ] 289 | }, 290 | { 291 | "cell_type": "code", 292 | "execution_count": 9, 293 | "metadata": {}, 294 | "outputs": [], 295 | "source": [ 296 | "def limit_mem():\n", 297 | " import keras.backend as K\n", 298 | " K.get_session().close()\n", 299 | " cfg = K.tf.ConfigProto()\n", 300 | " cfg.gpu_options.allow_growth = True\n", 301 | " K.set_session(K.tf.Session(config=cfg))\n", 302 | " print('gpu memory cleaned')\n", 303 | " \n", 304 | "def preds(k):\n", 305 | " from datetime import datetime\n", 306 | " y_temp = np.zeros((len(test_data), len(list_classes)))\n", 307 | " y_pred = np.zeros((len(test_data), len(list_classes)))\n", 308 | " i=0;\n", 309 | " from sklearn.model_selection import KFold\n", 310 | " kf = KFold(n_splits=k, random_state=2)\n", 311 | "\n", 312 | " for train_index, test_index in kf.split(data):\n", 313 | " limit_mem()\n", 314 | " start=datetime.now()\n", 315 | " print('fold====================>>>>>>>>>>',i+1)\n", 316 | " X_train, X_test = data[train_index], data[test_index]\n", 317 | " y_train, y_test = y[train_index], y[test_index]\n", 318 | "\n", 319 | " model = None\n", 320 | " num_filters = [64, 128, 256, 512]\n", 321 | " model=vdcnn_model(num_filters=num_filters, num_classes=6,num_chars=69, sequence_max_length=FEATURE_LEN,embedding_size=16,top_k=3)\n", 322 | "\n", 323 | " early_stopping =EarlyStopping(monitor='val_loss', patience=5)\n", 324 | " bst_model_path = 'cv10_best_weights'+str(i+1) + '.h5'\n", 325 | " model_checkpoint = ModelCheckpoint(bst_model_path, save_best_only=True, save_weights_only=True)\n", 326 | "\n", 327 | " hist = model.fit(X_train, y_train, \\\n", 328 | " validation_data=(X_test, y_test), \\\n", 329 | " epochs=200, batch_size=256,callbacks=[early_stopping, model_checkpoint])\n", 330 | "\n", 331 | " bst_val_score = min(hist.history['val_loss'])\n", 332 | " print('bst_val_score',bst_val_score)\n", 333 | "\n", 334 | " model.load_weights(bst_model_path)\n", 335 | " #model.fit(data, y,epochs=2, batch_size=256, shuffle=True,)\n", 336 | " \n", 337 | " y_temp = model.predict([test_data], batch_size=256, verbose=1)\n", 338 | " y_pred+=y_temp\n", 339 | " end=datetime.now()\n", 340 | " print(\" \")\n", 341 | " print('time taken for this fold', end-start)\n", 342 | " i+=1\n", 343 | " y_test_pred=y_pred/k\n", 344 | " return y_test_pred" 345 | ] 346 | }, 347 | { 348 | "cell_type": "code", 349 | "execution_count": 10, 350 | "metadata": { 351 | "scrolled": true 352 | }, 353 | "outputs": [ 354 | { 355 | "name": "stdout", 356 | "output_type": "stream", 357 | "text": [ 358 | "gpu memory cleaned\n", 359 | "fold====================>>>>>>>>>> 1\n", 360 | "Train on 143613 samples, validate on 15958 samples\n", 361 | "Epoch 1/200\n", 362 | "143613/143613 [==============================] - 265s 2ms/step - loss: 0.1147 - acc: 0.9710 - val_loss: 0.1356 - val_acc: 0.9603\n", 363 | "Epoch 2/200\n", 364 | "143613/143613 [==============================] - 237s 2ms/step - loss: 0.0678 - acc: 0.9784 - val_loss: 0.0707 - val_acc: 0.9788\n", 365 | "Epoch 3/200\n", 366 | "143613/143613 [==============================] - 214s 1ms/step - loss: 0.0618 - acc: 0.9796 - val_loss: 0.0643 - val_acc: 0.9798\n", 367 | "Epoch 4/200\n", 368 | "143613/143613 [==============================] - 214s 1ms/step - loss: 0.0578 - acc: 0.9803 - val_loss: 0.0590 - val_acc: 0.9798\n", 369 | "Epoch 5/200\n", 370 | "143613/143613 [==============================] - 213s 1ms/step - loss: 0.0552 - acc: 0.9809 - val_loss: 0.0596 - val_acc: 0.9806\n", 371 | "Epoch 6/200\n", 372 | "143613/143613 [==============================] - 213s 1ms/step - loss: 0.0535 - acc: 0.9813 - val_loss: 0.0660 - val_acc: 0.9797\n", 373 | "Epoch 7/200\n", 374 | "143613/143613 [==============================] - 213s 1ms/step - loss: 0.0520 - acc: 0.9817 - val_loss: 0.0582 - val_acc: 0.9808\n", 375 | "Epoch 8/200\n", 376 | "143613/143613 [==============================] - 212s 1ms/step - loss: 0.0505 - acc: 0.9820 - val_loss: 0.0601 - val_acc: 0.9807\n", 377 | "Epoch 9/200\n", 378 | "143613/143613 [==============================] - 212s 1ms/step - loss: 0.0496 - acc: 0.9822 - val_loss: 0.0632 - val_acc: 0.9806\n", 379 | "Epoch 10/200\n", 380 | "143613/143613 [==============================] - 212s 1ms/step - loss: 0.0487 - acc: 0.9823 - val_loss: 0.0606 - val_acc: 0.9808\n", 381 | "Epoch 11/200\n", 382 | "143613/143613 [==============================] - 212s 1ms/step - loss: 0.0476 - acc: 0.9826 - val_loss: 0.0605 - val_acc: 0.9797\n", 383 | "Epoch 12/200\n", 384 | "143613/143613 [==============================] - 212s 1ms/step - loss: 0.0468 - acc: 0.9829 - val_loss: 0.0608 - val_acc: 0.9802\n", 385 | "bst_val_score 0.058247977309559267\n", 386 | "153164/153164 [==============================] - 76s 498us/step\n", 387 | " \n", 388 | "time taken for this fold 0:45:14.805579\n", 389 | "gpu memory cleaned\n", 390 | "fold====================>>>>>>>>>> 2\n", 391 | "Train on 143614 samples, validate on 15957 samples\n", 392 | "Epoch 1/200\n", 393 | "143614/143614 [==============================] - 222s 2ms/step - loss: 0.1200 - acc: 0.9698 - val_loss: 0.1105 - val_acc: 0.9684\n", 394 | "Epoch 2/200\n", 395 | "143614/143614 [==============================] - 213s 1ms/step - loss: 0.0715 - acc: 0.9783 - val_loss: 0.1574 - val_acc: 0.9615\n", 396 | "Epoch 3/200\n", 397 | "143614/143614 [==============================] - 213s 1ms/step - loss: 0.0649 - acc: 0.9792 - val_loss: 0.0645 - val_acc: 0.9785\n", 398 | "Epoch 4/200\n", 399 | "143614/143614 [==============================] - 213s 1ms/step - loss: 0.0582 - acc: 0.9803 - val_loss: 0.0638 - val_acc: 0.9787\n", 400 | "Epoch 5/200\n", 401 | "143614/143614 [==============================] - 213s 1ms/step - loss: 0.0556 - acc: 0.9809 - val_loss: 0.0653 - val_acc: 0.9798\n", 402 | "Epoch 6/200\n", 403 | "143614/143614 [==============================] - 213s 1ms/step - loss: 0.0533 - acc: 0.9814 - val_loss: 0.0599 - val_acc: 0.9797\n", 404 | "Epoch 7/200\n", 405 | "143614/143614 [==============================] - 212s 1ms/step - loss: 0.0517 - acc: 0.9817 - val_loss: 0.0597 - val_acc: 0.9791\n", 406 | "Epoch 8/200\n", 407 | "143614/143614 [==============================] - 212s 1ms/step - loss: 0.0506 - acc: 0.9820 - val_loss: 0.0569 - val_acc: 0.9801\n", 408 | "Epoch 9/200\n", 409 | "143614/143614 [==============================] - 212s 1ms/step - loss: 0.0491 - acc: 0.9822 - val_loss: 0.0727 - val_acc: 0.9797\n", 410 | "Epoch 10/200\n", 411 | "143614/143614 [==============================] - 212s 1ms/step - loss: 0.0481 - acc: 0.9826 - val_loss: 0.0597 - val_acc: 0.9797\n", 412 | "Epoch 11/200\n", 413 | "143614/143614 [==============================] - 212s 1ms/step - loss: 0.0469 - acc: 0.9828 - val_loss: 0.0609 - val_acc: 0.9801\n", 414 | "Epoch 12/200\n", 415 | "143614/143614 [==============================] - 212s 1ms/step - loss: 0.0462 - acc: 0.9830 - val_loss: 0.0597 - val_acc: 0.9803\n", 416 | "Epoch 13/200\n", 417 | "143614/143614 [==============================] - 212s 1ms/step - loss: 0.0455 - acc: 0.9831 - val_loss: 0.0603 - val_acc: 0.9797\n", 418 | "bst_val_score 0.056901069800744435\n", 419 | "153164/153164 [==============================] - 76s 496us/step\n", 420 | " \n", 421 | "time taken for this fold 0:47:35.189056\n", 422 | "gpu memory cleaned\n", 423 | "fold====================>>>>>>>>>> 3\n", 424 | "Train on 143614 samples, validate on 15957 samples\n", 425 | "Epoch 1/200\n", 426 | "143614/143614 [==============================] - 225s 2ms/step - loss: 0.1151 - acc: 0.9706 - val_loss: 0.0787 - val_acc: 0.9748\n", 427 | "Epoch 2/200\n", 428 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0686 - acc: 0.9783 - val_loss: 0.0613 - val_acc: 0.9799\n", 429 | "Epoch 3/200\n", 430 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0620 - acc: 0.9795 - val_loss: 0.0586 - val_acc: 0.9799\n", 431 | "Epoch 4/200\n", 432 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0577 - acc: 0.9806 - val_loss: 0.0583 - val_acc: 0.9802\n", 433 | "Epoch 5/200\n", 434 | "143614/143614 [==============================] - 213s 1ms/step - loss: 0.0554 - acc: 0.9808 - val_loss: 0.0577 - val_acc: 0.9796\n", 435 | "Epoch 6/200\n", 436 | "143614/143614 [==============================] - 213s 1ms/step - loss: 0.0532 - acc: 0.9813 - val_loss: 0.0560 - val_acc: 0.9811\n", 437 | "Epoch 7/200\n", 438 | "143614/143614 [==============================] - 213s 1ms/step - loss: 0.0515 - acc: 0.9816 - val_loss: 0.0571 - val_acc: 0.9798\n", 439 | "Epoch 8/200\n", 440 | "143614/143614 [==============================] - 213s 1ms/step - loss: 0.0503 - acc: 0.9820 - val_loss: 0.0596 - val_acc: 0.9801\n", 441 | "Epoch 9/200\n", 442 | "143614/143614 [==============================] - 213s 1ms/step - loss: 0.0492 - acc: 0.9822 - val_loss: 0.0595 - val_acc: 0.9796\n", 443 | "Epoch 10/200\n", 444 | "143614/143614 [==============================] - 213s 1ms/step - loss: 0.0481 - acc: 0.9824 - val_loss: 0.0542 - val_acc: 0.9811\n", 445 | "Epoch 11/200\n", 446 | "143614/143614 [==============================] - 213s 1ms/step - loss: 0.0470 - acc: 0.9827 - val_loss: 0.0912 - val_acc: 0.9766\n", 447 | "Epoch 12/200\n", 448 | "143614/143614 [==============================] - 213s 1ms/step - loss: 0.0460 - acc: 0.9830 - val_loss: 0.0537 - val_acc: 0.9809\n", 449 | "Epoch 13/200\n", 450 | "143614/143614 [==============================] - 213s 1ms/step - loss: 0.0456 - acc: 0.9832 - val_loss: 0.0775 - val_acc: 0.9788\n", 451 | "Epoch 14/200\n", 452 | "143614/143614 [==============================] - 212s 1ms/step - loss: 0.0446 - acc: 0.9832 - val_loss: 0.0563 - val_acc: 0.9808\n", 453 | "Epoch 15/200\n", 454 | "143614/143614 [==============================] - 212s 1ms/step - loss: 0.0443 - acc: 0.9834 - val_loss: 0.0620 - val_acc: 0.9797\n", 455 | "Epoch 16/200\n", 456 | "143614/143614 [==============================] - 212s 1ms/step - loss: 0.0441 - acc: 0.9834 - val_loss: 0.0593 - val_acc: 0.9804\n", 457 | "Epoch 17/200\n", 458 | "143614/143614 [==============================] - 212s 1ms/step - loss: 0.0431 - acc: 0.9837 - val_loss: 0.0695 - val_acc: 0.9811\n", 459 | "bst_val_score 0.053729575833573844\n", 460 | "153164/153164 [==============================] - 76s 498us/step\n", 461 | " \n", 462 | "time taken for this fold 1:01:56.463782\n", 463 | "gpu memory cleaned\n", 464 | "fold====================>>>>>>>>>> 4\n", 465 | "Train on 143614 samples, validate on 15957 samples\n", 466 | "Epoch 1/200\n", 467 | "143614/143614 [==============================] - 228s 2ms/step - loss: 0.1151 - acc: 0.9705 - val_loss: 0.0794 - val_acc: 0.9763\n", 468 | "Epoch 2/200\n", 469 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0682 - acc: 0.9783 - val_loss: 0.0663 - val_acc: 0.9795\n", 470 | "Epoch 3/200\n", 471 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0616 - acc: 0.9796 - val_loss: 0.0821 - val_acc: 0.9767\n", 472 | "Epoch 4/200\n", 473 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0578 - acc: 0.9803 - val_loss: 0.0570 - val_acc: 0.9807\n", 474 | "Epoch 5/200\n", 475 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0553 - acc: 0.9809 - val_loss: 0.0585 - val_acc: 0.9809\n", 476 | "Epoch 6/200\n", 477 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0530 - acc: 0.9813 - val_loss: 0.0752 - val_acc: 0.9781\n", 478 | "Epoch 7/200\n", 479 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0515 - acc: 0.9815 - val_loss: 0.0573 - val_acc: 0.9814\n", 480 | "Epoch 8/200\n", 481 | "143614/143614 [==============================] - 213s 1ms/step - loss: 0.0505 - acc: 0.9820 - val_loss: 0.0567 - val_acc: 0.9811\n", 482 | "Epoch 9/200\n", 483 | "143614/143614 [==============================] - 213s 1ms/step - loss: 0.0493 - acc: 0.9821 - val_loss: 0.0564 - val_acc: 0.9806\n", 484 | "Epoch 10/200\n", 485 | "143614/143614 [==============================] - 213s 1ms/step - loss: 0.0483 - acc: 0.9824 - val_loss: 0.0881 - val_acc: 0.9745\n" 486 | ] 487 | }, 488 | { 489 | "name": "stdout", 490 | "output_type": "stream", 491 | "text": [ 492 | "Epoch 11/200\n", 493 | "143614/143614 [==============================] - 213s 1ms/step - loss: 0.0473 - acc: 0.9826 - val_loss: 0.0856 - val_acc: 0.9795\n", 494 | "Epoch 12/200\n", 495 | "143614/143614 [==============================] - 213s 1ms/step - loss: 0.0465 - acc: 0.9828 - val_loss: 0.0681 - val_acc: 0.9805\n", 496 | "Epoch 13/200\n", 497 | "143614/143614 [==============================] - 213s 1ms/step - loss: 0.0457 - acc: 0.9829 - val_loss: 0.1153 - val_acc: 0.9796\n", 498 | "Epoch 14/200\n", 499 | "143614/143614 [==============================] - 213s 1ms/step - loss: 0.0451 - acc: 0.9831 - val_loss: 0.0615 - val_acc: 0.9802\n", 500 | "bst_val_score 0.056414422745740364\n", 501 | "153164/153164 [==============================] - 82s 533us/step\n", 502 | " \n", 503 | "time taken for this fold 0:51:33.760633\n", 504 | "gpu memory cleaned\n", 505 | "fold====================>>>>>>>>>> 5\n", 506 | "Train on 143614 samples, validate on 15957 samples\n", 507 | "Epoch 1/200\n", 508 | "143614/143614 [==============================] - 231s 2ms/step - loss: 0.1124 - acc: 0.9708 - val_loss: 0.1134 - val_acc: 0.9756\n", 509 | "Epoch 2/200\n", 510 | "143614/143614 [==============================] - 215s 1ms/step - loss: 0.0684 - acc: 0.9783 - val_loss: 0.0669 - val_acc: 0.9791\n", 511 | "Epoch 3/200\n", 512 | "143614/143614 [==============================] - 215s 1ms/step - loss: 0.0624 - acc: 0.9793 - val_loss: 0.0838 - val_acc: 0.9772\n", 513 | "Epoch 4/200\n", 514 | "143614/143614 [==============================] - 215s 1ms/step - loss: 0.0584 - acc: 0.9803 - val_loss: 0.0599 - val_acc: 0.9796\n", 515 | "Epoch 5/200\n", 516 | "143614/143614 [==============================] - 215s 1ms/step - loss: 0.0557 - acc: 0.9808 - val_loss: 0.0579 - val_acc: 0.9811\n", 517 | "Epoch 6/200\n", 518 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0536 - acc: 0.9813 - val_loss: 0.0713 - val_acc: 0.9780\n", 519 | "Epoch 7/200\n", 520 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0522 - acc: 0.9815 - val_loss: 0.0568 - val_acc: 0.9805\n", 521 | "Epoch 8/200\n", 522 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0508 - acc: 0.9819 - val_loss: 0.0607 - val_acc: 0.9810\n", 523 | "Epoch 9/200\n", 524 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0496 - acc: 0.9820 - val_loss: 0.0686 - val_acc: 0.9792\n", 525 | "Epoch 10/200\n", 526 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0484 - acc: 0.9823 - val_loss: 0.0657 - val_acc: 0.9811\n", 527 | "Epoch 11/200\n", 528 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0474 - acc: 0.9827 - val_loss: 0.0600 - val_acc: 0.9809\n", 529 | "Epoch 12/200\n", 530 | "143614/143614 [==============================] - 213s 1ms/step - loss: 0.0468 - acc: 0.9827 - val_loss: 0.0603 - val_acc: 0.9800\n", 531 | "bst_val_score 0.056759927017225424\n", 532 | "153164/153164 [==============================] - 83s 540us/step\n", 533 | " \n", 534 | "time taken for this fold 0:44:39.765910\n", 535 | "gpu memory cleaned\n", 536 | "fold====================>>>>>>>>>> 6\n", 537 | "Train on 143614 samples, validate on 15957 samples\n", 538 | "Epoch 1/200\n", 539 | "143614/143614 [==============================] - 234s 2ms/step - loss: 0.1200 - acc: 0.9696 - val_loss: 0.0720 - val_acc: 0.9777\n", 540 | "Epoch 2/200\n", 541 | "143614/143614 [==============================] - 215s 1ms/step - loss: 0.0695 - acc: 0.9782 - val_loss: 0.0737 - val_acc: 0.9784\n", 542 | "Epoch 3/200\n", 543 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0631 - acc: 0.9793 - val_loss: 0.0748 - val_acc: 0.9785\n", 544 | "Epoch 4/200\n", 545 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0587 - acc: 0.9802 - val_loss: 0.0586 - val_acc: 0.9810\n", 546 | "Epoch 5/200\n", 547 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0560 - acc: 0.9808 - val_loss: 0.0582 - val_acc: 0.9806\n", 548 | "Epoch 6/200\n", 549 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0537 - acc: 0.9812 - val_loss: 0.0555 - val_acc: 0.9811\n", 550 | "Epoch 7/200\n", 551 | "143614/143614 [==============================] - 213s 1ms/step - loss: 0.0523 - acc: 0.9816 - val_loss: 0.0614 - val_acc: 0.9810\n", 552 | "Epoch 8/200\n", 553 | "143614/143614 [==============================] - 213s 1ms/step - loss: 0.0506 - acc: 0.9821 - val_loss: 0.0656 - val_acc: 0.9795\n", 554 | "Epoch 9/200\n", 555 | "143614/143614 [==============================] - 213s 1ms/step - loss: 0.0494 - acc: 0.9821 - val_loss: 0.0662 - val_acc: 0.9796\n", 556 | "Epoch 10/200\n", 557 | "143614/143614 [==============================] - 213s 1ms/step - loss: 0.0480 - acc: 0.9824 - val_loss: 0.0588 - val_acc: 0.9809\n", 558 | "Epoch 11/200\n", 559 | "143614/143614 [==============================] - 213s 1ms/step - loss: 0.0474 - acc: 0.9826 - val_loss: 0.0597 - val_acc: 0.9789\n", 560 | "bst_val_score 0.0554629157862807\n", 561 | "153164/153164 [==============================] - 82s 536us/step\n", 562 | " \n", 563 | "time taken for this fold 0:41:03.546180\n", 564 | "gpu memory cleaned\n", 565 | "fold====================>>>>>>>>>> 7\n", 566 | "Train on 143614 samples, validate on 15957 samples\n", 567 | "Epoch 1/200\n", 568 | "143614/143614 [==============================] - 237s 2ms/step - loss: 0.1154 - acc: 0.9698 - val_loss: 0.1020 - val_acc: 0.9757\n", 569 | "Epoch 2/200\n", 570 | "143614/143614 [==============================] - 215s 1ms/step - loss: 0.0686 - acc: 0.9784 - val_loss: 0.0760 - val_acc: 0.9780\n", 571 | "Epoch 3/200\n", 572 | "143614/143614 [==============================] - 215s 1ms/step - loss: 0.0621 - acc: 0.9793 - val_loss: 0.0619 - val_acc: 0.9796\n", 573 | "Epoch 4/200\n", 574 | "143614/143614 [==============================] - 215s 1ms/step - loss: 0.0582 - acc: 0.9802 - val_loss: 0.0600 - val_acc: 0.9798\n", 575 | "Epoch 5/200\n", 576 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0555 - acc: 0.9807 - val_loss: 0.0569 - val_acc: 0.9811\n", 577 | "Epoch 6/200\n", 578 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0535 - acc: 0.9811 - val_loss: 0.0730 - val_acc: 0.9803\n", 579 | "Epoch 7/200\n", 580 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0518 - acc: 0.9818 - val_loss: 0.0611 - val_acc: 0.9810\n", 581 | "Epoch 8/200\n", 582 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0504 - acc: 0.9819 - val_loss: 0.0681 - val_acc: 0.9813\n", 583 | "Epoch 9/200\n", 584 | "143614/143614 [==============================] - 213s 1ms/step - loss: 0.0491 - acc: 0.9822 - val_loss: 0.0654 - val_acc: 0.9796\n", 585 | "Epoch 10/200\n", 586 | "143614/143614 [==============================] - 213s 1ms/step - loss: 0.0482 - acc: 0.9824 - val_loss: 0.0653 - val_acc: 0.9805\n", 587 | "bst_val_score 0.0569391775181279\n", 588 | "153164/153164 [==============================] - 83s 544us/step\n", 589 | " \n", 590 | "time taken for this fold 0:37:37.349243\n", 591 | "gpu memory cleaned\n", 592 | "fold====================>>>>>>>>>> 8\n", 593 | "Train on 143614 samples, validate on 15957 samples\n", 594 | "Epoch 1/200\n", 595 | "143614/143614 [==============================] - 240s 2ms/step - loss: 0.1098 - acc: 0.9707 - val_loss: 0.1868 - val_acc: 0.9271\n", 596 | "Epoch 2/200\n", 597 | "143614/143614 [==============================] - 215s 1ms/step - loss: 0.0682 - acc: 0.9786 - val_loss: 0.0666 - val_acc: 0.9788\n", 598 | "Epoch 3/200\n", 599 | "143614/143614 [==============================] - 215s 1ms/step - loss: 0.0618 - acc: 0.9796 - val_loss: 0.0862 - val_acc: 0.9777\n", 600 | "Epoch 4/200\n", 601 | "143614/143614 [==============================] - 215s 1ms/step - loss: 0.0579 - acc: 0.9804 - val_loss: 0.0759 - val_acc: 0.9756\n", 602 | "Epoch 5/200\n", 603 | "143614/143614 [==============================] - 215s 1ms/step - loss: 0.0555 - acc: 0.9809 - val_loss: 0.0707 - val_acc: 0.9789\n", 604 | "Epoch 6/200\n", 605 | "143614/143614 [==============================] - 215s 1ms/step - loss: 0.0535 - acc: 0.9812 - val_loss: 0.0568 - val_acc: 0.9809\n", 606 | "Epoch 7/200\n", 607 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0520 - acc: 0.9815 - val_loss: 0.0624 - val_acc: 0.9799\n", 608 | "Epoch 8/200\n", 609 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0504 - acc: 0.9819 - val_loss: 0.0558 - val_acc: 0.9811\n", 610 | "Epoch 9/200\n", 611 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0492 - acc: 0.9821 - val_loss: 0.0632 - val_acc: 0.9797\n", 612 | "Epoch 10/200\n", 613 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0483 - acc: 0.9825 - val_loss: 0.0581 - val_acc: 0.9805\n", 614 | "Epoch 11/200\n", 615 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0475 - acc: 0.9826 - val_loss: 0.1012 - val_acc: 0.9632\n", 616 | "Epoch 12/200\n", 617 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0469 - acc: 0.9828 - val_loss: 0.0642 - val_acc: 0.9793\n", 618 | "Epoch 13/200\n", 619 | "143614/143614 [==============================] - 213s 1ms/step - loss: 0.0459 - acc: 0.9830 - val_loss: 0.0633 - val_acc: 0.9785\n", 620 | "bst_val_score 0.05578766349942835\n", 621 | "153164/153164 [==============================] - 83s 541us/step\n", 622 | " \n", 623 | "time taken for this fold 0:48:23.735653\n", 624 | "gpu memory cleaned\n", 625 | "fold====================>>>>>>>>>> 9\n" 626 | ] 627 | }, 628 | { 629 | "name": "stdout", 630 | "output_type": "stream", 631 | "text": [ 632 | "Train on 143614 samples, validate on 15957 samples\n", 633 | "Epoch 1/200\n", 634 | "143614/143614 [==============================] - 243s 2ms/step - loss: 0.1110 - acc: 0.9708 - val_loss: 0.0704 - val_acc: 0.9780\n", 635 | "Epoch 2/200\n", 636 | "143614/143614 [==============================] - 215s 1ms/step - loss: 0.0685 - acc: 0.9782 - val_loss: 0.0712 - val_acc: 0.9791\n", 637 | "Epoch 3/200\n", 638 | "143614/143614 [==============================] - 216s 2ms/step - loss: 0.0618 - acc: 0.9796 - val_loss: 0.0682 - val_acc: 0.9774\n", 639 | "Epoch 4/200\n", 640 | "143614/143614 [==============================] - 215s 1ms/step - loss: 0.0589 - acc: 0.9802 - val_loss: 0.0726 - val_acc: 0.9800\n", 641 | "Epoch 5/200\n", 642 | "143614/143614 [==============================] - 215s 1ms/step - loss: 0.0563 - acc: 0.9808 - val_loss: 0.0551 - val_acc: 0.9812\n", 643 | "Epoch 6/200\n", 644 | "143614/143614 [==============================] - 215s 1ms/step - loss: 0.0541 - acc: 0.9810 - val_loss: 0.0575 - val_acc: 0.9808\n", 645 | "Epoch 7/200\n", 646 | "143614/143614 [==============================] - 215s 1ms/step - loss: 0.0526 - acc: 0.9814 - val_loss: 0.0609 - val_acc: 0.9799\n", 647 | "Epoch 8/200\n", 648 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0512 - acc: 0.9817 - val_loss: 0.0608 - val_acc: 0.9786\n", 649 | "Epoch 9/200\n", 650 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0500 - acc: 0.9820 - val_loss: 0.0965 - val_acc: 0.9795\n", 651 | "Epoch 10/200\n", 652 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0493 - acc: 0.9821 - val_loss: 0.0548 - val_acc: 0.9816\n", 653 | "Epoch 11/200\n", 654 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0480 - acc: 0.9824 - val_loss: 0.0553 - val_acc: 0.9813\n", 655 | "Epoch 12/200\n", 656 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0473 - acc: 0.9825 - val_loss: 0.0889 - val_acc: 0.9696\n", 657 | "Epoch 13/200\n", 658 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0464 - acc: 0.9829 - val_loss: 0.0937 - val_acc: 0.9791\n", 659 | "Epoch 14/200\n", 660 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0456 - acc: 0.9829 - val_loss: 0.0645 - val_acc: 0.9797\n", 661 | "Epoch 15/200\n", 662 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0448 - acc: 0.9830 - val_loss: 0.0628 - val_acc: 0.9789\n", 663 | "bst_val_score 0.05478952087061801\n", 664 | "153164/153164 [==============================] - 84s 546us/step\n", 665 | " \n", 666 | "time taken for this fold 0:55:39.237994\n", 667 | "gpu memory cleaned\n", 668 | "fold====================>>>>>>>>>> 10\n", 669 | "Train on 143614 samples, validate on 15957 samples\n", 670 | "Epoch 1/200\n", 671 | "143614/143614 [==============================] - 246s 2ms/step - loss: 0.1167 - acc: 0.9702 - val_loss: 0.0845 - val_acc: 0.9732\n", 672 | "Epoch 2/200\n", 673 | "143614/143614 [==============================] - 215s 1ms/step - loss: 0.0683 - acc: 0.9784 - val_loss: 0.0886 - val_acc: 0.9765\n", 674 | "Epoch 3/200\n", 675 | "143614/143614 [==============================] - 215s 1ms/step - loss: 0.0617 - acc: 0.9797 - val_loss: 0.0635 - val_acc: 0.9790\n", 676 | "Epoch 4/200\n", 677 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0577 - acc: 0.9805 - val_loss: 0.0642 - val_acc: 0.9789\n", 678 | "Epoch 5/200\n", 679 | "143614/143614 [==============================] - 215s 1ms/step - loss: 0.0551 - acc: 0.9811 - val_loss: 0.0650 - val_acc: 0.9790\n", 680 | "Epoch 6/200\n", 681 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0531 - acc: 0.9814 - val_loss: 0.0700 - val_acc: 0.9782\n", 682 | "Epoch 7/200\n", 683 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0514 - acc: 0.9818 - val_loss: 0.0610 - val_acc: 0.9797\n", 684 | "Epoch 8/200\n", 685 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0499 - acc: 0.9821 - val_loss: 0.0668 - val_acc: 0.9792\n", 686 | "Epoch 9/200\n", 687 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0487 - acc: 0.9824 - val_loss: 0.0782 - val_acc: 0.9772\n", 688 | "Epoch 10/200\n", 689 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0475 - acc: 0.9826 - val_loss: 0.0613 - val_acc: 0.9797\n", 690 | "Epoch 11/200\n", 691 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0466 - acc: 0.9830 - val_loss: 0.0624 - val_acc: 0.9790\n", 692 | "Epoch 12/200\n", 693 | "143614/143614 [==============================] - 214s 1ms/step - loss: 0.0457 - acc: 0.9832 - val_loss: 0.0683 - val_acc: 0.9776\n", 694 | "bst_val_score 0.06096092736404656\n", 695 | "153164/153164 [==============================] - 78s 511us/step\n", 696 | " \n", 697 | "time taken for this fold 0:44:50.697559\n" 698 | ] 699 | } 700 | ], 701 | "source": [ 702 | "y_test=preds(10)" 703 | ] 704 | }, 705 | { 706 | "cell_type": "code", 707 | "execution_count": null, 708 | "metadata": {}, 709 | "outputs": [], 710 | "source": [] 711 | } 712 | ], 713 | "metadata": { 714 | "kernelspec": { 715 | "display_name": "statoil", 716 | "language": "python", 717 | "name": "statoil" 718 | }, 719 | "language_info": { 720 | "codemirror_mode": { 721 | "name": "ipython", 722 | "version": 3 723 | }, 724 | "file_extension": ".py", 725 | "mimetype": "text/x-python", 726 | "name": "python", 727 | "nbconvert_exporter": "python", 728 | "pygments_lexer": "ipython3", 729 | "version": "3.6.3" 730 | } 731 | }, 732 | "nbformat": 4, 733 | "nbformat_minor": 2 734 | } 735 | --------------------------------------------------------------------------------