diff --git a/BETA_E_Model_T&T.ipynb b/BETA_E_Model_T&T.ipynb index 5e498e8..be1a907 100644 --- a/BETA_E_Model_T&T.ipynb +++ b/BETA_E_Model_T&T.ipynb @@ -225,7 +225,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2023-12-28T02:27:48.287855100Z", @@ -282,19 +282,7 @@ "text": [ "\u001b[0;33mUsing Def IDG...\u001b[0m\n", "Found 23681 images belonging to 2 classes.\n", - "\u001b[0;33mLoading all images and labels into memory...\u001b[0m\n", - "\u001b[0;33mMaking categorical data...\u001b[0m\n", - "\u001b[0m\u001b[0m\u001b[0;33mGenerating augmented data \u001b[0m\u001b[0;36m[\u001b[0m\u001b[0;32mADBD: \u001b[0m\u001b[0;31m0\u001b[0m\u001b[0;36m]\u001b[0m\u001b[0;33m...\u001b[0m\n", - "\u001b[0;33mNormalizing image data...\u001b[0m\n", - "\u001b[0m\u001b[0m\u001b[0mData type: \u001b[0m\u001b[0;32mfloat16\u001b[0m\n", - "\u001b[0m\u001b[0m\u001b[0mRGB Range: \u001b[0m\u001b[0;34mMin = 0.0\u001b[0m\u001b[0m | \u001b[0m\u001b[0;31mMax = 1.0\u001b[0m\n", - "\u001b[0m\u001b[0m\u001b[0mLabel ratio: \u001b[0m\u001b[0;31m49.35% PNEUMONIA \u001b[0m\u001b[0;35m| \u001b[0m\u001b[0;32m50.65% NORMAL\u001b[0m\n", - "\u001b[0;33mSetting LNTS...\u001b[0m\n", - "\u001b[0m\u001b[0m\u001b[0mOriginal num_samples: \u001b[0m\u001b[0;32m23681\u001b[0m\n", - "\u001b[0;33mshuffling data...\u001b[0m\n", - "\u001b[0;33mSaving TS...\u001b[0m\n", - "\u001b[0m\u001b[0m\u001b[0mSample dir: \u001b[0m\u001b[0;32mSamples/TSR400_y2024_m02_d21-h18_m18_s43\u001b[0m\n", - "\u001b[0;32mDone.\u001b[0m\n" + "\u001b[0;33mLoading all images and labels into memory...\u001b[0m\n" ] } ], @@ -709,7 +697,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": { "ExecuteTime": { "end_time": "2023-12-28T02:31:27.380088800Z", @@ -863,7 +851,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 7, "metadata": { "ExecuteTime": { "end_time": "2023-12-27T17:34:12.077394600Z", @@ -8031,7 +8019,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 14, "metadata": { "ExecuteTime": { "end_time": "2023-12-28T07:04:23.573633300Z", @@ -8046,10 +8034,11 @@ "Training the model...\n", "\u001b[0;33m\n", "Setup Verbose:\u001b[0m\n", - "\u001b[0m\u001b[0m\u001b[0;36mSetting TensorBoard Log dir to \u001b[0m\u001b[0;32m[logs/fit/y2024_m02_d21-h18_m34_s00]\u001b[0m\u001b[0;36m...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;36mSetting TensorBoard Log dir to \u001b[0m\u001b[0;32m[logs/fit/y2024_m02_d21-h19_m45_s50]\u001b[0m\u001b[0;36m...\u001b[0m\n", "\u001b[0m\u001b[0m\u001b[0;36mUse_extended_tensorboard \u001b[0m\u001b[0;32m[False]\u001b[0m\u001b[0;36m.\u001b[0m\n", "\u001b[0m\u001b[0m\u001b[0;36mDebug_OUTPUT_DPS \u001b[0m\u001b[0;32m[True]\u001b[0m\u001b[0;36m.\u001b[0m\n", "\u001b[0m\u001b[0m\u001b[0;36mUse_OneCycleLr \u001b[0m\u001b[0;32m[False]\u001b[0m\u001b[0;36m.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;36mUsing the modified ReduceLROnPlateau.\u001b[0m\n", "\u001b[0m\u001b[0m\u001b[0;36mOneCycleLr_UFTS \u001b[0m\u001b[0;32m[False]\u001b[0m\u001b[0;36m.\u001b[0m\n", "\u001b[0;33mSetup Verbose END.\u001b[0m\n", "\u001b[0m\n", @@ -8060,33 +8049,34 @@ "\u001b[0;33m- ImageDataGenerator fit done.\u001b[0m\n", "\u001b[0;33m- Augmenting Image Data...\u001b[0m\n", "\u001b[0;33m- Normalizing Image Data...\u001b[0m\n", - "\u001b[0m\u001b[0m\u001b[0;31m- Debug DP Sample dir: \u001b[0m\u001b[0;32mSamples/TSR_SUB_400_y2024_m02_d21-h18_m38_s48\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;31m- Debug DP Sample dir: \u001b[0m\u001b[0;32mSamples/TSR_SUB_400_y2024_m02_d21-h19_m50_s38\u001b[0m\n", "\u001b[0m\u001b[0m\u001b[0;33mSetting training subset epoch.c to \u001b[0m\u001b[0;32m[6]\u001b[0m\u001b[0;33m...\u001b[0m\n", "\u001b[0;32mTraining on subset...\u001b[0m\n", "Epoch 1/6\n", - "256/256 [==============================] - 126s 397ms/step - loss: 0.4782 - accuracy: 0.8167 - val_loss: 0.9553 - val_accuracy: 0.6474 - lr: 0.0100\n", + "256/256 [==============================] - 90s 217ms/step - loss: 7.0960 - accuracy: 0.6514 - val_loss: 4.3509 - val_accuracy: 0.8782 - lr: 0.0100\n", "Epoch 2/6\n", - "256/256 [==============================] - 99s 388ms/step - loss: 0.1882 - accuracy: 0.9268 - val_loss: 0.1976 - val_accuracy: 0.9359 - lr: 0.0100\n", + "256/256 [==============================] - 53s 207ms/step - loss: 3.1833 - accuracy: 0.8086 - val_loss: 2.0124 - val_accuracy: 0.8926 - lr: 0.0100\n", "Epoch 3/6\n", - "256/256 [==============================] - 100s 391ms/step - loss: 0.0998 - accuracy: 0.9648 - val_loss: 0.3198 - val_accuracy: 0.8862 - lr: 0.0100\n", + "256/256 [==============================] - 53s 205ms/step - loss: 1.5983 - accuracy: 0.8572 - val_loss: 1.5372 - val_accuracy: 0.6795 - lr: 0.0100\n", "Epoch 4/6\n", - "256/256 [==============================] - 108s 422ms/step - loss: 0.0636 - accuracy: 0.9753 - val_loss: 0.2866 - val_accuracy: 0.9215 - lr: 0.0100\n", + "256/256 [==============================] - 53s 206ms/step - loss: 0.9135 - accuracy: 0.8821 - val_loss: 0.6788 - val_accuracy: 0.9215 - lr: 0.0100\n", "Epoch 5/6\n", - "256/256 [==============================] - 108s 422ms/step - loss: 0.0326 - accuracy: 0.9888 - val_loss: 0.2212 - val_accuracy: 0.9359 - lr: 0.0100\n", + "256/256 [==============================] - 52s 203ms/step - loss: 0.5820 - accuracy: 0.9023 - val_loss: 0.4907 - val_accuracy: 0.8878 - lr: 0.0100\n", "Epoch 6/6\n", - "256/256 [==============================] - 98s 382ms/step - loss: 0.0168 - accuracy: 0.9934 - val_loss: 0.3533 - val_accuracy: 0.9071 - lr: 0.0100\n", + "256/256 [==============================] - 52s 202ms/step - loss: 0.4026 - accuracy: 0.9194 - val_loss: 0.3878 - val_accuracy: 0.8814 - lr: 0.0100\n", "\u001b[0;32mSubset training done.\u001b[0m\n", "\u001b[0;33mLoading the best weights...\u001b[0m\n", - "\u001b[0;33mLoading weights from file cache\\model_SUB_checkpoint-002-0.9359.h5...\u001b[0m\n", - "\u001b[0m\u001b[0m\u001b[0;33mModel Test acc: \u001b[0m\u001b[0;32m0.9359\u001b[0m\n", - "\u001b[0m\u001b[0m\u001b[0;33mModel Test loss: \u001b[0m\u001b[0;32m0.1976\u001b[0m\n", - "\u001b[0m\u001b[0m\u001b[0;33mImproved model accuracy from \u001b[0m\u001b[0;32m 0.000000 \u001b[0m\u001b[0;33mto \u001b[0m\u001b[0;32m 0.935897\u001b[0m\u001b[0;33m. \u001b[0m\u001b[0;96mSaving model.\u001b[0m\n", + "\u001b[0;33mLoading weights from file cache\\model_SUB_checkpoint-004-0.9215.h5...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test acc: \u001b[0m\u001b[0;32m0.9215\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test loss: \u001b[0m\u001b[0;32m0.6788\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mImproved model accuracy from \u001b[0m\u001b[0;32m 0.000000 \u001b[0m\u001b[0;33mto \u001b[0m\u001b[0;32m 0.921474\u001b[0m\u001b[0;33m. \u001b[0m\u001b[0;96mSaving model.\u001b[0m\n", "\u001b[0m\u001b[0m\u001b[0;36mSaving full model H5 format...\u001b[0m\n", - "\u001b[0m\u001b[0m\u001b[0;33mImproved model loss from \u001b[0m\u001b[0;32minf \u001b[0m\u001b[0;33mto \u001b[0m\u001b[0;32m0.1975823790\u001b[0m\u001b[0;33m. \u001b[0m\u001b[0;96mSaving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mImproved model loss from \u001b[0m\u001b[0;32minf \u001b[0m\u001b[0;33mto \u001b[0m\u001b[0;32m0.6788101792\u001b[0m\u001b[0;33m. \u001b[0m\u001b[0;96mSaving model.\u001b[0m\n", "\u001b[0m\u001b[0m\u001b[0;36mSaving full model H5 format...\u001b[0m\n", - "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(FULL): \u001b[0m\u001b[0;32m954.03 \u001b[0m\u001b[0;36msec\u001b[0m\n", - "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(SUBo): \u001b[0m\u001b[0;32m640.74 \u001b[0m\u001b[0;36msec\u001b[0m\n", - "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(OTHERo): \u001b[0m\u001b[0;32m313.28 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;32m(GPU-MEM)\u001b[0m\u001b[0;36m----[free: 5.17GB, used: 18.83GB, total, 24.00GB]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(FULL): \u001b[0m\u001b[0;32m659.14 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(SUBo): \u001b[0m\u001b[0;32m353.51 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(OTHERo): \u001b[0m\u001b[0;32m305.63 \u001b[0m\u001b[0;36msec\u001b[0m\n", "\u001b[0;36m<---------------------------------------|Epoch [1] END|--------------------------------------->\u001b[0m\n", "\u001b[0m\n", "\u001b[0m\u001b[0mEpoch: \u001b[0m\u001b[0;36m2\u001b[0m\u001b[0m/\u001b[0m\u001b[0;32m489 (TSEC: 6)\u001b[0m\u001b[0;34m | \u001b[0m\u001b[0;32m[Learning the patterns]\u001b[0m\n", @@ -8097,28 +8087,30 @@ "\u001b[0m\u001b[0m\u001b[0;33mSetting training subset epoch.c to \u001b[0m\u001b[0;32m[6]\u001b[0m\u001b[0;33m...\u001b[0m\n", "\u001b[0;32mTraining on subset...\u001b[0m\n", "Epoch 7/12\n", - "256/256 [==============================] - 105s 387ms/step - loss: 0.2607 - accuracy: 0.9048 - val_loss: 0.2004 - val_accuracy: 0.9215 - lr: 0.0100\n", + "256/256 [==============================] - 60s 204ms/step - loss: 0.6837 - accuracy: 0.8618 - val_loss: 0.7311 - val_accuracy: 0.7660 - lr: 0.0100\n", "Epoch 8/12\n", - "256/256 [==============================] - 96s 376ms/step - loss: 0.1069 - accuracy: 0.9634 - val_loss: 0.4279 - val_accuracy: 0.8429 - lr: 0.0100\n", + "256/256 [==============================] - 51s 200ms/step - loss: 0.4632 - accuracy: 0.8940 - val_loss: 0.4718 - val_accuracy: 0.9135 - lr: 0.0100\n", "Epoch 9/12\n", - "256/256 [==============================] - 97s 377ms/step - loss: 0.0766 - accuracy: 0.9773 - val_loss: 0.2742 - val_accuracy: 0.8990 - lr: 0.0100\n", + "256/256 [==============================] - 51s 198ms/step - loss: 0.3834 - accuracy: 0.8992 - val_loss: 0.3400 - val_accuracy: 0.8878 - lr: 0.0100\n", "Epoch 10/12\n", - "256/256 [==============================] - 97s 377ms/step - loss: 0.0350 - accuracy: 0.9883 - val_loss: 0.3398 - val_accuracy: 0.9022 - lr: 0.0100\n", + "256/256 [==============================] - 52s 202ms/step - loss: 0.2943 - accuracy: 0.9253 - val_loss: 0.2833 - val_accuracy: 0.9359 - lr: 0.0100\n", "Epoch 11/12\n", - "256/256 [==============================] - 98s 383ms/step - loss: 0.0252 - accuracy: 0.9937 - val_loss: 0.2331 - val_accuracy: 0.9343 - lr: 0.0100\n", + "256/256 [==============================] - 51s 198ms/step - loss: 0.2666 - accuracy: 0.9253 - val_loss: 0.2520 - val_accuracy: 0.9295 - lr: 0.0100\n", "Epoch 12/12\n", - "256/256 [==============================] - 99s 387ms/step - loss: 0.0224 - accuracy: 0.9922 - val_loss: 0.2570 - val_accuracy: 0.9375 - lr: 0.0100\n", + "256/256 [==============================] - 51s 198ms/step - loss: 0.2069 - accuracy: 0.9382 - val_loss: 0.2819 - val_accuracy: 0.9199 - lr: 0.0100\n", "\u001b[0;32mSubset training done.\u001b[0m\n", "\u001b[0;33mLoading the best weights...\u001b[0m\n", - "\u001b[0;33mLoading weights from file cache\\model_SUB_checkpoint-012-0.9375.h5...\u001b[0m\n", - "\u001b[0m\u001b[0m\u001b[0;33mModel Test acc: \u001b[0m\u001b[0;32m0.9375\u001b[0m\n", - "\u001b[0m\u001b[0m\u001b[0;33mModel Test loss: \u001b[0m\u001b[0;32m0.2570\u001b[0m\n", - "\u001b[0m\u001b[0m\u001b[0;33mImproved model accuracy from \u001b[0m\u001b[0;32m 0.935897 \u001b[0m\u001b[0;33mto \u001b[0m\u001b[0;32m 0.937500\u001b[0m\u001b[0;33m. \u001b[0m\u001b[0;96mSaving model.\u001b[0m\n", + "\u001b[0;33mLoading weights from file cache\\model_SUB_checkpoint-010-0.9359.h5...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test acc: \u001b[0m\u001b[0;32m0.9359\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test loss: \u001b[0m\u001b[0;32m0.2833\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mImproved model accuracy from \u001b[0m\u001b[0;32m 0.921474 \u001b[0m\u001b[0;33mto \u001b[0m\u001b[0;32m 0.935897\u001b[0m\u001b[0;33m. \u001b[0m\u001b[0;96mSaving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;36mSaving full model H5 format...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mImproved model loss from \u001b[0m\u001b[0;32m0.6788101792 \u001b[0m\u001b[0;33mto \u001b[0m\u001b[0;32m0.2832830250\u001b[0m\u001b[0;33m. \u001b[0m\u001b[0;96mSaving model.\u001b[0m\n", "\u001b[0m\u001b[0m\u001b[0;36mSaving full model H5 format...\u001b[0m\n", - "\u001b[0m\u001b[0m\u001b[0;91mModel loss did not improve from 0.1975823790. Not saving model.\u001b[0m\n", - "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(FULL): \u001b[0m\u001b[0;32m658.60 \u001b[0m\u001b[0;36msec\u001b[0m\n", - "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(SUBo): \u001b[0m\u001b[0;32m593.70 \u001b[0m\u001b[0;36msec\u001b[0m\n", - "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(OTHERo): \u001b[0m\u001b[0;32m64.90 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;32m(GPU-MEM)\u001b[0m\u001b[0;36m----[free: 5.17GB, used: 18.83GB, total, 24.00GB]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(FULL): \u001b[0m\u001b[0;32m377.80 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(SUBo): \u001b[0m\u001b[0;32m316.57 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(OTHERo): \u001b[0m\u001b[0;32m61.24 \u001b[0m\u001b[0;36msec\u001b[0m\n", "\u001b[0;36m<---------------------------------------|Epoch [2] END|--------------------------------------->\u001b[0m\n", "\u001b[0m\n", "\u001b[0m\u001b[0mEpoch: \u001b[0m\u001b[0;36m3\u001b[0m\u001b[0m/\u001b[0m\u001b[0;32m489 (TSEC: 12)\u001b[0m\u001b[0;34m | \u001b[0m\u001b[0;32m[Learning the patterns]\u001b[0m\n", @@ -8129,24 +8121,605 @@ "\u001b[0m\u001b[0m\u001b[0;33mSetting training subset epoch.c to \u001b[0m\u001b[0;32m[6]\u001b[0m\u001b[0;33m...\u001b[0m\n", "\u001b[0;32mTraining on subset...\u001b[0m\n", "Epoch 13/18\n", - "256/256 [==============================] - 114s 423ms/step - loss: 0.2495 - accuracy: 0.9150 - val_loss: 0.2023 - val_accuracy: 0.9135 - lr: 0.0100\n", + "256/256 [==============================] - 60s 206ms/step - loss: 0.3287 - accuracy: 0.8975 - val_loss: 0.2951 - val_accuracy: 0.8990 - lr: 0.0100\n", "Epoch 14/18\n", - "256/256 [==============================] - 99s 385ms/step - loss: 0.0890 - accuracy: 0.9683 - val_loss: 0.2644 - val_accuracy: 0.9087 - lr: 0.0100\n", + "256/256 [==============================] - 52s 203ms/step - loss: 0.2662 - accuracy: 0.9143 - val_loss: 0.2459 - val_accuracy: 0.9199 - lr: 0.0100\n", "Epoch 15/18\n", - "256/256 [==============================] - 99s 384ms/step - loss: 0.0264 - accuracy: 0.9900 - val_loss: 0.2694 - val_accuracy: 0.9343 - lr: 0.0100\n", + "256/256 [==============================] - 51s 199ms/step - loss: 0.2369 - accuracy: 0.9272 - val_loss: 0.3320 - val_accuracy: 0.8958 - lr: 0.0100\n", "Epoch 16/18\n", - "256/256 [==============================] - 106s 414ms/step - loss: 0.0274 - accuracy: 0.9919 - val_loss: 0.5035 - val_accuracy: 0.8526 - lr: 0.0100\n", + "256/256 [==============================] - 51s 199ms/step - loss: 0.2205 - accuracy: 0.9331 - val_loss: 0.3045 - val_accuracy: 0.8990 - lr: 0.0100\n", "Epoch 17/18\n", - "256/256 [==============================] - 105s 410ms/step - loss: 0.0199 - accuracy: 0.9934 - val_loss: 0.3656 - val_accuracy: 0.9215 - lr: 0.0100\n", + "256/256 [==============================] - 52s 202ms/step - loss: 0.1743 - accuracy: 0.9495 - val_loss: 0.2485 - val_accuracy: 0.9375 - lr: 0.0100\n", "Epoch 18/18\n", - "256/256 [==============================] - 103s 402ms/step - loss: 0.0046 - accuracy: 0.9990 - val_loss: 0.6057 - val_accuracy: 0.9054 - lr: 0.0100\n", + "256/256 [==============================] - 51s 199ms/step - loss: 0.1324 - accuracy: 0.9653 - val_loss: 0.3564 - val_accuracy: 0.8894 - lr: 0.0100\n", + "\u001b[0;32mSubset training done.\u001b[0m\n", + "\u001b[0;33mLoading the best weights...\u001b[0m\n", + "\u001b[0;33mLoading weights from file cache\\model_SUB_checkpoint-017-0.9375.h5...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test acc: \u001b[0m\u001b[0;32m0.9375\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test loss: \u001b[0m\u001b[0;32m0.2485\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mImproved model accuracy from \u001b[0m\u001b[0;32m 0.935897 \u001b[0m\u001b[0;33mto \u001b[0m\u001b[0;32m 0.937500\u001b[0m\u001b[0;33m. \u001b[0m\u001b[0;96mSaving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;36mSaving full model H5 format...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mImproved model loss from \u001b[0m\u001b[0;32m0.2832830250 \u001b[0m\u001b[0;33mto \u001b[0m\u001b[0;32m0.2485097945\u001b[0m\u001b[0;33m. \u001b[0m\u001b[0;96mSaving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;36mSaving full model H5 format...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;32m(GPU-MEM)\u001b[0m\u001b[0;36m----[free: 5.18GB, used: 18.82GB, total, 24.00GB]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(FULL): \u001b[0m\u001b[0;32m383.51 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(SUBo): \u001b[0m\u001b[0;32m318.50 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(OTHERo): \u001b[0m\u001b[0;32m65.00 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0;36m<---------------------------------------|Epoch [3] END|--------------------------------------->\u001b[0m\n", + "\u001b[0m\n", + "\u001b[0m\u001b[0mEpoch: \u001b[0m\u001b[0;36m4\u001b[0m\u001b[0m/\u001b[0m\u001b[0;32m489 (TSEC: 18)\u001b[0m\u001b[0;34m | \u001b[0m\u001b[0;32m[Learning the patterns]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTaking a subset of \u001b[0m\u001b[0;32m[|4096|AdvSubset:True]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;33mPreparing train data...\u001b[0m\n", + "\u001b[0;33m- Augmenting Image Data...\u001b[0m\n", + "\u001b[0;33m- Normalizing Image Data...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mSetting training subset epoch.c to \u001b[0m\u001b[0;32m[6]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;32mTraining on subset...\u001b[0m\n", + "Epoch 19/24\n", + "256/256 [==============================] - 61s 208ms/step - loss: 0.3077 - accuracy: 0.8970 - val_loss: 0.2433 - val_accuracy: 0.9151 - lr: 0.0100\n", + "Epoch 20/24\n", + "256/256 [==============================] - 52s 203ms/step - loss: 0.2331 - accuracy: 0.9307 - val_loss: 0.2300 - val_accuracy: 0.9279 - lr: 0.0100\n", + "Epoch 21/24\n", + "256/256 [==============================] - 52s 204ms/step - loss: 0.2139 - accuracy: 0.9336 - val_loss: 0.2418 - val_accuracy: 0.9407 - lr: 0.0100\n", + "Epoch 22/24\n", + "256/256 [==============================] - 52s 201ms/step - loss: 0.1581 - accuracy: 0.9531 - val_loss: 0.2810 - val_accuracy: 0.8862 - lr: 0.0100\n", + "Epoch 23/24\n", + "256/256 [==============================] - 52s 201ms/step - loss: 0.1658 - accuracy: 0.9526 - val_loss: 0.2898 - val_accuracy: 0.8910 - lr: 0.0100\n", + "Epoch 24/24\n", + "256/256 [==============================] - 52s 201ms/step - loss: 0.1613 - accuracy: 0.9539 - val_loss: 0.2693 - val_accuracy: 0.9231 - lr: 0.0100\n", + "\u001b[0;32mSubset training done.\u001b[0m\n", + "\u001b[0;33mLoading the best weights...\u001b[0m\n", + "\u001b[0;33mLoading weights from file cache\\model_SUB_checkpoint-021-0.9407.h5...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test acc: \u001b[0m\u001b[0;32m0.9407\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test loss: \u001b[0m\u001b[0;32m0.2418\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mImproved model accuracy from \u001b[0m\u001b[0;32m 0.937500 \u001b[0m\u001b[0;33mto \u001b[0m\u001b[0;32m 0.940705\u001b[0m\u001b[0;33m. \u001b[0m\u001b[0;96mSaving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;36mSaving full model H5 format...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mImproved model loss from \u001b[0m\u001b[0;32m0.2485097945 \u001b[0m\u001b[0;33mto \u001b[0m\u001b[0;32m0.2418088466\u001b[0m\u001b[0;33m. \u001b[0m\u001b[0;96mSaving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;36mSaving full model H5 format...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;32m(GPU-MEM)\u001b[0m\u001b[0;36m----[free: 5.17GB, used: 18.83GB, total, 24.00GB]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(FULL): \u001b[0m\u001b[0;32m389.31 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(SUBo): \u001b[0m\u001b[0;32m321.74 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(OTHERo): \u001b[0m\u001b[0;32m67.57 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0;36m<---------------------------------------|Epoch [4] END|--------------------------------------->\u001b[0m\n", + "\u001b[0m\n", + "\u001b[0m\u001b[0mEpoch: \u001b[0m\u001b[0;36m5\u001b[0m\u001b[0m/\u001b[0m\u001b[0;32m489 (TSEC: 24)\u001b[0m\u001b[0;34m | \u001b[0m\u001b[0;32m[Learning the patterns]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTaking a subset of \u001b[0m\u001b[0;32m[|4096|AdvSubset:True]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;33mPreparing train data...\u001b[0m\n", + "\u001b[0;33m- Augmenting Image Data...\u001b[0m\n", + "\u001b[0;33m- Normalizing Image Data...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mSetting training subset epoch.c to \u001b[0m\u001b[0;32m[6]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;32mTraining on subset...\u001b[0m\n", + "Epoch 25/30\n", + "256/256 [==============================] - 63s 215ms/step - loss: 0.3060 - accuracy: 0.8970 - val_loss: 0.3489 - val_accuracy: 0.9183 - lr: 0.0100\n", + "Epoch 26/30\n", + "256/256 [==============================] - 54s 208ms/step - loss: 0.2544 - accuracy: 0.9197 - val_loss: 0.2685 - val_accuracy: 0.9006 - lr: 0.0100\n", + "Epoch 27/30\n", + "256/256 [==============================] - 53s 208ms/step - loss: 0.1866 - accuracy: 0.9417 - val_loss: 0.2319 - val_accuracy: 0.9167 - lr: 0.0100\n", + "Epoch 28/30\n", + "256/256 [==============================] - 53s 208ms/step - loss: 0.1715 - accuracy: 0.9480 - val_loss: 0.2892 - val_accuracy: 0.9167 - lr: 0.0100\n", + "Epoch 29/30\n", + "256/256 [==============================] - 54s 211ms/step - loss: 0.1400 - accuracy: 0.9600 - val_loss: 0.2882 - val_accuracy: 0.9327 - lr: 0.0100\n", + "Epoch 30/30\n", + "256/256 [==============================] - 54s 209ms/step - loss: 0.1331 - accuracy: 0.9651 - val_loss: 0.3342 - val_accuracy: 0.9071 - lr: 0.0100\n", + "\u001b[0;32mSubset training done.\u001b[0m\n", + "\u001b[0;33mLoading the best weights...\u001b[0m\n", + "\u001b[0;33mLoading weights from file cache\\model_SUB_checkpoint-029-0.9327.h5...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test acc: \u001b[0m\u001b[0;32m0.9327\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test loss: \u001b[0m\u001b[0;32m0.2882\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;91mModel accuracy did not improve from 0.9407051206. Not saving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;91mModel loss did not improve from 0.2418088466. Not saving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;32m(GPU-MEM)\u001b[0m\u001b[0;36m----[free: 5.18GB, used: 18.82GB, total, 24.00GB]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(FULL): \u001b[0m\u001b[0;32m398.30 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(SUBo): \u001b[0m\u001b[0;32m331.69 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(OTHERo): \u001b[0m\u001b[0;32m66.61 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0;36m<---------------------------------------|Epoch [5] END|--------------------------------------->\u001b[0m\n", + "\u001b[0m\n", + "\u001b[0m\u001b[0mEpoch: \u001b[0m\u001b[0;36m6\u001b[0m\u001b[0m/\u001b[0m\u001b[0;32m489 (TSEC: 30)\u001b[0m\u001b[0;34m | \u001b[0m\u001b[0;32m[Learning the patterns]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTaking a subset of \u001b[0m\u001b[0;32m[|4096|AdvSubset:True]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;33mPreparing train data...\u001b[0m\n", + "\u001b[0;33m- Augmenting Image Data...\u001b[0m\n", + "\u001b[0;33m- Normalizing Image Data...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mSetting training subset epoch.c to \u001b[0m\u001b[0;32m[6]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;32mTraining on subset...\u001b[0m\n", + "Epoch 31/36\n", + "256/256 [==============================] - 61s 209ms/step - loss: 0.2687 - accuracy: 0.9175 - val_loss: 0.2084 - val_accuracy: 0.9343 - lr: 0.0100\n", + "Epoch 32/36\n", + "256/256 [==============================] - 52s 202ms/step - loss: 0.1929 - accuracy: 0.9412 - val_loss: 0.2006 - val_accuracy: 0.9247 - lr: 0.0100\n", + "Epoch 33/36\n", + "256/256 [==============================] - 53s 205ms/step - loss: 0.1602 - accuracy: 0.9529 - val_loss: 0.2086 - val_accuracy: 0.9391 - lr: 0.0100\n", + "Epoch 34/36\n", + "256/256 [==============================] - 52s 202ms/step - loss: 0.1211 - accuracy: 0.9666 - val_loss: 0.2182 - val_accuracy: 0.9391 - lr: 0.0100\n", + "Epoch 35/36\n", + "256/256 [==============================] - 52s 202ms/step - loss: 0.1159 - accuracy: 0.9702 - val_loss: 0.3274 - val_accuracy: 0.9119 - lr: 0.0100\n", + "Epoch 36/36\n", + "256/256 [==============================] - 52s 202ms/step - loss: 0.0974 - accuracy: 0.9722 - val_loss: 0.2405 - val_accuracy: 0.9054 - lr: 0.0100\n", + "\u001b[0;32mSubset training done.\u001b[0m\n", + "\u001b[0;33mLoading the best weights...\u001b[0m\n", + "\u001b[0;33mLoading weights from file cache\\model_SUB_checkpoint-033-0.9391.h5...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test acc: \u001b[0m\u001b[0;32m0.9391\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test loss: \u001b[0m\u001b[0;32m0.2086\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;91mModel accuracy did not improve from 0.9407051206. Not saving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mImproved model loss from \u001b[0m\u001b[0;32m0.2418088466 \u001b[0m\u001b[0;33mto \u001b[0m\u001b[0;32m0.2086250037\u001b[0m\u001b[0;33m. \u001b[0m\u001b[0;96mSaving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;36mSaving full model H5 format...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;32m(GPU-MEM)\u001b[0m\u001b[0;36m----[free: 5.17GB, used: 18.83GB, total, 24.00GB]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(FULL): \u001b[0m\u001b[0;32m392.43 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(SUBo): \u001b[0m\u001b[0;32m322.32 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(OTHERo): \u001b[0m\u001b[0;32m70.11 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0;36m<---------------------------------------|Epoch [6] END|--------------------------------------->\u001b[0m\n", + "\u001b[0m\n", + "\u001b[0m\u001b[0mEpoch: \u001b[0m\u001b[0;36m7\u001b[0m\u001b[0m/\u001b[0m\u001b[0;32m489 (TSEC: 36)\u001b[0m\u001b[0;34m | \u001b[0m\u001b[0;32m[Learning the patterns]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTaking a subset of \u001b[0m\u001b[0;32m[|4096|AdvSubset:True]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;33mPreparing train data...\u001b[0m\n", + "\u001b[0;33m- Augmenting Image Data...\u001b[0m\n", + "\u001b[0;33m- Normalizing Image Data...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mSetting training subset epoch.c to \u001b[0m\u001b[0;32m[6]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;32mTraining on subset...\u001b[0m\n", + "Epoch 37/42\n", + "256/256 [==============================] - 61s 208ms/step - loss: 0.2704 - accuracy: 0.9148 - val_loss: 0.2623 - val_accuracy: 0.9311 - lr: 0.0100\n", + "Epoch 38/42\n", + "256/256 [==============================] - 52s 201ms/step - loss: 0.2013 - accuracy: 0.9351 - val_loss: 0.3585 - val_accuracy: 0.9183 - lr: 0.0100\n", + "Epoch 39/42\n", + "256/256 [==============================] - 52s 202ms/step - loss: 0.1503 - accuracy: 0.9592 - val_loss: 0.2112 - val_accuracy: 0.9295 - lr: 0.0100\n", + "Epoch 40/42\n", + "256/256 [==============================] - 53s 206ms/step - loss: 0.1251 - accuracy: 0.9653 - val_loss: 0.2388 - val_accuracy: 0.9343 - lr: 0.0100\n", + "Epoch 41/42\n", + "256/256 [==============================] - 52s 201ms/step - loss: 0.0910 - accuracy: 0.9775 - val_loss: 0.2861 - val_accuracy: 0.9199 - lr: 0.0100\n", + "Epoch 42/42\n", + "256/256 [==============================] - 52s 202ms/step - loss: 0.0972 - accuracy: 0.9771 - val_loss: 0.2420 - val_accuracy: 0.9279 - lr: 0.0100\n", "\u001b[0;32mSubset training done.\u001b[0m\n", "\u001b[0;33mLoading the best weights...\u001b[0m\n", - "\u001b[0;33mLoading weights from file cache\\model_SUB_checkpoint-015-0.9343.h5...\u001b[0m\n", - "\n", - "KeyboardInterrupt. (Training stopped)\n", - "Training done.\n", - "\n" + "\u001b[0;33mLoading weights from file cache\\model_SUB_checkpoint-040-0.9343.h5...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test acc: \u001b[0m\u001b[0;32m0.9343\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test loss: \u001b[0m\u001b[0;32m0.2388\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;91mModel accuracy did not improve from 0.9407051206. Not saving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;91mModel loss did not improve from 0.2086250037. Not saving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;32m(GPU-MEM)\u001b[0m\u001b[0;36m----[free: 5.17GB, used: 18.83GB, total, 24.00GB]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(FULL): \u001b[0m\u001b[0;32m392.71 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(SUBo): \u001b[0m\u001b[0;32m321.88 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(OTHERo): \u001b[0m\u001b[0;32m70.83 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0;36m<---------------------------------------|Epoch [7] END|--------------------------------------->\u001b[0m\n", + "\u001b[0m\n", + "\u001b[0m\u001b[0mEpoch: \u001b[0m\u001b[0;36m8\u001b[0m\u001b[0m/\u001b[0m\u001b[0;32m489 (TSEC: 42)\u001b[0m\u001b[0;34m | \u001b[0m\u001b[0;32m[Learning the patterns]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTaking a subset of \u001b[0m\u001b[0;32m[|4096|AdvSubset:True]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;33mPreparing train data...\u001b[0m\n", + "\u001b[0;33m- Augmenting Image Data...\u001b[0m\n", + "\u001b[0;33m- Normalizing Image Data...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mSetting training subset epoch.c to \u001b[0m\u001b[0;32m[6]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;32mTraining on subset...\u001b[0m\n", + "Epoch 43/48\n", + "256/256 [==============================] - 61s 209ms/step - loss: 0.2648 - accuracy: 0.9199 - val_loss: 0.2181 - val_accuracy: 0.9279 - lr: 0.0100\n", + "Epoch 44/48\n", + "256/256 [==============================] - 52s 204ms/step - loss: 0.1892 - accuracy: 0.9390 - val_loss: 0.2879 - val_accuracy: 0.9423 - lr: 0.0100\n", + "Epoch 45/48\n", + "256/256 [==============================] - 51s 200ms/step - loss: 0.1339 - accuracy: 0.9602 - val_loss: 0.7077 - val_accuracy: 0.8894 - lr: 0.0100\n", + "Epoch 46/48\n", + "256/256 [==============================] - 52s 201ms/step - loss: 0.1364 - accuracy: 0.9634 - val_loss: 0.2454 - val_accuracy: 0.9375 - lr: 0.0100\n", + "Epoch 47/48\n", + "256/256 [==============================] - 52s 202ms/step - loss: 0.0885 - accuracy: 0.9756 - val_loss: 0.4411 - val_accuracy: 0.9391 - lr: 0.0100\n", + "Epoch 48/48\n", + "256/256 [==============================] - 52s 202ms/step - loss: 0.1021 - accuracy: 0.9724 - val_loss: 0.2602 - val_accuracy: 0.9311 - lr: 0.0100\n", + "\u001b[0;32mSubset training done.\u001b[0m\n", + "\u001b[0;33mLoading the best weights...\u001b[0m\n", + "\u001b[0;33mLoading weights from file cache\\model_SUB_checkpoint-044-0.9423.h5...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test acc: \u001b[0m\u001b[0;32m0.9423\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test loss: \u001b[0m\u001b[0;32m0.2879\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mImproved model accuracy from \u001b[0m\u001b[0;32m 0.940705 \u001b[0m\u001b[0;33mto \u001b[0m\u001b[0;32m 0.942308\u001b[0m\u001b[0;33m. \u001b[0m\u001b[0;96mSaving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;36mSaving full model H5 format...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;91mModel loss did not improve from 0.2086250037. Not saving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;32m(GPU-MEM)\u001b[0m\u001b[0;36m----[free: 5.16GB, used: 18.84GB, total, 24.00GB]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(FULL): \u001b[0m\u001b[0;32m397.25 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(SUBo): \u001b[0m\u001b[0;32m321.50 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(OTHERo): \u001b[0m\u001b[0;32m75.75 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0;36m<---------------------------------------|Epoch [8] END|--------------------------------------->\u001b[0m\n", + "\u001b[0m\n", + "\u001b[0m\u001b[0mEpoch: \u001b[0m\u001b[0;36m9\u001b[0m\u001b[0m/\u001b[0m\u001b[0;32m489 (TSEC: 48)\u001b[0m\u001b[0;34m | \u001b[0m\u001b[0;32m[Learning the patterns]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTaking a subset of \u001b[0m\u001b[0;32m[|4096|AdvSubset:True]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;33mPreparing train data...\u001b[0m\n", + "\u001b[0;33m- Augmenting Image Data...\u001b[0m\n", + "\u001b[0;33m- Normalizing Image Data...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mSetting training subset epoch.c to \u001b[0m\u001b[0;32m[6]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;32mTraining on subset...\u001b[0m\n", + "Epoch 49/54\n", + "256/256 [==============================] - 64s 217ms/step - loss: 0.2317 - accuracy: 0.9285 - val_loss: 0.2361 - val_accuracy: 0.9119 - lr: 0.0100\n", + "Epoch 50/54\n", + "256/256 [==============================] - 54s 212ms/step - loss: 0.1672 - accuracy: 0.9500 - val_loss: 0.2065 - val_accuracy: 0.9327 - lr: 0.0100\n", + "Epoch 51/54\n", + "256/256 [==============================] - 55s 213ms/step - loss: 0.1249 - accuracy: 0.9641 - val_loss: 0.2382 - val_accuracy: 0.9343 - lr: 0.0100\n", + "Epoch 52/54\n", + "256/256 [==============================] - 54s 208ms/step - loss: 0.1068 - accuracy: 0.9685 - val_loss: 0.2824 - val_accuracy: 0.8974 - lr: 0.0100\n", + "Epoch 53/54\n", + "256/256 [==============================] - 54s 208ms/step - loss: 0.0838 - accuracy: 0.9783 - val_loss: 0.3011 - val_accuracy: 0.9263 - lr: 0.0100\n", + "Epoch 54/54\n", + "256/256 [==============================] - 55s 213ms/step - loss: 0.0831 - accuracy: 0.9771 - val_loss: 0.2188 - val_accuracy: 0.9407 - lr: 0.0100\n", + "\u001b[0;32mSubset training done.\u001b[0m\n", + "\u001b[0;33mLoading the best weights...\u001b[0m\n", + "\u001b[0;33mLoading weights from file cache\\model_SUB_checkpoint-054-0.9407.h5...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test acc: \u001b[0m\u001b[0;32m0.9407\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test loss: \u001b[0m\u001b[0;32m0.2188\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;91mModel accuracy did not improve from 0.9423077106. Not saving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;91mModel loss did not improve from 0.2086250037. Not saving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;32m(GPU-MEM)\u001b[0m\u001b[0;36m----[free: 5.16GB, used: 18.84GB, total, 24.00GB]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(FULL): \u001b[0m\u001b[0;32m411.88 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(SUBo): \u001b[0m\u001b[0;32m336.04 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(OTHERo): \u001b[0m\u001b[0;32m75.84 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0;36m<---------------------------------------|Epoch [9] END|--------------------------------------->\u001b[0m\n", + "\u001b[0m\n", + "\u001b[0m\u001b[0mEpoch: \u001b[0m\u001b[0;36m10\u001b[0m\u001b[0m/\u001b[0m\u001b[0;32m489 (TSEC: 54)\u001b[0m\u001b[0;34m | \u001b[0m\u001b[0;32m[Learning the patterns]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTaking a subset of \u001b[0m\u001b[0;32m[|4096|AdvSubset:True]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;33mPreparing train data...\u001b[0m\n", + "\u001b[0;33m- Augmenting Image Data...\u001b[0m\n", + "\u001b[0;33m- Normalizing Image Data...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mSetting training subset epoch.c to \u001b[0m\u001b[0;32m[6]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;32mTraining on subset...\u001b[0m\n", + "Epoch 55/60\n", + "256/256 [==============================] - 62s 210ms/step - loss: 0.2614 - accuracy: 0.9189 - val_loss: 0.2734 - val_accuracy: 0.8974 - lr: 0.0100\n", + "Epoch 56/60\n", + "256/256 [==============================] - 53s 206ms/step - loss: 0.1772 - accuracy: 0.9470 - val_loss: 0.2006 - val_accuracy: 0.9183 - lr: 0.0100\n", + "Epoch 57/60\n", + "256/256 [==============================] - 52s 204ms/step - loss: 0.1454 - accuracy: 0.9558 - val_loss: 0.2368 - val_accuracy: 0.9038 - lr: 0.0100\n", + "Epoch 58/60\n", + "256/256 [==============================] - 52s 204ms/step - loss: 0.0926 - accuracy: 0.9741 - val_loss: 0.3055 - val_accuracy: 0.9022 - lr: 0.0100\n", + "Epoch 59/60\n", + "256/256 [==============================] - 53s 207ms/step - loss: 0.0743 - accuracy: 0.9817 - val_loss: 0.2830 - val_accuracy: 0.9247 - lr: 0.0100\n", + "Epoch 60/60\n", + "256/256 [==============================] - 52s 204ms/step - loss: 0.0661 - accuracy: 0.9841 - val_loss: 0.3475 - val_accuracy: 0.9183 - lr: 0.0100\n", + "\u001b[0;32mSubset training done.\u001b[0m\n", + "\u001b[0;33mLoading the best weights...\u001b[0m\n", + "\u001b[0;33mLoading weights from file cache\\model_SUB_checkpoint-059-0.9247.h5...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test acc: \u001b[0m\u001b[0;32m0.9247\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test loss: \u001b[0m\u001b[0;32m0.2830\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;91mModel accuracy did not improve from 0.9423077106. Not saving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;91mModel loss did not improve from 0.2086250037. Not saving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;32m(GPU-MEM)\u001b[0m\u001b[0;36m----[free: 5.17GB, used: 18.83GB, total, 24.00GB]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(FULL): \u001b[0m\u001b[0;32m403.49 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(SUBo): \u001b[0m\u001b[0;32m325.68 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(OTHERo): \u001b[0m\u001b[0;32m77.82 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0;36m<---------------------------------------|Epoch [10] END|--------------------------------------->\u001b[0m\n", + "\u001b[0m\n", + "\u001b[0m\u001b[0mEpoch: \u001b[0m\u001b[0;36m11\u001b[0m\u001b[0m/\u001b[0m\u001b[0;32m489 (TSEC: 60)\u001b[0m\u001b[0;34m | \u001b[0m\u001b[0;32m[Learning the patterns]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTaking a subset of \u001b[0m\u001b[0;32m[|4096|AdvSubset:True]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;33mPreparing train data...\u001b[0m\n", + "\u001b[0;33m- Augmenting Image Data...\u001b[0m\n", + "\u001b[0;33m- Normalizing Image Data...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mSetting training subset epoch.c to \u001b[0m\u001b[0;32m[6]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;32mTraining on subset...\u001b[0m\n", + "Epoch 61/66\n", + "256/256 [==============================] - 62s 213ms/step - loss: 0.2355 - accuracy: 0.9270 - val_loss: 0.1973 - val_accuracy: 0.9263 - lr: 0.0100\n", + "Epoch 62/66\n", + "256/256 [==============================] - 54s 208ms/step - loss: 0.1516 - accuracy: 0.9578 - val_loss: 0.2657 - val_accuracy: 0.9359 - lr: 0.0100\n", + "Epoch 63/66\n", + "256/256 [==============================] - 53s 205ms/step - loss: 0.1230 - accuracy: 0.9653 - val_loss: 0.3837 - val_accuracy: 0.8413 - lr: 0.0100\n", + "Epoch 64/66\n", + "256/256 [==============================] - 53s 205ms/step - loss: 0.0968 - accuracy: 0.9778 - val_loss: 0.3153 - val_accuracy: 0.9327 - lr: 0.0100\n", + "Epoch 65/66\n", + "256/256 [==============================] - 53s 206ms/step - loss: 0.0629 - accuracy: 0.9836 - val_loss: 0.2493 - val_accuracy: 0.9215 - lr: 0.0100\n", + "Epoch 66/66\n", + "256/256 [==============================] - 54s 209ms/step - loss: 0.0645 - accuracy: 0.9851 - val_loss: 0.1880 - val_accuracy: 0.9391 - lr: 0.0100\n", + "\u001b[0;32mSubset training done.\u001b[0m\n", + "\u001b[0;33mLoading the best weights...\u001b[0m\n", + "\u001b[0;33mLoading weights from file cache\\model_SUB_checkpoint-066-0.9391.h5...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test acc: \u001b[0m\u001b[0;32m0.9391\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test loss: \u001b[0m\u001b[0;32m0.1879\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;91mModel accuracy did not improve from 0.9423077106. Not saving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mImproved model loss from \u001b[0m\u001b[0;32m0.2086250037 \u001b[0m\u001b[0;33mto \u001b[0m\u001b[0;32m0.1879463345\u001b[0m\u001b[0;33m. \u001b[0m\u001b[0;96mSaving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;36mSaving full model H5 format...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;32m(GPU-MEM)\u001b[0m\u001b[0;36m----[free: 5.15GB, used: 18.85GB, total, 24.00GB]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(FULL): \u001b[0m\u001b[0;32m411.45 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(SUBo): \u001b[0m\u001b[0;32m329.24 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(OTHERo): \u001b[0m\u001b[0;32m82.21 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0;36m<---------------------------------------|Epoch [11] END|--------------------------------------->\u001b[0m\n", + "\u001b[0m\n", + "\u001b[0m\u001b[0mEpoch: \u001b[0m\u001b[0;36m12\u001b[0m\u001b[0m/\u001b[0m\u001b[0;32m489 (TSEC: 66)\u001b[0m\u001b[0;34m | \u001b[0m\u001b[0;32m[Learning the patterns]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTaking a subset of \u001b[0m\u001b[0;32m[|4096|AdvSubset:True]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;33mPreparing train data...\u001b[0m\n", + "\u001b[0;33m- Augmenting Image Data...\u001b[0m\n", + "\u001b[0;33m- Normalizing Image Data...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mSetting training subset epoch.c to \u001b[0m\u001b[0;32m[6]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;32mTraining on subset...\u001b[0m\n", + "Epoch 67/72\n", + "256/256 [==============================] - 76s 251ms/step - loss: 0.2183 - accuracy: 0.9319 - val_loss: 0.2818 - val_accuracy: 0.9391 - lr: 0.0100\n", + "Epoch 68/72\n", + "256/256 [==============================] - 62s 241ms/step - loss: 0.1548 - accuracy: 0.9556 - val_loss: 0.1632 - val_accuracy: 0.9359 - lr: 0.0100\n", + "Epoch 69/72\n", + "256/256 [==============================] - 61s 238ms/step - loss: 0.1195 - accuracy: 0.9700 - val_loss: 0.3300 - val_accuracy: 0.8862 - lr: 0.0100\n", + "Epoch 70/72\n", + "256/256 [==============================] - 61s 239ms/step - loss: 0.0721 - accuracy: 0.9839 - val_loss: 0.2902 - val_accuracy: 0.9359 - lr: 0.0100\n", + "Epoch 71/72\n", + "256/256 [==============================] - 61s 239ms/step - loss: 0.0623 - accuracy: 0.9858 - val_loss: 0.2715 - val_accuracy: 0.9263 - lr: 0.0100\n", + "Epoch 72/72\n", + "256/256 [==============================] - 62s 243ms/step - loss: 0.0523 - accuracy: 0.9883 - val_loss: 0.2548 - val_accuracy: 0.9327 - lr: 0.0100\n", + "\u001b[0;32mSubset training done.\u001b[0m\n", + "\u001b[0;33mLoading the best weights...\u001b[0m\n", + "\u001b[0;33mLoading weights from file cache\\model_SUB_checkpoint-067-0.9391.h5...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test acc: \u001b[0m\u001b[0;32m0.9391\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test loss: \u001b[0m\u001b[0;32m0.2817\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;91mModel accuracy did not improve from 0.9423077106. Not saving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;91mModel loss did not improve from 0.1879463345. Not saving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;32m(GPU-MEM)\u001b[0m\u001b[0;36m----[free: 5.15GB, used: 18.85GB, total, 24.00GB]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(FULL): \u001b[0m\u001b[0;32m498.81 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(SUBo): \u001b[0m\u001b[0;32m385.01 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(OTHERo): \u001b[0m\u001b[0;32m113.80 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0;36m<---------------------------------------|Epoch [12] END|--------------------------------------->\u001b[0m\n", + "\u001b[0m\n", + "\u001b[0m\u001b[0mEpoch: \u001b[0m\u001b[0;36m13\u001b[0m\u001b[0m/\u001b[0m\u001b[0;32m489 (TSEC: 72)\u001b[0m\u001b[0;34m | \u001b[0m\u001b[0;32m[Learning the patterns]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTaking a subset of \u001b[0m\u001b[0;32m[|4096|AdvSubset:True]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;33mPreparing train data...\u001b[0m\n", + "\u001b[0;33m- Augmenting Image Data...\u001b[0m\n", + "\u001b[0;33m- Normalizing Image Data...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mSetting training subset epoch.c to \u001b[0m\u001b[0;32m[6]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;32mTraining on subset...\u001b[0m\n", + "Epoch 73/78\n", + "256/256 [==============================] - 76s 252ms/step - loss: 0.2010 - accuracy: 0.9395 - val_loss: 0.1900 - val_accuracy: 0.9407 - lr: 0.0100\n", + "Epoch 74/78\n", + "256/256 [==============================] - 63s 243ms/step - loss: 0.1616 - accuracy: 0.9507 - val_loss: 0.3435 - val_accuracy: 0.8974 - lr: 0.0100\n", + "Epoch 75/78\n", + "256/256 [==============================] - 62s 240ms/step - loss: 0.1297 - accuracy: 0.9639 - val_loss: 0.3683 - val_accuracy: 0.8894 - lr: 0.0100\n", + "Epoch 76/78\n", + "256/256 [==============================] - 62s 242ms/step - loss: 0.0977 - accuracy: 0.9727 - val_loss: 0.2612 - val_accuracy: 0.9343 - lr: 0.0100\n", + "Epoch 77/78\n", + "256/256 [==============================] - 62s 240ms/step - loss: 0.0644 - accuracy: 0.9812 - val_loss: 0.5125 - val_accuracy: 0.8878 - lr: 0.0100\n", + "Epoch 78/78\n", + "256/256 [==============================] - 62s 243ms/step - loss: 0.0607 - accuracy: 0.9844 - val_loss: 0.3085 - val_accuracy: 0.9295 - lr: 0.0100\n", + "\u001b[0;32mSubset training done.\u001b[0m\n", + "\u001b[0;33mLoading the best weights...\u001b[0m\n", + "\u001b[0;33mLoading weights from file cache\\model_SUB_checkpoint-073-0.9407.h5...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test acc: \u001b[0m\u001b[0;32m0.9407\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test loss: \u001b[0m\u001b[0;32m0.1900\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;91mModel accuracy did not improve from 0.9423077106. Not saving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;91mModel loss did not improve from 0.1879463345. Not saving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;32m(GPU-MEM)\u001b[0m\u001b[0;36m----[free: 5.15GB, used: 18.85GB, total, 24.00GB]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(FULL): \u001b[0m\u001b[0;32m507.39 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(SUBo): \u001b[0m\u001b[0;32m387.07 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(OTHERo): \u001b[0m\u001b[0;32m120.32 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0;36m<---------------------------------------|Epoch [13] END|--------------------------------------->\u001b[0m\n", + "\u001b[0m\n", + "\u001b[0m\u001b[0mEpoch: \u001b[0m\u001b[0;36m14\u001b[0m\u001b[0m/\u001b[0m\u001b[0;32m489 (TSEC: 78)\u001b[0m\u001b[0;34m | \u001b[0m\u001b[0;32m[Learning the patterns]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTaking a subset of \u001b[0m\u001b[0;32m[|4096|AdvSubset:True]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;33mPreparing train data...\u001b[0m\n", + "\u001b[0;33m- Augmenting Image Data...\u001b[0m\n", + "\u001b[0;33m- Normalizing Image Data...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mSetting training subset epoch.c to \u001b[0m\u001b[0;32m[6]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;32mTraining on subset...\u001b[0m\n", + "Epoch 79/84\n", + "256/256 [==============================] - 75s 252ms/step - loss: 0.2236 - accuracy: 0.9336 - val_loss: 0.1998 - val_accuracy: 0.9247 - lr: 0.0100\n", + "Epoch 80/84\n", + "256/256 [==============================] - ETA: 0s - loss: 0.1527 - accuracy: 0.9507\n", + "Epoch 80: ReduceLROnPlateau reducing learning rate to 0.007999999821186066.\n", + "256/256 [==============================] - 62s 240ms/step - loss: 0.1527 - accuracy: 0.9507 - val_loss: 0.3333 - val_accuracy: 0.8814 - lr: 0.0100\n", + "Epoch 81/84\n", + "256/256 [==============================] - 62s 240ms/step - loss: 0.1094 - accuracy: 0.9680 - val_loss: 0.2392 - val_accuracy: 0.9103 - lr: 0.0080\n", + "Epoch 82/84\n", + "256/256 [==============================] - 63s 246ms/step - loss: 0.0869 - accuracy: 0.9768 - val_loss: 0.1866 - val_accuracy: 0.9471 - lr: 0.0080\n", + "Epoch 83/84\n", + "256/256 [==============================] - 61s 236ms/step - loss: 0.0570 - accuracy: 0.9861 - val_loss: 0.3123 - val_accuracy: 0.9343 - lr: 0.0080\n", + "Epoch 84/84\n", + "256/256 [==============================] - 63s 244ms/step - loss: 0.0551 - accuracy: 0.9856 - val_loss: 0.2779 - val_accuracy: 0.9423 - lr: 0.0080\n", + "\u001b[0;32mSubset training done.\u001b[0m\n", + "\u001b[0;33mLoading the best weights...\u001b[0m\n", + "\u001b[0;33mLoading weights from file cache\\model_SUB_checkpoint-082-0.9471.h5...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test acc: \u001b[0m\u001b[0;32m0.9471\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test loss: \u001b[0m\u001b[0;32m0.1866\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mImproved model accuracy from \u001b[0m\u001b[0;32m 0.942308 \u001b[0m\u001b[0;33mto \u001b[0m\u001b[0;32m 0.947115\u001b[0m\u001b[0;33m. \u001b[0m\u001b[0;96mSaving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;36mSaving full model H5 format...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mImproved model loss from \u001b[0m\u001b[0;32m0.1879463345 \u001b[0m\u001b[0;33mto \u001b[0m\u001b[0;32m0.1866419166\u001b[0m\u001b[0;33m. \u001b[0m\u001b[0;96mSaving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;36mSaving full model H5 format...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;32m(GPU-MEM)\u001b[0m\u001b[0;36m----[free: 5.16GB, used: 18.84GB, total, 24.00GB]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(FULL): \u001b[0m\u001b[0;32m516.52 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(SUBo): \u001b[0m\u001b[0;32m386.35 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(OTHERo): \u001b[0m\u001b[0;32m130.17 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0;36m<---------------------------------------|Epoch [14] END|--------------------------------------->\u001b[0m\n", + "\u001b[0m\n", + "\u001b[0m\u001b[0mEpoch: \u001b[0m\u001b[0;36m15\u001b[0m\u001b[0m/\u001b[0m\u001b[0;32m489 (TSEC: 84)\u001b[0m\u001b[0;34m | \u001b[0m\u001b[0;32m[Learning the patterns]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTaking a subset of \u001b[0m\u001b[0;32m[|4096|AdvSubset:True]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;33mPreparing train data...\u001b[0m\n", + "\u001b[0;33m- Augmenting Image Data...\u001b[0m\n", + "\u001b[0;33m- Normalizing Image Data...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mSetting training subset epoch.c to \u001b[0m\u001b[0;32m[6]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;32mTraining on subset...\u001b[0m\n", + "Epoch 85/90\n", + "256/256 [==============================] - 76s 252ms/step - loss: 0.1981 - accuracy: 0.9370 - val_loss: 0.1788 - val_accuracy: 0.9407 - lr: 0.0080\n", + "Epoch 86/90\n", + "256/256 [==============================] - 63s 245ms/step - loss: 0.1321 - accuracy: 0.9641 - val_loss: 0.2799 - val_accuracy: 0.9119 - lr: 0.0080\n", + "Epoch 87/90\n", + "256/256 [==============================] - 62s 243ms/step - loss: 0.1001 - accuracy: 0.9700 - val_loss: 0.2444 - val_accuracy: 0.9295 - lr: 0.0080\n", + "Epoch 88/90\n", + "256/256 [==============================] - 62s 243ms/step - loss: 0.0655 - accuracy: 0.9805 - val_loss: 0.2372 - val_accuracy: 0.9311 - lr: 0.0080\n", + "Epoch 89/90\n", + "256/256 [==============================] - 64s 249ms/step - loss: 0.0549 - accuracy: 0.9856 - val_loss: 0.2542 - val_accuracy: 0.9423 - lr: 0.0080\n", + "Epoch 90/90\n", + "256/256 [==============================] - 64s 247ms/step - loss: 0.0418 - accuracy: 0.9902 - val_loss: 0.2532 - val_accuracy: 0.9471 - lr: 0.0080\n", + "\u001b[0;32mSubset training done.\u001b[0m\n", + "\u001b[0;33mLoading the best weights...\u001b[0m\n", + "\u001b[0;33mLoading weights from file cache\\model_SUB_checkpoint-090-0.9471.h5...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test acc: \u001b[0m\u001b[0;32m0.9471\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test loss: \u001b[0m\u001b[0;32m0.2531\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;91mModel accuracy did not improve from 0.9471153617. Not saving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;91mModel loss did not improve from 0.1866419166. Not saving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;32m(GPU-MEM)\u001b[0m\u001b[0;36m----[free: 5.14GB, used: 18.86GB, total, 24.00GB]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(FULL): \u001b[0m\u001b[0;32m524.30 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(SUBo): \u001b[0m\u001b[0;32m392.24 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(OTHERo): \u001b[0m\u001b[0;32m132.06 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0;36m<---------------------------------------|Epoch [15] END|--------------------------------------->\u001b[0m\n", + "\u001b[0m\n", + "\u001b[0m\u001b[0mEpoch: \u001b[0m\u001b[0;36m16\u001b[0m\u001b[0m/\u001b[0m\u001b[0;32m489 (TSEC: 90)\u001b[0m\u001b[0;34m | \u001b[0m\u001b[0;32m[Learning the patterns]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTaking a subset of \u001b[0m\u001b[0;32m[|4096|AdvSubset:True]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;33mPreparing train data...\u001b[0m\n", + "\u001b[0;33m- Augmenting Image Data...\u001b[0m\n", + "\u001b[0;33m- Normalizing Image Data...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mSetting training subset epoch.c to \u001b[0m\u001b[0;32m[6]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;32mTraining on subset...\u001b[0m\n", + "Epoch 91/96\n", + "256/256 [==============================] - 76s 253ms/step - loss: 0.2177 - accuracy: 0.9324 - val_loss: 0.3818 - val_accuracy: 0.8397 - lr: 0.0080\n", + "Epoch 92/96\n", + "256/256 [==============================] - 64s 248ms/step - loss: 0.1450 - accuracy: 0.9551 - val_loss: 0.2471 - val_accuracy: 0.9375 - lr: 0.0080\n", + "Epoch 93/96\n", + "256/256 [==============================] - 63s 246ms/step - loss: 0.1087 - accuracy: 0.9688 - val_loss: 0.2419 - val_accuracy: 0.9359 - lr: 0.0080\n", + "Epoch 94/96\n", + "256/256 [==============================] - 65s 252ms/step - loss: 0.0798 - accuracy: 0.9812 - val_loss: 0.2352 - val_accuracy: 0.9487 - lr: 0.0080\n", + "Epoch 95/96\n", + "256/256 [==============================] - 64s 249ms/step - loss: 0.0559 - accuracy: 0.9854 - val_loss: 0.3252 - val_accuracy: 0.9375 - lr: 0.0080\n", + "Epoch 96/96\n", + "256/256 [==============================] - 64s 247ms/step - loss: 0.0377 - accuracy: 0.9902 - val_loss: 0.3021 - val_accuracy: 0.9439 - lr: 0.0080\n", + "\u001b[0;32mSubset training done.\u001b[0m\n", + "\u001b[0;33mLoading the best weights...\u001b[0m\n", + "\u001b[0;33mLoading weights from file cache\\model_SUB_checkpoint-094-0.9487.h5...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test acc: \u001b[0m\u001b[0;32m0.9471\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test loss: \u001b[0m\u001b[0;32m0.2352\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;91mModel accuracy did not improve from 0.9471153617. Not saving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;91mModel loss did not improve from 0.1866419166. Not saving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;32m(GPU-MEM)\u001b[0m\u001b[0;36m----[free: 5.16GB, used: 18.84GB, total, 24.00GB]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(FULL): \u001b[0m\u001b[0;32m530.90 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(SUBo): \u001b[0m\u001b[0;32m395.79 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(OTHERo): \u001b[0m\u001b[0;32m135.11 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0;36m<---------------------------------------|Epoch [16] END|--------------------------------------->\u001b[0m\n", + "\u001b[0m\n", + "\u001b[0m\u001b[0mEpoch: \u001b[0m\u001b[0;36m17\u001b[0m\u001b[0m/\u001b[0m\u001b[0;32m489 (TSEC: 96)\u001b[0m\u001b[0;34m | \u001b[0m\u001b[0;32m[Learning the patterns]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTaking a subset of \u001b[0m\u001b[0;32m[|4096|AdvSubset:True]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;33mPreparing train data...\u001b[0m\n", + "\u001b[0;33m- Augmenting Image Data...\u001b[0m\n", + "\u001b[0;33m- Normalizing Image Data...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mSetting training subset epoch.c to \u001b[0m\u001b[0;32m[6]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;32mTraining on subset...\u001b[0m\n", + "Epoch 97/102\n", + "256/256 [==============================] - 75s 251ms/step - loss: 0.1915 - accuracy: 0.9412 - val_loss: 0.1689 - val_accuracy: 0.9439 - lr: 0.0080\n", + "Epoch 98/102\n", + "256/256 [==============================] - 64s 247ms/step - loss: 0.1320 - accuracy: 0.9631 - val_loss: 0.2158 - val_accuracy: 0.9455 - lr: 0.0080\n", + "Epoch 99/102\n", + "256/256 [==============================] - 64s 250ms/step - loss: 0.0982 - accuracy: 0.9741 - val_loss: 0.2063 - val_accuracy: 0.9487 - lr: 0.0080\n", + "Epoch 100/102\n", + "256/256 [==============================] - 63s 247ms/step - loss: 0.0678 - accuracy: 0.9810 - val_loss: 0.2275 - val_accuracy: 0.9327 - lr: 0.0080\n", + "Epoch 101/102\n", + "256/256 [==============================] - 56s 219ms/step - loss: 0.0564 - accuracy: 0.9836 - val_loss: 0.3158 - val_accuracy: 0.9407 - lr: 0.0080\n", + "Epoch 102/102\n", + "256/256 [==============================] - 54s 209ms/step - loss: 0.0466 - accuracy: 0.9885 - val_loss: 0.2824 - val_accuracy: 0.9343 - lr: 0.0080\n", + "\u001b[0;32mSubset training done.\u001b[0m\n", + "\u001b[0;33mLoading the best weights...\u001b[0m\n", + "\u001b[0;33mLoading weights from file cache\\model_SUB_checkpoint-099-0.9487.h5...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test acc: \u001b[0m\u001b[0;32m0.9487\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test loss: \u001b[0m\u001b[0;32m0.2062\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mImproved model accuracy from \u001b[0m\u001b[0;32m 0.947115 \u001b[0m\u001b[0;33mto \u001b[0m\u001b[0;32m 0.948718\u001b[0m\u001b[0;33m. \u001b[0m\u001b[0;96mSaving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;36mSaving full model H5 format...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;91mModel loss did not improve from 0.1866419166. Not saving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;32m(GPU-MEM)\u001b[0m\u001b[0;36m----[free: 5.16GB, used: 18.84GB, total, 24.00GB]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(FULL): \u001b[0m\u001b[0;32m512.11 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(SUBo): \u001b[0m\u001b[0;32m376.74 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(OTHERo): \u001b[0m\u001b[0;32m135.37 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0;36m<---------------------------------------|Epoch [17] END|--------------------------------------->\u001b[0m\n", + "\u001b[0m\n", + "\u001b[0m\u001b[0mEpoch: \u001b[0m\u001b[0;36m18\u001b[0m\u001b[0m/\u001b[0m\u001b[0;32m489 (TSEC: 102)\u001b[0m\u001b[0;34m | \u001b[0m\u001b[0;32m[Learning the patterns]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTaking a subset of \u001b[0m\u001b[0;32m[|4096|AdvSubset:True]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;33mPreparing train data...\u001b[0m\n", + "\u001b[0;33m- Augmenting Image Data...\u001b[0m\n", + "\u001b[0;33m- Normalizing Image Data...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mSetting training subset epoch.c to \u001b[0m\u001b[0;32m[6]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;32mTraining on subset...\u001b[0m\n", + "Epoch 103/108\n", + "256/256 [==============================] - 64s 216ms/step - loss: 0.2008 - accuracy: 0.9346 - val_loss: 0.2139 - val_accuracy: 0.9503 - lr: 0.0080\n", + "Epoch 104/108\n", + "256/256 [==============================] - 54s 208ms/step - loss: 0.1433 - accuracy: 0.9600 - val_loss: 0.2912 - val_accuracy: 0.9054 - lr: 0.0080\n", + "Epoch 105/108\n", + "256/256 [==============================] - 54s 209ms/step - loss: 0.1129 - accuracy: 0.9695 - val_loss: 0.1858 - val_accuracy: 0.9439 - lr: 0.0080\n", + "Epoch 106/108\n", + "256/256 [==============================] - 54s 208ms/step - loss: 0.0842 - accuracy: 0.9768 - val_loss: 0.2668 - val_accuracy: 0.9151 - lr: 0.0080\n", + "Epoch 107/108\n", + "256/256 [==============================] - 54s 208ms/step - loss: 0.0577 - accuracy: 0.9863 - val_loss: 0.2159 - val_accuracy: 0.9407 - lr: 0.0080\n", + "Epoch 108/108\n", + "256/256 [==============================] - 54s 209ms/step - loss: 0.0493 - accuracy: 0.9873 - val_loss: 0.2527 - val_accuracy: 0.9423 - lr: 0.0080\n", + "\u001b[0;32mSubset training done.\u001b[0m\n", + "\u001b[0;33mLoading the best weights...\u001b[0m\n", + "\u001b[0;33mLoading weights from file cache\\model_SUB_checkpoint-103-0.9503.h5...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test acc: \u001b[0m\u001b[0;32m0.9503\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test loss: \u001b[0m\u001b[0;32m0.2139\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mImproved model accuracy from \u001b[0m\u001b[0;32m 0.948718 \u001b[0m\u001b[0;33mto \u001b[0m\u001b[0;32m 0.950321\u001b[0m\u001b[0;33m. \u001b[0m\u001b[0;96mSaving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;36mSaving full model H5 format...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;91mModel loss did not improve from 0.1866419166. Not saving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;32m(GPU-MEM)\u001b[0m\u001b[0;36m----[free: 5.16GB, used: 18.84GB, total, 24.00GB]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(FULL): \u001b[0m\u001b[0;32m431.91 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(SUBo): \u001b[0m\u001b[0;32m332.66 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(OTHERo): \u001b[0m\u001b[0;32m99.25 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0;36m<---------------------------------------|Epoch [18] END|--------------------------------------->\u001b[0m\n", + "\u001b[0m\n", + "\u001b[0m\u001b[0mEpoch: \u001b[0m\u001b[0;36m19\u001b[0m\u001b[0m/\u001b[0m\u001b[0;32m489 (TSEC: 108)\u001b[0m\u001b[0;34m | \u001b[0m\u001b[0;32m[Learning the patterns]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTaking a subset of \u001b[0m\u001b[0;32m[|4096|AdvSubset:True]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;33mPreparing train data...\u001b[0m\n", + "\u001b[0;33m- Augmenting Image Data...\u001b[0m\n", + "\u001b[0;33m- Normalizing Image Data...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mSetting training subset epoch.c to \u001b[0m\u001b[0;32m[6]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;32mTraining on subset...\u001b[0m\n", + "Epoch 109/114\n", + "256/256 [==============================] - 64s 218ms/step - loss: 0.1910 - accuracy: 0.9399 - val_loss: 0.1899 - val_accuracy: 0.9455 - lr: 0.0080\n", + "Epoch 110/114\n", + "256/256 [==============================] - 55s 213ms/step - loss: 0.1554 - accuracy: 0.9568 - val_loss: 0.1500 - val_accuracy: 0.9535 - lr: 0.0080\n", + "Epoch 111/114\n", + "256/256 [==============================] - 54s 211ms/step - loss: 0.0971 - accuracy: 0.9751 - val_loss: 0.1827 - val_accuracy: 0.9423 - lr: 0.0080\n", + "Epoch 112/114\n", + "256/256 [==============================] - 54s 210ms/step - loss: 0.0723 - accuracy: 0.9785 - val_loss: 0.1842 - val_accuracy: 0.9455 - lr: 0.0080\n", + "Epoch 113/114\n", + "256/256 [==============================] - 54s 210ms/step - loss: 0.0513 - accuracy: 0.9863 - val_loss: 0.1958 - val_accuracy: 0.9439 - lr: 0.0080\n", + "Epoch 114/114\n", + "256/256 [==============================] - 54s 211ms/step - loss: 0.0507 - accuracy: 0.9873 - val_loss: 0.2487 - val_accuracy: 0.9423 - lr: 0.0080\n", + "\u001b[0;32mSubset training done.\u001b[0m\n", + "\u001b[0;33mLoading the best weights...\u001b[0m\n", + "\u001b[0;33mLoading weights from file cache\\model_SUB_checkpoint-110-0.9535.h5...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test acc: \u001b[0m\u001b[0;32m0.9535\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test loss: \u001b[0m\u001b[0;32m0.1500\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mImproved model accuracy from \u001b[0m\u001b[0;32m 0.950321 \u001b[0m\u001b[0;33mto \u001b[0m\u001b[0;32m 0.953526\u001b[0m\u001b[0;33m. \u001b[0m\u001b[0;96mSaving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;36mSaving full model H5 format...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mImproved model loss from \u001b[0m\u001b[0;32m0.1866419166 \u001b[0m\u001b[0;33mto \u001b[0m\u001b[0;32m0.1500305533\u001b[0m\u001b[0;33m. \u001b[0m\u001b[0;96mSaving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;36mSaving full model H5 format...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;32m(GPU-MEM)\u001b[0m\u001b[0;36m----[free: 5.16GB, used: 18.84GB, total, 24.00GB]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(FULL): \u001b[0m\u001b[0;32m440.61 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(SUBo): \u001b[0m\u001b[0;32m336.41 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(OTHERo): \u001b[0m\u001b[0;32m104.19 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0;36m<---------------------------------------|Epoch [19] END|--------------------------------------->\u001b[0m\n", + "\u001b[0m\n", + "\u001b[0m\u001b[0mEpoch: \u001b[0m\u001b[0;36m20\u001b[0m\u001b[0m/\u001b[0m\u001b[0;32m489 (TSEC: 114)\u001b[0m\u001b[0;34m | \u001b[0m\u001b[0;32m[Learning the patterns]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTaking a subset of \u001b[0m\u001b[0;32m[|4096|AdvSubset:True]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;33mPreparing train data...\u001b[0m\n", + "\u001b[0;33m- Augmenting Image Data...\u001b[0m\n", + "\u001b[0;33m- Normalizing Image Data...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mSetting training subset epoch.c to \u001b[0m\u001b[0;32m[6]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;32mTraining on subset...\u001b[0m\n", + "Epoch 115/120\n", + "256/256 [==============================] - 66s 224ms/step - loss: 0.1680 - accuracy: 0.9451 - val_loss: 0.1517 - val_accuracy: 0.9615 - lr: 0.0080\n", + "Epoch 116/120\n", + "256/256 [==============================] - 56s 217ms/step - loss: 0.1268 - accuracy: 0.9617 - val_loss: 0.1488 - val_accuracy: 0.9551 - lr: 0.0080\n", + "Epoch 117/120\n", + "256/256 [==============================] - 56s 217ms/step - loss: 0.0910 - accuracy: 0.9753 - val_loss: 0.1827 - val_accuracy: 0.9551 - lr: 0.0080\n", + "Epoch 118/120\n", + "256/256 [==============================] - 55s 216ms/step - loss: 0.0695 - accuracy: 0.9819 - val_loss: 0.1697 - val_accuracy: 0.9615 - lr: 0.0080\n", + "Epoch 119/120\n", + "256/256 [==============================] - 56s 217ms/step - loss: 0.0531 - accuracy: 0.9861 - val_loss: 0.2525 - val_accuracy: 0.9519 - lr: 0.0080\n", + "Epoch 120/120\n", + "256/256 [==============================] - 57s 220ms/step - loss: 0.0444 - accuracy: 0.9897 - val_loss: 0.1818 - val_accuracy: 0.9631 - lr: 0.0080\n", + "\u001b[0;32mSubset training done.\u001b[0m\n", + "\u001b[0;33mLoading the best weights...\u001b[0m\n", + "\u001b[0;33mLoading weights from file cache\\model_SUB_checkpoint-120-0.9631.h5...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test acc: \u001b[0m\u001b[0;32m0.9631\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mModel Test loss: \u001b[0m\u001b[0;32m0.1817\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mImproved model accuracy from \u001b[0m\u001b[0;32m 0.953526 \u001b[0m\u001b[0;33mto \u001b[0m\u001b[0;32m 0.963141\u001b[0m\u001b[0;33m. \u001b[0m\u001b[0;96mSaving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;36mSaving full model H5 format...\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;91mModel loss did not improve from 0.1500305533. Not saving model.\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;32m(GPU-MEM)\u001b[0m\u001b[0;36m----[free: 5.16GB, used: 18.84GB, total, 24.00GB]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(FULL): \u001b[0m\u001b[0;32m452.17 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(SUBo): \u001b[0m\u001b[0;32m346.20 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTime taken for epoch(OTHERo): \u001b[0m\u001b[0;32m105.97 \u001b[0m\u001b[0;36msec\u001b[0m\n", + "\u001b[0;36m<---------------------------------------|Epoch [20] END|--------------------------------------->\u001b[0m\n", + "\u001b[0m\n", + "\u001b[0m\u001b[0mEpoch: \u001b[0m\u001b[0;36m21\u001b[0m\u001b[0m/\u001b[0m\u001b[0;32m489 (TSEC: 120)\u001b[0m\u001b[0;34m | \u001b[0m\u001b[0;32m[Learning the patterns]\u001b[0m\n", + "\u001b[0m\u001b[0m\u001b[0;33mTaking a subset of \u001b[0m\u001b[0;32m[|4096|AdvSubset:True]\u001b[0m\u001b[0;33m...\u001b[0m\n", + "\u001b[0;33mPreparing train data...\u001b[0m\n", + "\u001b[0;33m- Augmenting Image Data...\u001b[0m\n" + ] + }, + { + "ename": "", + "evalue": "", + "output_type": "error", + "traceback": [ + "\u001b[1;31mThe Kernel crashed while executing code in the current cell or a previous cell. \n", + "\u001b[1;31mPlease review the code in the cell(s) to identify a possible cause of the failure. \n", + "\u001b[1;31mClick here for more info. \n", + "\u001b[1;31mView Jupyter log for further details." ] } ], @@ -8606,7 +9179,8 @@ " print_Color_V2(f'Model loss did not improve from {best_loss:.10f}. Not saving model.') \n", " # Garbage Collection (memory)\n", " gc.collect()\n", - " tf.keras.backend.clear_session() \n", + " tf.keras.backend.clear_session() \n", + " GPU_memUsage()\n", " # Epoch end\n", " end_time = time.time()\n", " epoch_time = end_time - start_FULL_time\n", @@ -8858,45 +9432,23 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 9, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "(GPU)----[free: 22.77GB, used: 1.23GB, total, 24.00GB]\n", - "Realising all memory...\n", - "(GPU)----[free: 22.77GB, used: 1.23GB, total, 24.00GB]\n", - "done.\n" + "ename": "NameError", + "evalue": "name 'GPU_memUsage' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[1;32mIn[9], line 4\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mnumba\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m cuda\n\u001b[0;32m 3\u001b[0m device \u001b[38;5;241m=\u001b[39m cuda\u001b[38;5;241m.\u001b[39mget_current_device()\n\u001b[1;32m----> 4\u001b[0m \u001b[43mGPU_memUsage\u001b[49m()\n\u001b[0;32m 5\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mRealising all memory...\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[0;32m 6\u001b[0m device\u001b[38;5;241m.\u001b[39mreset()\n", + "\u001b[1;31mNameError\u001b[0m: name 'GPU_memUsage' is not defined" ] } ], "source": [ "from numba import cuda\n", - " \n", - "def GPU_memUsage(Print=True):\n", - " \"\"\"Prints GPU memory usage for each GPU.\n", - "\n", - " Args:\n", - " Print (bool): Whether to print the memory usage. \n", - " If True, prints the memory usage. \n", - " If False, returns the free and total memory as a tuple.\n", - "\n", - " Returns:\n", - " If Print is False, returns a tuple (free, total) with the free \n", - " and total memory in bytes for the GPU.\n", - " \"\"\"\n", - " gpus = cuda.gpus.lst\n", - " for gpu in gpus:\n", - " with gpu:\n", - " meminfo = cuda.current_context().get_memory_info()\n", - " if Print:\n", - " print(\n", - " f'(GPU)--{gpu}--[free: {meminfo.free / (1024 ** 3):.2f}GB, used: {meminfo.total / (1024 ** 3) - meminfo.free / (1024 ** 3):.2f}GB, total, {meminfo.total / (1024 ** 3):.2f}GB]'\n", - " )\n", - " else:\n", - " return meminfo.free, meminfo.total\n", " \n", "device = cuda.get_current_device()\n", "GPU_memUsage()\n", diff --git a/Data/image_SUB_generator.pkl b/Data/image_SUB_generator.pkl index 47ba920..5c8d1fe 100644 Binary files a/Data/image_SUB_generator.pkl and b/Data/image_SUB_generator.pkl differ diff --git a/Utils/Other.py b/Utils/Other.py index dd4cdf2..d8e2686 100644 --- a/Utils/Other.py +++ b/Utils/Other.py @@ -2,10 +2,35 @@ from Utils.print_color_V2_NEW import print_Color_V2 from Utils.print_color_V1_OLD import print_Color from tabulate import tabulate +from numba import cuda import numpy as np import pickle import gzip + +def GPU_memUsage(Print=True): + """Prints GPU memory usage for each GPU. + Args: + Print (bool): Whether to print the memory usage. + If True, prints the memory usage. + If False, returns the free and total memory as a tuple. + + Returns: + If Print is False, returns a tuple (free, total) with the free + and total memory in bytes for the GPU. + """ + gpus = cuda.gpus.lst + for gpu in gpus: + with gpu: + meminfo = cuda.current_context().get_memory_info() + if Print: + print_Color( + f'~*(GPU-MEM)~*--{gpu}--[free: {meminfo.free / (1024 ** 3):.2f}GB, used: {meminfo.total / (1024 ** 3) - meminfo.free / (1024 ** 3):.2f}GB, total, {meminfo.total / (1024 ** 3):.2f}GB]', + ['green', 'cyan'], + advanced_mode=True) + else: + return meminfo.free, meminfo.total + def save_list(history, filename, compress=True): """Saves a list to a file. diff --git a/env/Test_ENV3.ipynb b/env/Test_ENV3.ipynb index 4e08b45..6501f1a 100644 --- a/env/Test_ENV3.ipynb +++ b/env/Test_ENV3.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "metadata": {}, "outputs": [ { @@ -108,24 +108,53 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "\u001b[0m\u001b[0m\u001b[0;33mImproved model accuracy from\u001b[0m\u001b[0;32m 0.458953\u001b[0m\u001b[0;33m to \u001b[0m\u001b[0;32m 0.458953\u001b[0m\u001b[0;33m. \u001b[0m\u001b[0;96mSaving model.\u001b[0m\n" + "\u001b[0m\u001b[0m\u001b[0;32m(GPU-MEM)\u001b[0m\u001b[0;36m----[free: 22.77GB, used: 1.23GB, total, 24.00GB]\u001b[0m\n", + "Realising all memory...\n", + "\u001b[0m\u001b[0m\u001b[0;32m(GPU-MEM)\u001b[0m\u001b[0;36m----[free: 22.77GB, used: 1.23GB, total, 24.00GB]\u001b[0m\n", + "done.\n" ] } ], "source": [ - "# Copyright (c) 2024 Aydin Hamedi\n", - "# \n", - "# This software is released under the MIT License.\n", - "# https://opensource.org/licenses/MIT\n", + "from numba import cuda\n", + " \n", + "def GPU_memUsage(Print=True):\n", + " \"\"\"Prints GPU memory usage for each GPU.\n", "\n", - "print_Color_V2(f'Improved model accuracy from{0.4589532546:10f} to {0.4589532546:10f}. Saving model.')" + " Args:\n", + " Print (bool): Whether to print the memory usage. \n", + " If True, prints the memory usage. \n", + " If False, returns the free and total memory as a tuple.\n", + "\n", + " Returns:\n", + " If Print is False, returns a tuple (free, total) with the free \n", + " and total memory in bytes for the GPU.\n", + " \"\"\"\n", + " gpus = cuda.gpus.lst\n", + " for gpu in gpus:\n", + " with gpu:\n", + " meminfo = cuda.current_context().get_memory_info()\n", + " if Print:\n", + " print_Color(\n", + " f'~*(GPU-MEM)~*--{gpu}--[free: {meminfo.free / (1024 ** 3):.2f}GB, used: {meminfo.total / (1024 ** 3) - meminfo.free / (1024 ** 3):.2f}GB, total, {meminfo.total / (1024 ** 3):.2f}GB]',\n", + " ['green', 'cyan'],\n", + " advanced_mode=True)\n", + " else:\n", + " return meminfo.free, meminfo.total\n", + " \n", + "device = cuda.get_current_device()\n", + "GPU_memUsage()\n", + "print('Realising all memory...')\n", + "device.reset()\n", + "GPU_memUsage()\n", + "print('done.')" ] } ],