{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.7.12","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"import tensorflow as tf\nimport os\nimport random\nimport numpy as np\n\nfrom tqdm import tqdm \nfrom zipfile import ZipFile\n\nfrom skimage.io import imread, imshow\nfrom skimage.transform import resize\nimport matplotlib.pyplot as plt","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2022-12-06T07:28:30.18855Z","iopub.execute_input":"2022-12-06T07:28:30.188958Z","iopub.status.idle":"2022-12-06T07:28:37.232273Z","shell.execute_reply.started":"2022-12-06T07:28:30.18885Z","shell.execute_reply":"2022-12-06T07:28:37.23121Z"},"trusted":true},"execution_count":1,"outputs":[]},{"cell_type":"code","source":"with ZipFile(\"../input/data-science-bowl-2018/stage1_train.zip\",\"r\") as zip_ref:\n    zip_ref.extractall(\"./stage1_train\")\n    \nwith ZipFile(\"../input/data-science-bowl-2018/stage1_test.zip\",\"r\") as zip_ref:\n    zip_ref.extractall(\"./stage1_test\")    ","metadata":{"execution":{"iopub.status.busy":"2022-12-06T07:28:37.234244Z","iopub.execute_input":"2022-12-06T07:28:37.235419Z","iopub.status.idle":"2022-12-06T07:28:42.667897Z","shell.execute_reply.started":"2022-12-06T07:28:37.235378Z","shell.execute_reply":"2022-12-06T07:28:42.666905Z"},"trusted":true},"execution_count":2,"outputs":[]},{"cell_type":"code","source":"seed = 42\nnp.random.seed = seed\n\nIMG_WIDTH = 128\nIMG_HEIGHT = 128\nIMG_CHANNELS = 3\n\nTRAIN_PATH = './stage1_train/'\nTEST_PATH = './stage1_test/'","metadata":{"execution":{"iopub.status.busy":"2022-12-06T07:28:42.671365Z","iopub.execute_input":"2022-12-06T07:28:42.671645Z","iopub.status.idle":"2022-12-06T07:28:42.678971Z","shell.execute_reply.started":"2022-12-06T07:28:42.671618Z","shell.execute_reply":"2022-12-06T07:28:42.677881Z"},"trusted":true},"execution_count":3,"outputs":[]},{"cell_type":"code","source":"train_ids = next(os.walk(TRAIN_PATH))[1]\ntest_ids = next(os.walk(TEST_PATH))[1]\n\ntrain_ids[:5]","metadata":{"execution":{"iopub.status.busy":"2022-12-06T07:28:42.683439Z","iopub.execute_input":"2022-12-06T07:28:42.683733Z","iopub.status.idle":"2022-12-06T07:28:42.703858Z","shell.execute_reply.started":"2022-12-06T07:28:42.68371Z","shell.execute_reply":"2022-12-06T07:28:42.702972Z"},"trusted":true},"execution_count":4,"outputs":[{"execution_count":4,"output_type":"execute_result","data":{"text/plain":"['1e488c42eb1a54a3e8412b1f12cde530f950f238d71078f2ede6a85a02168e1f',\n '9cdac2870cfe65b6cb61bd151020068a3b427118a27343767b07ea39483fee32',\n '2a1a294e21d76efd0399e4eb321b45f44f7510911acd92c988480195c5b4c812',\n '718751b439c05bdd589f04fcef321a86be3ecb35292a435138e295e05eb2e771',\n '8f6e49e474ebb649a1e99662243d51a46cc9ba0c9c8f1efe2e2b662a81b48de1']"},"metadata":{}}]},{"cell_type":"code","source":"X_train = np.zeros((len(train_ids), IMG_HEIGHT, IMG_WIDTH, IMG_CHANNELS), dtype=np.uint8)\nY_train = np.zeros((len(train_ids), IMG_HEIGHT, IMG_WIDTH, 1), dtype=np.bool)\nprint(X_train)\n\nprint('Resizing training images and masks')\nfor n, file_name in tqdm(enumerate(train_ids)):   \n    path = TRAIN_PATH + file_name\n    img = imread(path + '/images/' + file_name + '.png')[:,:,:IMG_CHANNELS]  \n    img = resize(img, (IMG_HEIGHT, IMG_WIDTH), mode='constant', preserve_range=True)\n    X_train[n] = img  #Fill empty X_train with values from img\n    mask = np.zeros((IMG_HEIGHT, IMG_WIDTH, 1), dtype=np.bool)\n    for mask_file in next(os.walk(path + '/masks/'))[2]:\n        mask_ = imread(path + '/masks/' + mask_file)\n        mask_ = np.expand_dims(resize(mask_, (IMG_HEIGHT, IMG_WIDTH), mode='constant',  \n                                      preserve_range=True), axis=-1)\n        mask = np.maximum(mask, mask_)  \n            \n    Y_train[n] = mask       ","metadata":{"execution":{"iopub.status.busy":"2022-12-06T07:28:42.70586Z","iopub.execute_input":"2022-12-06T07:28:42.706748Z","iopub.status.idle":"2022-12-06T07:32:55.771502Z","shell.execute_reply.started":"2022-12-06T07:28:42.706713Z","shell.execute_reply":"2022-12-06T07:32:55.770473Z"},"trusted":true},"execution_count":5,"outputs":[{"name":"stderr","text":"/opt/conda/lib/python3.7/site-packages/ipykernel_launcher.py:2: DeprecationWarning: `np.bool` is a deprecated alias for the builtin `bool`. To silence this warning, use `bool` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.bool_` here.\nDeprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations\n  \n","output_type":"stream"},{"name":"stdout","text":"[[[[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]\n\n  [[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]\n\n  [[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]\n\n  ...\n\n  [[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]\n\n  [[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]\n\n  [[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]]\n\n\n [[[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]\n\n  [[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]\n\n  [[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]\n\n  ...\n\n  [[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]\n\n  [[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]\n\n  [[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]]\n\n\n [[[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]\n\n  [[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]\n\n  [[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]\n\n  ...\n\n  [[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]\n\n  [[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]\n\n  [[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]]\n\n\n ...\n\n\n [[[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]\n\n  [[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]\n\n  [[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]\n\n  ...\n\n  [[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]\n\n  [[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]\n\n  [[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]]\n\n\n [[[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]\n\n  [[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]\n\n  [[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]\n\n  ...\n\n  [[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]\n\n  [[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]\n\n  [[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]]\n\n\n [[[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]\n\n  [[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]\n\n  [[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]\n\n  ...\n\n  [[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]\n\n  [[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]\n\n  [[0 0 0]\n   [0 0 0]\n   [0 0 0]\n   ...\n   [0 0 0]\n   [0 0 0]\n   [0 0 0]]]]\nResizing training images and masks\n","output_type":"stream"},{"name":"stderr","text":"0it [00:00, ?it/s]/opt/conda/lib/python3.7/site-packages/ipykernel_launcher.py:11: DeprecationWarning: `np.bool` is a deprecated alias for the builtin `bool`. To silence this warning, use `bool` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.bool_` here.\nDeprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations\n  # This is added back by InteractiveShellApp.init_path()\n670it [04:13,  2.65it/s]\n","output_type":"stream"}]},{"cell_type":"code","source":"# test images\nX_test = np.zeros((len(test_ids), IMG_HEIGHT, IMG_WIDTH, IMG_CHANNELS), dtype=np.uint8)\nsizes_test = []\nprint('Resizing test images') \nfor n, id_ in tqdm(enumerate(test_ids), total=len(test_ids)):\n    path = TEST_PATH + id_\n    img = imread(path + '/images/' + id_ + '.png')[:,:,:IMG_CHANNELS]\n    sizes_test.append([img.shape[0], img.shape[1]])\n    img = resize(img, (IMG_HEIGHT, IMG_WIDTH), mode='constant', preserve_range=True)\n    X_test[n] = img\n\nprint('Done!')","metadata":{"execution":{"iopub.status.busy":"2022-12-06T07:32:55.773176Z","iopub.execute_input":"2022-12-06T07:32:55.773915Z","iopub.status.idle":"2022-12-06T07:32:57.153509Z","shell.execute_reply.started":"2022-12-06T07:32:55.773873Z","shell.execute_reply":"2022-12-06T07:32:57.149277Z"},"trusted":true},"execution_count":6,"outputs":[{"name":"stdout","text":"Resizing test images\n","output_type":"stream"},{"name":"stderr","text":"100%|██████████| 65/65 [00:01<00:00, 47.96it/s]","output_type":"stream"},{"name":"stdout","text":"Done!\n","output_type":"stream"},{"name":"stderr","text":"\n","output_type":"stream"}]},{"cell_type":"code","source":"image_x = random.randint(0, len(train_ids))\nimshow(X_train[image_x])\nplt.show()\nimshow(np.squeeze(Y_train[image_x]))\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2022-12-06T07:32:57.155055Z","iopub.execute_input":"2022-12-06T07:32:57.155467Z","iopub.status.idle":"2022-12-06T07:32:57.753029Z","shell.execute_reply.started":"2022-12-06T07:32:57.155428Z","shell.execute_reply":"2022-12-06T07:32:57.752109Z"},"trusted":true},"execution_count":7,"outputs":[{"output_type":"display_data","data":{"text/plain":"<Figure size 432x288 with 1 Axes>","image/png":"iVBORw0KGgoAAAANSUhEUgAAAR4AAAEYCAYAAACKkJnLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAAsTAAALEwEAmpwYAABGf0lEQVR4nO19a8xlyVXdqvv1c6a7p7une7rb04NnRp4YOVYIYIEtR4rBRNiWgxUJWTaIDOBoFIk3RNgOPyA/kLCCAEchJCMMmMjxA+PElkUgZgJC+WGHMVjGzDBMx55XT0+/prun3/09Kj/uXedW71v71K5z7r3f6Zm9pE/3u+fUqapT59zaq9beVRVijHA4HI5lYrTZFXA4HK88eMfjcDiWDu94HA7H0uEdj8PhWDq843E4HEuHdzwOh2PpWFjHE0J4WwjhiRDCsRDCBxZVjsPhuPUQFhHHE0JYAfD3AP4ZgOcA/CWA98YYH5t7YQ6H45bDohjPdwA4FmP8eozxBoBPAHjXgspyOBy3GLYsKN+7ATybfH8OwHdqiUMIcTQaQWNfFlYWQrgpLb/PEzLvrmyx7/VteUrcqpHp8n6s99HlufOa0rWyDm11mne7t73ftc9+me9EjDFbuUV1PEWEEB4C8NDkf2zfvh0bGxsA0HwS2g/e8pLVvoiWl6m24+jTGdZeU3oJZd0t92CtP8/z+c2j8+/aSadla/WXHc5oNMqmk/ezvr5+0/lc3WT7WjuHUh1XVlYAAHv27MHBgwcBADt37rzpmuvXrwMALl68CAB48cUXbzouf19dYHkea2tr6rlFdTzHAdyTfD86OdYgxvgwgIcBYDQa3Zpm2eFwdMKiOp6/BPBACOE+jDuc9wD4gbYLNjY2VKbTB9LidKWlIQTVGlnLltdp52OMxbK07yWrzTLbrJ5sC+ZZwiKGuV1ZZRsL0VhfqSxrO6Rl1KbT3lN+37VrFwDgta99LY4ePXrTsW3btgEAzp07BwC4dOkSAODxxx8HADz//PMAdCZS89xKbVZqy4V0PDHGtRDCjwP4EwArAH4nxvi3iyjL4XDceliYxhNj/CMAf1SRPvs/YNN2StdosOoWubJq9RSZnhY0d16zrtIibt26FQCwY8cOAFOrx+upR9DKXb16FQCwuroK4Gbm08bAao63QXsutcxG5tfGCGuZs3ZfUtuZh8bIsuS7IK/nJ5/zHXfcgd27dwMA9u7dCwDYsmX8c6YORO3n2WefvamMEsvK6UrMk2Bb8D3id2tbe+Syw+FYOjbNqyVR45qs8cTI731c4laGo12nnZfWLsd2pIZDa8bx/W233QZgyoDk/dEivfTSSwCmOkCf+y9975O3dm3pGUjLnJ7r6i4vMb4+qNXDLl++DAA4depUw374bMl4rl271qQBps9a6nrae0nWnL5b8r26ceMGAODChQsAph60Nk9WCmc8Dodj6RgM46lBTRCVvEZCG9fK8zkvkNUqa1qP1aORHqNV4/heejRo8aX3ikyJzIiWc3193czYiFo2kru2lGdJ8yjFv9TWa17X1cY8WTUrgrE4Tz31VMNet2/fDmDaZmQdZCNMp3kyWQe+Q/v27QMA3H777c1xlsH3i4yH7yPzYFlSD5NwxuNwOJaOQTCeGGMnPSDHeKzMhtaBPblkDAR77hs3bsx4gqwRoLXh/m2Mh/Xj+F6rL8fkhIzjSdtBs061eliXZ2hlWyWNro1lWvMu1VUiVxcraywd18ris7p8+XLDfqQmKNluiX0Q/A1QP+RvY8uWLTO/G75fUmtk7FDpt+GMx+FwLB2DYDyMCu7jJbBaLX5S6zhw4ACAqWbCXp/paFUuXbo0ExHadxJem85R0po4xmZ9ZRwFmRCvI1u7cuXKTenTNNb5Rbn61kLTNuS8KOtcJg1t8TxWBlfDVubNDrWyNzY2mnfAqsGV2lbzeqXnWKaM36mddTCIjkcOtazCYRu11a7l9z179tz0Kd3SpJTseLZu3do0NoPw2Oga7dcmS1peZG1IId3i/C4FRtaVnxSTcwGEtR1oaQhWE+gpj9f+YKVBYUfMocDKyspMsBs/Sx1taYglQQPadl+1w7rSe2C5RkJ7L/mu893iu7Rt27YZQ8a0NGRWUZnwoZbD4Vg6BsF4JErUseRybDsnA6C0JQ/okuRnbhKrxnS6TCXQoFlKBonRepcCB3kfOWrcdZmE2omCXRhqiY3QEpOx3nnnnQCmTHbLli0zrl5OlmQbavdhZR8pNDbRddpGl7SlsA2N6fFdoqTA9skFEJLpkEnz92SdOuGMx+FwLB2DZDwacj13rdhIi0SB+MyZMwCmY1ZqJcyHTOHKlStN714KxLJqHl3EWW15CxmqXhIOc3Wd99QAC/OzMiAtHTW5I0eOAJgynv379wMYu3tTBwEw1blOnjwJYGqltaBFK9p0yhJKQad98iqxMO195Tt1+fLlmQmmbDPJcNLPtro743E4HEvHLcV4LLCG87M3P3/+PICpNaRmIK3f6upqq05iKbuPFdPKKOXd1+XfBmvQZu57X/1LajwMZKMWkS4RwWepBVHKPLXwAkudrG1hRZ9pG9px7R2SLDrHlEptY20rZzwOh2PpuCUYzzy8Q4T09uTiIrTrpMWUecrvVg/NPNhHyTNV04bW+nRJ15X1aW1HvYbMlXE8xPbt25s0p0+fBjD1xMiJs3KaSTpdBsgvnpar4yKRsjKrV7G2zXPxaLXTS9yr5XA4BoeF7CRaXYkQIsfkc8gr+906rpfIeSpqo1Ct8SHp+doIV4lFxhZpZdWkq422lZAaDyfNMn4nneAovVpkMlz2gZ/MQ06uZDwLF7vip6b1pfUrsQ7rO0J2lmqQmvdK8zgRXaKnre9Renx1dRUbGxvZhM54HA7H0nFLaDx9UNJf2ibGlfJaFNrKsVrIUl419zIvTapNl+g65475yEjudG4RnzGP5Ra6AqaeMELG98iod0bv5p6JVQcsgXViXalHpXWVbcO24EJgUpuqZWNt3siuOpIzHofDsXQMivHUWu22tFYNpE9ZpV5+kTE0Wp5d73ue11hiWeYR05ReL/ORKwcA01gfsgeyBqaR8T61C75Z6lnSFGVdyHDuuOMOANOtbEaj0UxcGa/hEi9keGfPngUwjV2zvisWJiePW6O3nfE4HI6lYxCMJ4TZdUz6oqsXZ5GxNvOAtCyLrOcy4pFKDEBLryGnY8gyyAykdqMxHE1H6sKOLd6g9DtZGT/TJXsZdyS9WLyWHj7phZP3paGWxdTAGY/D4Vg6BsF4SpgnG7LOaRoKw9HQtU1ybKUU42TNy1KnWoYjr+sTM0RvFD/lIukyDoaaiIzf0TatS712pe15rJCxQix7NBo1Go5c8L/kqbUynbb0fX8fzngcDsfSMSjGMw9mU7La2tokJSySAbXpUfOOOJ6HN6k2j5zeUntfVivdlh81Gs7ZoseIjEGyCmo5Vm2nJo6nBNaF88zkCoCrq6tN/FEapZ3Wk9da55a11bHEimvvzxmPw+FYOjoznhDCPQB+H8AhABHAwzHGD4cQ9gP4JIB7ATwF4N0xxnOWPLtoDXLOjtxqlZAzjUtr6rRZ5q7RmqV7qDnX12uX5t8nErn2fMnKztsLmR7nM2fEMedwSWirPJbieSyMoQR5H2RfXC+a7GvPnj3N1kxyAz7mIWfbnzp1CsD0NyDr1vY+l36Ttc+tD+NZA/BzMcbXAXgjgB8LIbwOwAcAPBJjfADAI5PvDofD0aAz44kxngBwYvL/xRDC4wDuBvAuAG+ZJPsogD8H8P4uZVh6VTn/hlaAM43lDGPOUH7xxRcB6FZPItUn0mM1WOQM8T5lLaM+QL4Nu+TR97gW96JZfi06uks9S3utadel3ixg/H4zApuRyvxkHmQ8/E6vnNSqukS792X7cxGXQwj3AvhWAF8CcGjSKQHACxgPxXLXPATgoXmU73A4bi307nhCCLsA/CGAn44xviS0kBhCyHaJMcaHATw8ySPmPB5JGWr5kvFwdwFaA9nb0xNAC0LmU9qloQ8WwXRKFscaIdt2rtQG1rlqbbOcNc1nXvpZWxmyLoTVC2TRsKz3YdU3yXh27tw5E3kt45XkNsPW50R0maOWe8Y59Op4QghbMe50PhZj/Mzk8MkQwpEY44kQwhEAp/qUkaLtByxDzAl2NBx68aFQkJNBZG0v6aJE2Fz6rmJkLSw/Hg190nXtcLoMD2qHErWdeS5NrfBeGnrxOzuRS5cuzWxbTRlBLovBDfroXi+1rWVhM0JOP0m3kOZytDl0FpfDuCYfAfB4jPHXklOfA/Dg5P8HAXy2axkOh+PliT6M580AfgjA34QQvjI59m8B/AqAT4UQ3gfgaQDvtmZY6onlsgUhhBkXKXt7gnRTDqXkEgFdrNyQp1V0CU0Y8v1o0IY2fZigzKNmyNlliGspg+D7fObMmYbBkGUwD/4G6Djhpwwhke++1na54ZMcYVDYptSxY8eOpn459PFq/R8AWmu+tWu+Dofj5Y9BTpnQeuLc2JO9OEXiVHzLXctemOPfeSzyVIsuIrpESesouYjnUUYfaFa2tsySIJ4L/NSu1eqoHc+1qZUd1eSZS3f16tWGyWg6pcZsZF1KDC/HeFgmnTpHjx4FAOzatavJQwbxpvApEw6HY+kYDOPpoi/EGG+yAABw8uRJANPgKakLcYwsXY2yHm2es3kxgZoQ9a7syBKo1lUnqa1T6q3rqoXIsmsC8fqyjXkwUqtbXZYpj29sbDTH5Dtcex99mDfDVsh0OPH2+vXrrfk443E4HEvHYBhPCNPlT0vbcKSQvT7HvWQ0Ml3pU8t/kdMKauJD+nqeathVbSxKSbepQa0OVmO1S16cUh5tLKvr+9KFTcvfiaaFltqyD/vkSEN6k1NGloMzHofDsXQMagvjeYyxay1Nzf3XjtfldaX0qXdCeiQ0zMPClvLoy/pyXpFarUOrS0kTsUSBW7WsRbDernm2xQxZy5KMh14oucB8jHFmOVi+n4yeZhwPY4o2NjZw/PhxXL9+PVtJZzwOh2PpGBTjSb4DWGycSy265FPLJNIlOLUFymrLllikVqWVlX6WWKNVc5Pf5xGRbdWPtPQ5FqIxNKuu0lb32t+JFrdD1nLw4EEA021x0pgcajlcTIzzsDSdKcaIy5cvY3193RmPw+EYBgbj1UrRJbqWqPXQdIkrscaQ1HqFcsygKyOtub7LvK62MqT1S2cuy8WpqBnI7XhLS9JqdZHpS+dy91H7rnRhJbV55dJb02qffC7cHvlVr3oVgKleQ+azc+fOxmtFFvTYY48BAC5fvgwgr0m6V8vhcAwKg2I8Xax8Lavok681orerlyTVN6xMrraM3PXWNtLSyblCsp24FtLBgwcba0o9i5aUmoFc1Nw6l66GdfSJWymV2VdPKqVn/rLN02PWeB15nDqrjAfaunVrw0jlVspyXhhR9OC2nnU4HI4FYFCMR0L28jVeLi2as6RjtLEaq1agXVfycKTfS2lK6MLK+nrCNC2B83fuvPPOZm4PjxFcXYBekxdeeAHANBK95O1q05u6zlnS7kuDxavVFzmmI8uynpcrNvAZyA0Srly50qx3xecit8iRcyLb6gk443E4HJuAQTAeGd9RY627epCsZaXpNG8Be3e5/khpXlibxZUWRKv3POOw+mpTMh8Zn7R169bmGOfSMYaEDIheE7kdbxePEs+X2mpebdhm5Ut1sD7PGu+WNmLgcTIbMp7jx48DAM6ePQtgGoU8Go0ajYdMh8+U+h3f09Qr2fY+OeNxOBxLxyAYD1Hb6+eumZcWkrPiMi17fa52KHeuoBWQ2yZTt5Bb4+a8EqU4EA19om2teZXS85P3f+XKlZnnJON3pKaj1Vsr0xLP05d11KCkKXZ9T9PnZmX72nY4rINc2SGds0X2I+dkEXJlz7b1lgFnPA6HYxMwGMbT5n3Q0BZHMS/rlqaTloVRuLQCcp3n3K4YwHT/I24ymLPyXRlcrt4p+nhZrKxDxnbQ+p0+fXrGYsq9oOhZkdqOrEONR7GU1ppnqS6WZ1SrRVqYq7yG7x3fT+poMk5HXiejyJnP3r17G28k33HJeOR6PDdu3HCNx+FwDAuDYTxdtIa29FaGUDPGllGjcv0SWhiCx6W3i99piRitSwZk8cR0Rc7ad41HsrIRajwvvvhiw3DYBnLOltTDNI+gLFOL07Lchzwu0ecZdPW2Ws5rTIeeJs7B4nepIUrNh23OZ0BP4/79+5t3m3nx3SbTIUNt21kixSA6Hk4RsLq85/1jzOWZeznlMblZoHR980HyoUn3slxEiUFauSkTXe+5zw9Rll2avqBdn7pY5caKhBZy31VE7zLsmcd71bUjmUdgqAzY5Kfc1pvvn3zu0pBykuiOHTuad5ifsuOhXMBJo+vr66335EMth8OxdAyC8VhhcZVK1FpEzT0PzNJ5Mh65OSCFNzIaGXSl1UWb5JeWaV3IWyujhrp3RVubW59HrfhP5DYKmHe4gLwuJ/R2ZWrWMmW5KTS3uZQI5HssrycDX1lZadpVutw5dGbQIb/LLXdm6th61uFwOBaAQTEezSq3sZBSHrUirSUQjf/LkHNaATIe6YKU4jOZUDouzpWXux8Jq+tXwsII5glt66JcvXLo4sKeR5iGFW1LgfbJ2/IbkAGbMkBVishyAXepBZG9nD9/vmHvLIPvPBkQP9OyXeNxOByDQm/GE0JYAfAogOMxxneGEO4D8AkAdwL4MoAfijHeKORRxWJqwuBlOplnqUzt+jSN3B5ZfqflkNsq09LI7ZRTLaQ2qK1POq2daxnRIkIB5slaFuEVJWoZaa02afmdUJvhe0bmrXmztDLSQMR0iQxg1pOrbaOsYR6M56cAPJ58/xCAX48xvgbAOQDvm0MZDofjZYRe29uEEI4C+CiAXwbwswD+OYDTAA7HGNdCCG8C8Esxxu9ty2c0Gt20oV+mnJu+W8bLfaYG5PJuC7TT9BfpXZDeK0IulN3lvqzaiczHkreGRQU5LhrW+7Qyg9pzFvSZfqEFuGqBrDLdPffcAwC4//77AYwZE71WX/3qVwEAZ86cATC7OH86Crh27Ro2NjaylezLeH4DwM8DoI/3TgDnY4yMEnsOwN25C0MID4UQHg0hPHqrvbgOh6MfOms8IYR3AjgVY/xyCOEttdfHGB8G8DAwZjyTYzelKS2fmNMncudyx9t0o9zxnK5UGrdrkb4ldpJjV6X70trK4h2aJytsK3MRsHjHNC9pbRlpniXUssdF6GHSe6W1A7VHLsJ23333AQC+/du/HcDYK/vMM88AQPNJxiM9Z9att/uIy28G8H0hhHcA2AFgD4APA9gbQtgyYT1HARzvUYbD4XgZonPHE2P8IIAPAsCE8fybGOMPhhD+AMD3Y+zZehDAZy351VihNitn9cjMQ8fQYoZqkfM29N3WRdapbQnVkmdl0dG4fWCJA+rqrauNpWrLo9Z7VZO3tWztfsiIyJrl8rMXL15stB0u9i7nKdbGKS0ijuf9AH42hHAMY83nIwsow+Fw3MLo5dWaF0ajUdy2bVs1Y8hZtVptRLMGNe2iWcKShZTLF6QzfhkvUbuxnUTNffVlOFb9rK3Mvph3fjV5L7LMmmVxa5kdGTdno3/Xd30XAODw4cMAgKeeeqphPNx+SGM6aV3W1tYW5tVyOByOagyG8XAuSIqaMbiMItZg9XDkmILV0pW+k+kcPXoUAHDXXXcBmDKeGzduNNHO3HKEi4XJCFEZsyHbQYsRyrVdV9R4txbJSEpYptetNlK5Nt/0fdRWNbAyT57nHEO+j5xjeP78+eb9s26wCDjjcTgcA8MgZqeHELBly5YZ61wbm8K8Smna8urroWorg/fDleEOHDgAYLoCYTq3Rq4ed+zYMQDTmewEr6UngmVxDM5ZxPyUY/M2hlgb4asdb4uBmjf7yNW55PkqaSXzqMe8mA4/V1ZWmneEzISQcwDb5gSm4PmTJ08CmL6P6+vr6lK0XeGMx+FwLB2DYDyj0Qg7d+6cGT9SC+HYU24mv7q6WrRSJa+OVfNJ2Vep1y9FYGsRpdRpUhZCa8YZxmwjgoxn7969AKYMiXXg+ijnz58HMF0pjsdHo1Ex2rSWCVi8Ktq5vpY0V3Zfba5mIfl5a1iS6aSxNtRi+G4wAlnOGKeHlO8AV8yUWwjJVRVy92VFjPpqk4AzHofDsQkYFOORlp8aiPR40eNz+vTphv3URoiWPDFyU/odO3Y0FoFlypXetDLkJ/WW5557DsDUwpC9bGxsNMeo6XCcLi0f20ZuO8I68TytIq/jOH51dbXaA2OZ/6VBY3e1MUQlzINxlCKe2yLntTys0LQhPr/du3c370v6jubK5jtARkQmROZTy+DnAWc8Dodj6RgE4wHGFpBWmZ+M6CXY+1P3WFlZaSw3WYR1dmzJAtE6MJpz165dDZsgG9FW1tf2iCLIlHg9WQ0t02g0avJiWWRZ0rvAsllPejqkJ411ohZ07tw5AE2shalNujAAma/cXpdMTtuVYB6epnnpgDWz3GXblNZi7nJfMn6HZZTW3eGndr28h5wOqLXhZs7VcjgcjlYMhvGEEGbWiOWYVc7eppXcv39/08NK5iMtveyRSxaGnjSyq507dzZsgteSoTC6mOyDKOkXZD68H3ofQggz9dUsCiNK5Uxjuc6uZBbp/XfVVbrE97CM2jV6FzkPSivLGglsqVupjUtMQjKnCxcuNKyR76Vc05vXkDVzi2ypi9bsECvvo6v+M4iOJ8aI69evz1A//vglNUw7oDvvvBPA9EWW0/YJ64srxVt2PDt27Jhx78uNz+Q+0iU6KjsLS7CZfAHTfcnTOlB45EtJcIglXakW1A7F5PG03qUftSxTE1nlj02+Q+vr6zOdrja0rP0xWQIkS9fUhhPw/JUrV5p3nW0gDbTMW25Bo91vWx26XJODD7UcDsfSMQjGs7GxgUuXLt208BCAhs1oPfdoNGosHNNy6EFXYS3Yc7MMWsuVlZUZ0Y5DLQq7XA5SYzxWur2xsVEdpEcrzuEeh5zadrWpe75W4LSyFa2uuTxKeckwB04R2bdvH4ApC5Wb0q2urjZtIVlhSTCVkGyqT0Bh16FjyjjIXErvmxxK1QaMynLnAWc8Dodj6RgM47lx40bTE9My0apxQSJaM1q3nHZATYasSRPOSj23dHnv3Llzxh0p87KOey1irtUFLPUKfpcBh/J8rs5dQxC6CqdtKLm0GWrB8AC5TTTZyY0bN2ZCEeS0k66ubcvz68ts5HNLp9/IJUtLorhWhuX4vIMInfE4HI6lYxCMBxj36NKtTDc1GcbBgwcB3Gz9pKeCeRBWL4Ls0ZkvNaNnn322sbLSrU6GpnnSrEzCYlU0l64leK8tH0u9akMScnXo6rrXPIGEZKNyO2lL3lbUTA3pCkuQJo9xJEDmIydbW9+VNu1uHoGcKZzxOByOpWNQjIcga6FO8/TTTwOYMiEGx23fvr3pienFYhpp6WotLdPRcl64cKHJmzoC85SBgKU8S+ctFsbK4BYReGeNPanxZlmZmZzgSL2Pz5vWP2XCnJJCj5/2bnS5H3ld1/buwko0/UfT84iaZT54fVemqsEZj8PhWDoGs9j7li1bZjwXcgxL65ZbBoBsRC4jUVL4NYYgv6dTOoiuXoS2cbtM2zfUXiJ3f1oZ82ICbXlKK13yvsnIcrksiGSj6+vrjVdLLv9aui+t7rVeonkix1Jk20mPZwmld6gri1tbW0OMMXuxMx6Hw7F0DIrx5FjG5Hz2M7XW0rtVq9xryI2pNZTm6dQwo66esJJVbvOOyHrVWjpLBLNksekk3DQP6mZkK2QpWrSxZE4p5LshNQ6r7mR5JjU6XluZtVpYrgxr2c54HA7HKwKD8WoB5ejc3NjVqi+UImE15b8tD+18iflY69glbRf9ocSa+jKfXBwPY6E4x45zruhF5Ce1O3qxqOHJBdHaPIpdWX3XWKM2lJiO/G5hyfP2OGl1SsvwOB6Hw3HLYdCMh2jr9a3soraHzsVVlPJoi/ysxbzjcPrkU6pLjVeIeVDToVeKnzxOximXwz1x4gSAaYyXjGBu8xCWjlujc7s8m66spEZnmoc+lENXnbMtrTMeh8OxdPRiPCGEvQB+G8DrAUQAPwrgCQCfBHAvgKcAvDvGeM6Q18z/lmjOWo/EPL0JVu9BHwtZytt6vqYOtTpRl/uUcVbUcrRZ5gSZj1xmdh7oy+jaUOt91NKlddR+F33Zcu56TYOS360jkL6M58MA/jjG+M0AvgXA4wA+AOCRGOMDAB6ZfHc4HI4GneN4Qgh3APgKgPtjkkkI4QkAb4kxngghHAHw5zHG17blNRqNIqOSRRmtdWhT+LtCa4+2KFBrlHEXFjJva1YDK0vUkLOKMuKYXi2uvcTjcs0lMqJTp04BmK4dLb1bsu6lY/NGSZMpvQPzYF3zuk9LlHTbNdevX8fGxsbc43juA3AawO+GEP46hPDbIYTbARyKMZ6YpHkBwCGlgg+FEB4NITw6hCBGh8OxPPRhPG8A8EUAb44xfimE8GEALwH4iRjj3iTduRjjvra8yHi08az8ZNQrdQBgdo3k2viekvXe2NiojnqW0O6vzSrOKwalb2xOLi9ZlkUHkJHG0pslNR65ljQ/tfV22vTAEqzMtQ1WRlNiQtrzSaOurfWz6kiWOtQ8+2vXri2E8TwH4LkY45cm3z8N4NsAnJwMsTD5PNWjDIfD8TJEZ69WjPGFEMKzIYTXxhifAPBWAI9N/h4E8CuTz8/W5q31vBz3Hzo0Hr0dPnx4Zj+t06dPA5jO9ZF5dGUCORZSE2ORO2+NG+kCzSOYa4d5sqG2uqSg5SZTJYNhZLK8Vtsbi7BYfyszk8f7MCEtb66UWMtaujwbq0bXlndXnU9D3wDCnwDwsRDCNgBfB/AjGLOoT4UQ3gfgaQDv7lmGw+F4maFXxxNj/AqAN2ROvbU2L4uCzv2rXvOa1wAAjhw50qyJTG2AabmlsdQCrGNsS/2IeYnjbRHZ1pihmjLkdbXWq9YjE0JQd8Xgp+alknlp56kd5fIpMZgSsynFZ7V5WflJ7Uquk8z6aqsslFZdqEGt5yyXvm80+yCnTPDhpOIxMF3sidvz3n777c01FClJYdkhyQXY+/yAa12lGmqGBSVYfuxtx2PLVJCu4QGW87ntWtLjJfQJeygd7+FwmflfboUt97SXIjolAorobZJBVxHcKhVY8u/aVj5lwuFwLB2DYTwxxkY8vuuuuwBMh1a0DqSnqdBIpkPLQosi2VJaTvqpDWlyx0vipMy7NgBvkfFMNYxOG85YXak192FlOBJW62wZIpeGTn3EWbnlMlm7XM5XDrn4/nI5ELkpYc6dXjvs6RN6IFH7DjjjcTgcS8dgGM/GxkbTy3PjPDIeuYQCe9ezZ882ofQcCzOknhaiJHwSFgtq1XC6CtV9Atc0dAkTsOZlFb618rpAe04a+0iDFqVQW6pbn7pKjUeydn7Kd1qK7ayztvRrrp5dtJoc2pwCVvarwRmPw+FYOgbDeEIIM0slSOWf42FaiWvXrjWBg3SfMwCNjKfvlIM2V2LuHnLXdplasSi9Zx5BgrUbwuXK11DSatqYDTB9V8iSt23b1rAOGaQoQy3mFbKQXkNNhoxcapKy/kwvp5TwvphPrq41zLPteA7WkYMVzngcDsfSMRjGA0wt0NmzZwEAe/fuvek8e1umu379ehNyz6Uw+V0LrV8E5Pi85F1Y1NSEXJ1Kx9vieDTQGtcEnKXlldLkzpfSs06M8eJyGysrKzMeI8Z4nT9/HsCsx0jWVftu8eTwnSDLIosne+e7LAMK5Tu1SI9njeZoZaIlOONxOBxLx2AYTwihsThc5OnZZ58FMJ0UylgIWoHz58/jxRdfBGAfr5dgseKlUPu2ay1l1sTaWGHxQljzrvV+5erRt81kOjIIviOp14j6iNwCh+9b13fHMkWCaajNMC6HdWHcGetPRiQn0WpbctfUV6urzMcyBUSrg5UBOeNxOBxLx2AYTwpaIMbkUL+RE0GvXr3ajJ3bLELbcYma+ISuEbtWq59La82jNMGxjelYmY9V22q7tq/OJeNlNG9RLi1ZUSkSvUucjEwj52LxO+PQZJwPIZcN6cJC2uppyad0rq1MDc54HA7H0jEYxpObbUvrwN6ezCe1tNb5JrXWOccYaq2zldm0WTHrfVnrkjtuZXklFiWRY1DWqGer10tG9pIhcIvkLVu2zLwj1HaYVlsypcYzmPs/B1lfuVSvph/KOo1GI7Ue81wOVuZR4wFrgzMeh8OxdAyG8aQ9aU0PXcsIujKJmjlb1jL7lJG7pq3stutr52B11bZqrqmNFyFzoNcoZc3UTXiMaagPykXDunoMc6xdy0t60EptT12K3q/du3fPzPPiyID3Jxldrbcu19bziIIGnPE4HI5NQOftbeaJ0WgUtfVz2tBlrom8tg9j6OqZKVmNnJ40D2tVAq+hh6XEBOYZed1VP5Pfc7PB5cLqZAb8LC23WkKuzbs+B+2+uI7PgQMHAIxXbuBvRl7DOLgTJ8bb25H5yLqVvJh9n+/a2tpCtrdxOByOThiMxrMo5iV7dxnnoZXfVp+aWJ8apJanNhK0La9SOi3mpGuelrpr56wagixD8+Ssra2puss8tQ+Zz7yYDj+pU3GNqj179jSeOxkbxGsY1a+t5VMTv1Wr93nkssPhGBwGw3hSWHWXjY2NqtgYXtOWZ596SnSJA+F5bRxegrSUmhXLWWerR0azlBqLSb9Tb5GrSsq5SXLdGWmttc+a1QisLLdGb+url2jppHaVHqP+Q62KDIdpu3phibb7bWOobdc543E4HEvHIBhPqXdsG4NqjKA0fq2NTm2rTwnWSOBc2Vb9oaSZtO1fVWIsJd3FalFHo1Eze/z+++8HMN6GGpgynTNnzgCYbkkt90crbV1coxWWnkttNG4ubVfdT14nI7PTOV2M7ZHzv6S2U/t8FwlnPA6HY+kYBOOxostYs3S+xkJZ4x76sipLHI/V2yWZDsf9ct2X9BjLktvqatqPZFVtOgu1Ha4Q+KpXvQrA1IJz7aV9+/YBAB5//HEA09iURawoucj4JCsj166T60VzbfHdu3c3bcnnRl2MKyuSHWl6WB/0zcMZj8PhWDoGzXjmFR/TpUxLGisrsXqH0uM1MSNteUvQi5SubUSvCFfDIzjnR5v7o3ma2qKKZVyK3EGEe6qxTLnTpmRV89Qnumg6tXlan6e8jqyT88uuX78+47WSXi1tjaqusVNtaWvbrlfHE0L4GQD/CkAE8DcAfgTAEQCfAHAngC8D+KEY4w01k/b8+1RvabB2OF1Ey9pAR01MloF26ZbPXFSfP3p2QBR2ufg+Q/C5PIlG4bWO57bbbmvK4NCBQW6yQ2HZ2rIRcopEaRiYQ63IajEk1vK7Hk/DBkrvmTYsrXVYpNdYHQmlMjoPtUIIdwP4SQBviDG+HsAKgPcA+BCAX48xvgbAOQDv61qGw+F4eaLvUGsLgJ0hhFUAtwE4AeC7AfzA5PxHAfwSgN/qWc7C0GU4ZxUGZXprmam4bM1L5imZDUEB8tKlSwDGwiSHPRx+pYtoAdMANVL7b3zjGwCmtF8T1eXwaNeuXU3eHBaQPcktaMh0WCemkwu2l9qlJjShNAzq6sCwpOkSwmBlLto7Yh3+hTC7DXTfYWlnxhNjPA7gVwE8g3GHcwHjodX5GCPfjucA3J27PoTwUAjh0RDCo13r4HA4bk10ZjwhhH0A3gXgPgDnAfwBgLdZr48xPgzg4UlecfKppe1aTTUvqzs6vW7eTKfN4nS1zhLaFBEKxS+99FKjs1B/kdvokvlIJlRyn8t7SNPxf2o9rJ8URKk3yS18+wr76bnaKQVt13dlBLXveC4A1FqH2qDLGpFZq5NEH3f69wD4RozxdIxxFcBnALwZwN4QAju0owCO9yjD4XC8DNFH43kGwBtDCLcBuArgrQAeBfBnAL4fY8/WgwA+W8ooHUNq5zVYg/ik1rEM1Fq7ZXjxpHv22rVrTVAa2QSD9+jK5jVkRkxHlKw7rfPFixcbvYjHyGg0l7B1cf4u0wBKukUXJtTVfa6hj240z5HCvNFH4/kSgE8D+CuMXekjjIdO7wfwsyGEYxi71D8yh3o6HI6XEW6JpU/71LGvCp9Lb9UXrN/l8VRPstSnJl0uHkZuJic/mZZMR1tEXGsHfq6srDSMZ/fu3QCmuhLrQM1HlsWAQrnolXa/aSyLVcOo9T62oetEzD4BerXxYzXsrEsbrK2tIcaYvdCnTDgcjqVjMIxn27ZtZu9BamE3c3xbaxFLTKePd6vWM5GWpUUFy08ZEVurhYQQGq1NTpWQcTz8lN4vbaqE9j19R2rbah5Mp5RHKUaojZ0sgs2nqIlcllpqjNEZj8PhGBYGM0k053WSSzjIuJG1tbUZy0gMgclZUeO56KodaN6+1HKWtCorNKufliXjdbQ5V1ZGa4kutrIKy5ysEmrjxLQ6ad+t57qk71Ln3NzAtnyc8TgcjqVjMIwHmPaanJ8jZ0tTD+B4/8yZM423w2pBS7CM72u1DSujWGQ8zzyYgETJK5LbSoj/c3kOernoQZNLPfBZX7t27aZPbSnUNrZS265d0st7rtUt5Xn5fZ5MviZuqfQOWI8TzngcDsfSMRjGE2NsrOA999wDYLo8JhkQrSNjOe644w48+eSTAKZxHtIyaJGvpVgHImeRrAygj6epVM+2+pXybMvPglKeZC98nmlZLI8b0zGeh14ufjIPaniM5zl9+jSA6VKoNfpYrR4mr9fSkaXt2LFD1SNl/JGsk8aU5KJr6TK0ffU+7XuOjfX13Eo443E4HEvHYBgPMLV2mrYjrWEIoUnL9WXkei3ati5SA7JEffaNmyihJipVq0Mt62pDrcYhF2wnY009WXxOcjM6fpLd8lnz2qtXrwKYWnzmU1qIPr2Prl47LZ3UJA8cONDM4JdxSVxRkcycGhXBPOQC7kzH+6fGtba2Zl7+1RqpXONJI7rqkc54HA7H0jEoxsNxMK0DNQJaDfb6tKyTyEgAdsuurUXcpXe3KvpyvF5COqa2aE5tdajVmXLXWiOu+Vw4u/3IkSMAbt6mmM9QbsEiZ6PLtYCYTm7la9UrcvdV67XT7puMfPv27Q0DJ3Phu8s0rDdn+vP7XXfdBQDNhofyvtk+bLdz58417IdlaKido2VpQ2tZGpzxOByOpWMwjCfG2DCe559/HsB0PMtxs7RyV65caSxA1/G79CpocSG5MmpjgyT6ag81KFntXBp53KoRkNXQWtODBUyfJRnA8ePjdeK4dTG336W3S25WJ7W8GqaqpS2t+dMWiZ1eH2Ns/qdGRe2KbcH7YBvxO9tDrm/N9iJSRsRtnnlftcyH6DJny6qRanDG43A4lo7BMB5gajlo1Wgl5Fo97G3X1tYai2GdPUswndwJQYsDyp2Tx61RqhZYx9LSWmvzjmRdcnUqlantXEHQ4jLWhuBz3L17d2PZtfV2+Mm9vGQ8D98NenssHpq+Ueul58d7uHr1aqPtkK3z3ZWalYzMpq5JRiPjgZiejGjfvn1NLJNkf33302pDTbRzG5zxOByOpWMwjCe1ojLaU67xm6I2Apmg5aWWQM8Lr6cV495RN27cUKOhS94qa3Rxmk5jLvOORUlRKjM39yqXjm3HtZypw912221NO6e7XABTbYd58LusW2nVQ4kuFtnaxml8EjD2NPF/3h8ZkLwv6a0iw+P90TtGBiTjmnKeJsniS1H7XaL5rZpOkbHPOwiuC7Zu3RoPHDjQ0Gl2NHLJi5rweG2owYdy8OBBAFOXrxzOkQLzRTl9+vTMtrryJahty9rpD2kaLQ+Zrk+wo8xDfsrhgPV6oH0qQA6lYa78bpl+Yg221Dpa2RGPRqNmKEXDxu+ENKZyi2a2Ka+nuCwn0166dKnp0OWws9RW2nDb8j5aJQDe28bGRvYCH2o5HI6lYxBDre3bt+PVr351850CItkGe3YKdjXWW2NAnI4ht1eRwXDp0pykx9I61wrafYS5Wpe3hrayNaZCq0v6z+EALb8M70+HqcCY3UimY2WNVmbThX2W2k47nxP25fBL1k/etzZs5/V85yW7Wl9fVxfBI2rfr9oAyxys1zjjcTgcS8cgGM/Kygr279/fjG/37t0LYGo5KUieOHECwFSYq4HsxSV7oUUhwyHSjecoFGrCp1WULOk0IYQqi23J03KdpmWQ6Rw+fBjAeDJk+snztNLUwuhWp8hMJpvWr1bT0c5rwmoujTyupetynTwn9S/N5a29OzIoMMeuSrqmvFZjNjUMp/Sup/XLwRmPw+FYOgbBeEIIN232Rn2FPaZ0KaYqvtXtTPA4g6/IYvbv3w9g6lWgReL3dEJq232kkMt5SsjxfFfvmKUuGmLUJ6QSbH9OZKQuxrbjedab983nRcZ67NixhsWW6m0N5rNoRLW6V62elGMhMk0JMq9SEGCab41nL3fcqlFarrHCGY/D4Vg6BsF41tfXcenSpYbJyImB1FTaAvWs41xCBrnRe0DrLS3P1atXG2tdiveQy0OQGUgGxPxkEN36+nq1l6d0nJBTRHIxOJrFlExGbj8kPYbUJ3jd8ePHm3aumcpRg1rvXlseRE2cS6k+tWVb7qfE1IjSxM62Os6Dhd9Ul7nm5nA4HAYMgvFcv34dx44da7QAWkjJeOTUibSHlrE1Wni/9Cowb7Itaj/SO7K6uqpOTJQeFbImLv3J+yIzIGPg/XDaBtnXhQsX1CUOujIB6aFKF6zi/cg4nHTyIzBdukIuxsU2Yt7SQ5gyxRJbrI1TsuoYubysx63nLd7IWuYgWUqp/Fxa6/QGi6ZTq1lpcMbjcDiWjiLjCSH8DoB3AjgVY3z95Nh+AJ8EcC+ApwC8O8Z4Loy7xQ8DeAeAKwB+OMb4V6Uy1tfXcf78+RmWIqNcZdRnamFqNQPJfMgwLPEw2twkMgA58ZQMh3nL72QG9G5dvnx5hvGUNB9N25LpyUrIxnbt2jXT7jIeh8t0kpGRwchF+eUiVtRzTp061dxXKXJXg1XHsHgGa704XfSNEhOzxnxZru+qZ3XR1eYRGQ/YGM/vAXibOPYBAI/EGB8A8MjkOwC8HcADk7+HAPyWIX+Hw/EKQ5HxxBj/IoRwrzj8LgBvmfz/UQB/DuD9k+O/H8fd4RdDCHtDCEdijCcKZdw090SzWjVWTKa1WlaJlN1YrVhJA9LuI/UOaXmW6qLVjZ9kIWQte/bsmVlgnIyHx/lJxsMlHMiE5ELmhFwi4urVq8X4lNJ9y/Ta9xysWoeGPvpNKc5M0666sBGtXrXMKM2vi0evDV01nkNJZ/ICgEOT/+8G8GyS7rnJsRmEEB4KITwaQni0Yx0cDsctit5erRhjDCFUd3sxxocBPAwAo9Eopj2ndRsYkV/VcQmrtbBcS22EmgcXO2c6eo/ICOSmbxsbG0ULU2IIWn1ZNnWXGGMzB4v1lJoT14ShLsQ5V3KTOUvkb24Nm9y1mq5XszaTRNtC/m2wMt0cQ7DOmyrFn+UYYE7ztMCqh/bRthbl1ToZQjgyKegIgFOT48cB3JOkOzo55nA4HA26Mp7PAXgQwK9MPj+bHP/xEMInAHwngAslfYew9K45FlDyWlnyyCFniawagPTmMFaIXi65fg3Ta9sw5+pl1UBkeuZNtnLq1Klm3RxGWst5a6wntRqNjciyZZ1XVlZmPGBkV9KTKdtErsVk8V5ZUdJVSmwy916UGIz0aJJVyhUL+bzkyoWWTQi0+ll/AznPmZZ37XOwuNM/jrGQfCCE8ByAX8S4w/lUCOF9AJ4G8O5J8j/C2JV+DGN3+o9U1cbhcLwiMIg1l0ejUdy2bVs1S5ln3WWPLrWHVJ8osSxp7bS1ibV1h1ONxxqnwu9ajJFEqrHISGOyERlvJBfAL62TLHWcvXv3NnqSnOEu8yIj43Y3XItJztsrrWszD2jPtQ0lDYdtQl2NMVGSFfOTTIftcfHixRn208Ub3PW8xevmay47HI5BYRBztYCbe9VFjNuJPoq+dQwt86BGomkGOUtVqo9FZ2hD6iXi/3KbXTI1Wb8S05Fl0Gpv3769sej8pLYhNSh+khHQ48c6yrzbNjacNwuyvAfWMskq5fY1ciUDfvL4jh07mngquWpCn3idFG1taGFVbeU743E4HEvHYBjPaDSqHpvmemKr56kUSZqrgxYHUlpXt4slkl6etnrlrpPf2zw1mjagzRertajpSgAXL1686RyZjWRXck1s6eljm8s1s2VdLfpEX3TJT94n20hucSy9XCkDkqsIaF7GkhYpj+fuq2seGpzxOByOpWMwjAeYnctkjRMB6jUPrXdv04CkZZP6gnVHAWsd0zy7WueaeBetnUuxQ6X74P2nnhh6s+SOm8yL6aiP0ZNmjVzuMrepFM+jXd/l2fA+eF/Sy8X2kO8UmV/unbLE47Sls7CaebXJoNzp8sdfs0+2tTGJUsdjEcu6Ctcaan4stcPSecL6o28LrCstwSo77dIEYkvdatuoS+dmfUdkO8gNJBnSwLADis/pUrwctjK4UgstsDoqLG1a43qfbJDg7nSHwzEMDIbxbNmyJRu0B9jczxK1DKh2aNaWR9fpG2k+ZpFOMIV5CKfW+nZhBLUUvWaoWJOuD6wMNk1TYtjy3Zdu9NxibW3DrrYya1gLv3dhSc54HA7HoDAocbnkIpa9rLYgOjAbUGYd31oYkUxDq0TBlMFxtEgUSPmZTo1IP4maMbXmTi651YnRaGQWhzX2UWKiFt2lRmdoQy4/q7ZWev+kU8FavqW+8n2Vmz221VV7p+Wi/FqZluc27xAEZzwOh2PpGCTj4afcKK6tty8xma7j3RzTkZ9cRuK+++4DMJ3wJ7fn4VKhcrkMixXToLENbYEtfqeXZM+ePc3/BD0rMshNLvylbb3cxkS7MhqrblbDCEplyOM1Gl5XD1rpvU3TazoRGTc9Yvwu2ZRcekRu32S5H2t9JZzxOByOpWNQjKcWIcwuzmUNMOviJdHGzmQ8hw6Nl57mEqEEGQMZD697+umnAcxamvS+SlqVDF6UdZPpCFrDw4cPZycgptfKjf7I1Lj5ISdwSr3JYjlrNRGrZpf7XusplDE28r6kVyn1/linGEhoDNbiQSNTPXDgAIDZpUfkBoxk5GTgfD8tS43UMM4cnPE4HI6lYxCMh5bC0qsDtshYTbG3MqGcpZHX0sIz7F1qIHJLX4615cZ3ctmMFJq3SqZNNRtgutwEr2fdWNdUC5LRsbSctIhMS8tJBsDjcnEuS3xVLdMp5Wc5XmIh/ORz4rY+bB/eN587I4dTxld7P7VaZFpXqeexfnz2cukROT2F2g6fs2Suufigvl5HwhmPw+FYOgbBeDRovWg6BpdahhYjU1qgvEu9mNeZM2cAAI899hiA6aLp/KSlodZDbaRNv6nVI8ii6FGjlSNLYTq5LfGZM2caxsVrWbacqCnjknheQ5s2UBs7U5oXV1MHLQ8yAT43jT0yTxmvlW7RXCqrbzxMjHGGDfPd5/PhOyEn4Mr5b0wvISdBa/VI807R9oyc8TgcjqVj0IxHgj0wrfjtt9/e6BLsvak30Bqz1+V5HtdiUCw9uLTG1HROnz4NADh//jwA4Pjx8ZZitDxyKQQZlZrzoJWgeb9o5aSuJLcbvnLlSsPA+Cm3nJFtIrflkfOK5P3k9Atr3JXmrdO8mTlGa2UXMgKdTIcaD8H7Z3q215UrV8zPjSjNUStdl/7PevH9kzFbrK/0TjI9fyNt7HJeEebOeBwOx9IxKMZT6k1pvVMdQy6STetEZkPLLzdE4zYhtNqyt88xn9LseVpbuWg6LQtR8mBsbGxUaxgsi54WGYsjPTa7d+8GMLaCtITUqmgBJZiO3p6DBw8CmLYxLSk/mY/0eqX1ktCicKm38LuMSSF7ZFkpq6yN2ZLxSDJWSnvu6TnrfWqwaFxaHmwDOQqQvwW+p3IB/VLdLfXzOB6HwzE4DIrxaHEVhNwaZWVlRY1h4Hepq9AKMA9aednry7qsrKw07IrX8jutrdxmV9ZNshNCW0Q+1zZaGuZBr5W8D9ZRejq2bdvWnJNbK8syqX0wUvvIkSMApu0h9TNGxDJC+/Lly63zuHL3t3fvXgDTaFxtOxjpaWPZKXsrMU0Zl8V3iZAsi59tc5y0++o6fyz9bWhztfhs5WoJ8j61qPYcNG9kraZFOONxOBxLxyAYT9t4leeBWR0mZTxy/C3H6bQCciY2rYL0ANBTQT1pz549jfWljsQ09AY9//zzN+UtyyQTkFqK9LClm+xp0CwQ86LWQwZATYf6TKoBSU1KWkJNd+H98/54nnXgnLVUT9OsrHz+zIusg/WVW/xq3jxqQpcuXTJZ9DQvRvRKhiM9qHx+6VbCllnlKWq9lznItuJ7SmYqvZR8PnxvX3jhBQDtqwrUzqUrwRmPw+FYOgbBeCQ0q8GxNK35aDRqentaKRmVKTdEY3pp3WnNjh49CmA60/z+++8HMLbetCSSFTFe55lnngEw7fXlliw8Tvbx5JNP3nQ/KUvTWEfJkkrdQc5EpgaU6mSS8cg8CdaP6eV6QnL74VwsjmSmJebDsrTrZDQ1oUXjWiDjYXifUleS6xLl7qN2Nr51JcncNXwf+X5JjYfPT7J+GftWM0dLQ2+vVgjhd0IIp0IIX0uO/fsQwt+FEL4aQvjvIYS9ybkPhhCOhRCeCCF8b1VtHQ7HKwIWxvN7AP4jgN9Pjn0BwAdjjGshhA8B+CCA94cQXgfgPQD+IYBXAfjTEMI/iDG2ujLk3CQtilXGamxsbDTjcJ6Tir1cS0XmrXnFOD7mvJ1v+qZvav6X6/CQCVEPIoOhlsP6SmtHRvT1r3/9pvPpWFtb20aLCta8DZIhkEmEENT5bTIP6TEiM6BuJEEWSpaVi3eR9yefD/UhOWOcz0DON2Jby5nWKUozwgm5RjYZDiHZdTpjvFajk9B2mUjLlnlIDVTWT44CmLdkcpZ76DvXrMh4Yox/AeBFcex/xRjJL78I4Ojk/3cB+ESM8XqM8RsAjgH4jl41dDgcLzvMQ+P5UQCfnPx/N8YdEfHc5NgMQggPAXgo+T6TpmTVV1dXZyyaZrUtsTLA1MKePHkSwHScfOjQoeZ/eljIbBipS9CikAHRojBvWi85ez2dA6TNopf3U2JCWtRtm5XWdAcZ9Ux2mO5uCUxZB9snZXwlzUPTePg86ImR3kypP0m2kitTOy7PawxQS2cpS0LORSOzk+9IGnXMdiUT4yfZHvOUMWoy0lzbHrrLfDcrenU8IYRfALAG4GO118YYHwbwMDDe0E9Jk/1MXya5OJPW4UhKL19YHuePhQ8rDbyje5hp5RQBDq34IPmycEgmgxnPnj2brVM6ZUIbFsjz8gdW+vGk+ZZC5ZmWPwIGDvLHISk9O1g5ZSTnbi6J5nIaiiYal4xUWxlaXtbj6XnrFAkt+I/GjQGThw8fBjA1dqmwz3eVk5P5Xsn3UIrJrCPzksG1lvvt0xZAj44nhPDDAN4J4K1xWsJxAPckyY5OjjkcDkeDTh1PCOFtAH4ewD+NMaYzID8H4L+FEH4NY3H5AQD/t5SfJi5btjRmLy0X3k6DDNNPyXDkUg5y8Su6ytfX15vAQTlFgteQ+cglOcgM5JKTpMTSiqcBlZoIqTE4bailDb1qIAMGpUgpLSa/s11WV1fN7Mo67KkdNrWVPc/hRGkKhPbJtpULtMtldFNWzPeI75UMj9CGiJKptrFGLY/ayaFEseMJIXwcwFsAHAghPAfgFzH2Ym0H8IVJwV+MMf7rGOPfhhA+BeAxjIdgP1byaDkcjlceih1PjPG9mcMfaUn/ywB+uUtlNKsuF39Ke1Vp6bXtXjQXo1wkSYJW4+TJk+pSDNJdKS0INQ9CBtpZlmXVxFdCYzyEtFBt0wgk42Ra3ge1HradXOiMZUmG1FYfedwqQpfCCBbhEq6Z6Gl9bjwvJ7uSLebumwyHaazu8JIelruvrrqXBp8y4XA4lo5BTJkIIdykOWgbqUlLnC72LqdGyAWuCY1daIFavP7atWszUwO0wDuN+ZTqkHPb5u45B3m8huFo52R9yHjSZS6AadgA21xuYMjv8t66oMSIrN6yPmVL5FhN6T7lpFY5kZieKradnOgJTNufadrc4W33Y2mjUnvWtrczHofDsXSEeQcGdcHKykrcsWPHjHWX2o70VI1GoyaoTeouMg8tsFB6aKSlSvUYTZuRzMc6dtbOt00ElIu4a5u1USOQno4cG7N6dyS7ZJnUeOSyETLOaX193WwxaxhbLn1bW84bbWWUJnnK5yYnnEqvLK/ndcCUiWreqRIsLLFLDNRk2dls4zjjcTgcS8cgNB4gv2RCLk36WaOFyIXB5DYvhLbZ2fXr19VlH2pZY038iGR71FPuuWccp8moaDIfsg6O/7nI01NPPQVgyj5yC69bpwTIJTfSCae59JbF0EuRyyVozCIXH6Zduwz2L9ta6oUynbblTDphtaTtaJ41i1eO6UqMtLbtnPE4HI6lYzCMJ8ZYnFclvT/pZEq54BUtv5xPRGgeJX6Xy0fcuHHDbFm0mBMtXS5CW17D+7nrrrsAAHffPZ57y5gaRlWTjVADIsPh9XJphxS1XhBt/lcXK9hFQ7CipLNox0uxRF1Qy/gs91tiLtpzsd5velxjwbVt4ozH4XAsHYPwaoUQTgO4DODMZtdFwQEMs25DrRcw3LoNtV7AcOvWtV6vjjEezJ0YRMcDACGER2OMb9jseuQw1LoNtV7AcOs21HoBw63bIurlQy2Hw7F0eMfjcDiWjiF1PA9vdgVaMNS6DbVewHDrNtR6AcOt29zrNRiNx+FwvHIwJMbjcDheIRhExxNCeFsYbwB4LITwgU2sxz0hhD8LITwWQvjbEMJPTY7vDyF8IYTw5ORz3ybVbyWE8NchhM9Pvt8XQvjSpN0+GULYVspjQfXaG0L4dBhv8vh4COFNQ2izEMLPTJ7j10IIHw8h7NisNgv5jTGzbRTG+A+TOn41hPBtm1C3hW7auekdTwhhBcBvAng7gNcBeG8Ybwy4GVgD8HMxxtcBeCOAH5vU5QMAHokxPgDgkcn3zcBPAXg8+f4hAL8eY3wNgHMA3rcptQI+DOCPY4zfDOBbMK7jprZZCOFuAD8J4A0xxtcDWMF4s8nNarPfA/A2cUxro7djvF75AxhvAfVbm1C3LwB4fYzxHwH4e4yXO0a4edPOtwH4T5PfcB24LMJm/QF4E4A/Sb5/EONdSodQt88C+GcAngBwZHLsCIAnNqEuRzF+Ob8bwOcBBIyDurbk2nGJ9boDwDcw0QuT45vaZhjv5/YsgP0YTw36PIDv3cw2A3AvgK+V2gjAfwHw3ly6ZdVNnPsXAD42+f+m3yeAPwHwptryNp3xYPqCEOomgMtECOFeAN8K4EsADsUYT0xOvQDg0CZU6Tcw3tmDk87uBHA+Tnd03ax2uw/AaQC/OxkG/nYI4XZscpvFGI8D+FUAzwA4AeACgC9jGG1GaG00tN/EjwL4n5P/51K3IXQ8g0MIYReAPwTw0zHGl9JzcdzNL9UVGEJ4J4BTMcYvL7NcI7YA+DYAvxVj/FaMp77cNKzapDbbh/GW2vdhvNXS7ZgdTgwGm9FGFoQem3a2YQgdz6A2AQwhbMW40/lYjPEzk8MnQwhHJuePADi15Gq9GcD3hRCeAvAJjIdbHwawN4TAFQY2q92eA/BcjPFLk++fxrgj2uw2+x4A34gxno4xrgL4DMbtOIQ2I7Q2GsRvIkw37fzBSccIzKluQ+h4/hLAAxNvwzaMhavPbUZFwnhu/0cAPB5j/LXk1OcAPDj5/0GMtZ+lIcb4wRjj0RjjvRi3z/+OMf4ggD8D8P2bVa9J3V4A8GwI4bWTQ2/FeF+1TW0zjIdYbwwh3DZ5rqzXprdZAq2NPgfgX068W28EcCEZki0FYbpp5/fF2U073xNC2B5CuA/GTTtnsCxhrSBsvQNj5fz/AfiFTazHP8GY7n4VwFcmf+/AWE95BMCTAP4UwP5NrONbAHx+8v/9k4d+DMAfANi+SXX6xwAenbTb/wCwbwhtBuDfAfg7AF8D8F8x3oRyU9oMwMcx1ppWMWaJ79PaCGPHwW9Ofg9/g7Fnbtl1O4axlsPfwX9O0v/CpG5PAHh7lzI9ctnhcCwdQxhqORyOVxi843E4HEuHdzwOh2Pp8I7H4XAsHd7xOByOpcM7HofDsXR4x+NwOJYO73gcDsfS8f8B1SXnISJ8RsIAAAAASUVORK5CYII=\n"},"metadata":{"needs_background":"light"}},{"output_type":"display_data","data":{"text/plain":"<Figure size 432x288 with 1 Axes>","image/png":"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\n"},"metadata":{"needs_background":"light"}}]},{"cell_type":"code","source":"!pip install segmentation-models\nimport segmentation_models as sm","metadata":{"execution":{"iopub.status.busy":"2022-12-06T07:32:57.757448Z","iopub.execute_input":"2022-12-06T07:32:57.759531Z","iopub.status.idle":"2022-12-06T07:33:10.278843Z","shell.execute_reply.started":"2022-12-06T07:32:57.759494Z","shell.execute_reply":"2022-12-06T07:33:10.277671Z"},"trusted":true},"execution_count":8,"outputs":[{"name":"stdout","text":"Collecting segmentation-models\n  Downloading segmentation_models-1.0.1-py3-none-any.whl (33 kB)\nCollecting efficientnet==1.0.0\n  Downloading efficientnet-1.0.0-py3-none-any.whl (17 kB)\nCollecting image-classifiers==1.0.0\n  Downloading image_classifiers-1.0.0-py3-none-any.whl (19 kB)\nCollecting keras-applications<=1.0.8,>=1.0.7\n  Downloading Keras_Applications-1.0.8-py3-none-any.whl (50 kB)\n\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m50.7/50.7 kB\u001b[0m \u001b[31m3.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n\u001b[?25hRequirement already satisfied: scikit-image in /opt/conda/lib/python3.7/site-packages (from efficientnet==1.0.0->segmentation-models) (0.19.3)\nRequirement already satisfied: numpy>=1.9.1 in /opt/conda/lib/python3.7/site-packages (from keras-applications<=1.0.8,>=1.0.7->segmentation-models) (1.21.6)\nRequirement already satisfied: h5py in /opt/conda/lib/python3.7/site-packages (from keras-applications<=1.0.8,>=1.0.7->segmentation-models) (3.7.0)\nRequirement already satisfied: packaging>=20.0 in /opt/conda/lib/python3.7/site-packages (from scikit-image->efficientnet==1.0.0->segmentation-models) (21.3)\nRequirement already satisfied: networkx>=2.2 in /opt/conda/lib/python3.7/site-packages (from scikit-image->efficientnet==1.0.0->segmentation-models) (2.5)\nRequirement already satisfied: pillow!=7.1.0,!=7.1.1,!=8.3.0,>=6.1.0 in /opt/conda/lib/python3.7/site-packages (from scikit-image->efficientnet==1.0.0->segmentation-models) (9.1.1)\nRequirement already satisfied: imageio>=2.4.1 in /opt/conda/lib/python3.7/site-packages (from scikit-image->efficientnet==1.0.0->segmentation-models) (2.19.3)\nRequirement already satisfied: scipy>=1.4.1 in /opt/conda/lib/python3.7/site-packages (from scikit-image->efficientnet==1.0.0->segmentation-models) (1.7.3)\nRequirement already satisfied: tifffile>=2019.7.26 in /opt/conda/lib/python3.7/site-packages (from scikit-image->efficientnet==1.0.0->segmentation-models) (2021.11.2)\nRequirement already satisfied: PyWavelets>=1.1.1 in /opt/conda/lib/python3.7/site-packages (from scikit-image->efficientnet==1.0.0->segmentation-models) (1.3.0)\nRequirement already satisfied: decorator>=4.3.0 in /opt/conda/lib/python3.7/site-packages (from networkx>=2.2->scikit-image->efficientnet==1.0.0->segmentation-models) (5.1.1)\nRequirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /opt/conda/lib/python3.7/site-packages (from packaging>=20.0->scikit-image->efficientnet==1.0.0->segmentation-models) (3.0.9)\nInstalling collected packages: keras-applications, image-classifiers, efficientnet, segmentation-models\nSuccessfully installed efficientnet-1.0.0 image-classifiers-1.0.0 keras-applications-1.0.8 segmentation-models-1.0.1\n\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv\u001b[0m\u001b[33m\n\u001b[0mSegmentation Models: using `keras` framework.\n","output_type":"stream"}]},{"cell_type":"code","source":"import numpy as np\nimport tensorflow as tf\nfrom tensorflow.keras import backend as K\nsmooth = 1.\ndropout_rate = 0.5\n\n\n# Custom loss function\n# def dice_coef(y_true, y_pred):\n#     smooth = 1.\n#     y_true_f = K.flatten(y_true)\n#     y_pred_f = K.flatten(y_pred)\n#     intersection = K.sum(K.dot(y_true_f , y_pred_f))\n#     return (2. * intersection + smooth) / (K.sum(y_true_f) + K.sum(y_pred_f) + smooth)\n\n# def dice_loss(y_true, y_pred):\n#     return 1 - dice_coef(y_true, y_pred)\n\n# def bce_dice_loss(y_true, y_pred):\n#     return 0.5 * keras.losses.binary_crossentropy(y_true, y_pred) - dice_coef(y_true, y_pred)\n\ndef iou(y_true, y_pred):\n    def f(y_true, y_pred):\n        intersection = (y_true * y_pred).sum()\n        union = y_true.sum() + y_pred.sum() - intersection\n        x = (intersection + 1e-15) / (union + 1e-15)\n        x = x.astype(np.float32)\n        return x\n    return tf.numpy_function(f, [y_true, y_pred], tf.float32)\n\nimport keras\nimport os\nos.environ[\"TF_CPP_MIN_LOG_LEVEL\"] = \"2\"\nimport numpy as np\nimport cv2\nimport glob\nfrom sklearn.model_selection import train_test_split\nimport tensorflow as tf\nfrom tensorflow.keras.callbacks import ModelCheckpoint, CSVLogger, ReduceLROnPlateau\nfrom tensorflow.keras.optimizers import Adam\nfrom tensorflow.keras.metrics import Recall, Precision\n# from metrics import dice_loss, dice_coef, iou\nfrom tensorflow.keras.layers import *\nfrom tensorflow.keras.models import *\nfrom tensorflow.keras.applications import ResNet50\nimport matplotlib.pyplot as plt\nphysical_devices = tf.config.experimental.list_physical_devices('GPU')\n\nclass UNetPlusPlus():\n    \n    \n    \n    def __init__(self, input_shape = (128, 128, 3), filters = [32, 64, 128, 256, 512], nb_classes = 1, deep_supervision = False):\n        \n       \n        self.input__shape = input_shape\n        self.filters = filters\n        self.num_classes = nb_classes\n        self.deep_supervision = deep_supervision\n        self.__smooth = 1. \n    \n    def BuildNetwork(self):\n\n\n        input_img = Input(shape = (128, 128, 3), name = 'InputLayer')\n        \n        conv00 = self.Valdesguefa(input_img, block_level = '00', filters = self.filters[0])\n        pool0 = MaxPooling2D(pool_size = 2, strides = 2, name = 'pool0')(conv00)\n\n        conv10 = self.Valdesguefa(pool0, block_level = '10', filters = self.filters[1])\n        pool1 = MaxPooling2D(pool_size = 2, strides = 2, name = 'pool1')(conv10)\n\n        up01 = Conv2DTranspose(filters = self.filters[0], kernel_size = 2, strides = 2, padding='same', name='upsample01')(conv10)\n        conv01 = concatenate([up01, conv00], name='concat01')\n        conv01 = self.Valdesguefa(conv01, block_level = '01', filters = self.filters[0])\n\n        conv20 = self.Valdesguefa(pool1, block_level = '20', filters = self.filters[2])\n        pool2 = MaxPooling2D(pool_size = 2, strides = 2, name = 'pool2')(conv20)\n\n        up11 = Conv2DTranspose(filters = self.filters[1], kernel_size = 2, strides = 2, padding = 'same', name = 'upsample11')(conv20)\n        conv11 = concatenate([up11, conv10], name = 'concat11')\n        conv11 = self.skip_path(conv11, block_level = '11', filters = self.filters[1])\n\n        up02 = Conv2DTranspose(filters = self.filters[0], kernel_size = 2, strides = 2, padding='same', name='upsample02')(conv11)\n        conv02 = concatenate([up02, conv00, conv01], name = 'concat02')\n        conv02 = self.Valdesguefa(conv02, block_level = '02', filters = self.filters[0])\n\n        conv30 = self.Valdesguefa(pool2, block_level = '30', filters = self.filters[3])\n        pool3 = MaxPooling2D(pool_size = 2, strides = 2, name = 'pool3')(conv30)\n\n        up21 = Conv2DTranspose(filters = self.filters[2], kernel_size = 2, strides = 2, padding = 'same', name = 'upsample21')(conv30)\n        conv21 = concatenate([up21, conv20], name='concat21')\n\n        conv21 = self.Valdesguefa(conv21, block_level='21', filters = self.filters[2])\n\n        up12 = Conv2DTranspose(filters = self.filters[1], kernel_size = 2, strides = 2, padding='same', name = 'upsample12')(conv21)\n        conv12 = concatenate([up12, conv10, conv11], name = 'concat12')\n        conv12 = self.skip_path(conv12, block_level = '12', filters = self.filters[1])\n\n        up03 = Conv2DTranspose(filters = self.filters[0], kernel_size = 2, strides = 2, padding = 'same', name = 'upsample03')(conv12)\n        conv03 = concatenate([up03, conv00, conv01, conv02], name = 'concat03')\n        conv03 = self.Valdesguefa(conv03, block_level = '03', filters = self.filters[0])\n\n        conv40 = self.Valdesguefa(pool3, block_level = '40', filters = self.filters[4])\n\n        up31 = Conv2DTranspose(filters = self.filters[3], kernel_size = 2, strides = 2, padding = 'same', name = 'upsample31')(conv40)\n        conv31 = concatenate([up31, conv30], name = 'concat31')\n        conv31 = self.skip_path(conv31, block_level = '31', filters=self.filters[3])\n\n        up22 = Conv2DTranspose(filters = self.filters[2], kernel_size = 2, strides = 2, padding = 'same', name = 'upsample22')(conv31)\n        conv22 = concatenate([up22, conv20, conv21], name = 'concat22')\n        conv22 = self.skip_path(conv22, block_level = '22', filters = self.filters[2])\n\n        up13 = Conv2DTranspose(filters = self.filters[1], kernel_size = 2, strides = 2, padding = 'same', name = 'upsample13')(conv22)\n        conv13 = concatenate([up13, conv10, conv11, conv12], name='concat13')\n        conv13 = self.skip_path(conv13, block_level = '13', filters = self.filters[1])\n\n        up04 = Conv2DTranspose(filters = self.filters[0], kernel_size = 2, strides = 2, padding = 'same', name = 'upsample04')(conv13)\n        conv04 = concatenate([up04, conv00, conv01, conv02, conv03], name = 'concat04')\n        conv04 = self.Valdesguefa(conv04, block_level = '04', filters = self.filters[0])\n\n        nested_op_1 = Conv2D(filters = self.num_classes, kernel_size = 1, activation = tf.nn.sigmoid, \n                                  padding = 'same', name = 'op1')(conv01)\n\n        nested_op_2 = Conv2D(filters = self.num_classes, kernel_size = 1, activation = tf.nn.sigmoid, \n                                  padding = 'same', name = 'op2')(conv02)\n\n        nested_op_3 = Conv2D(filters = self.num_classes, kernel_size = 1, activation = tf.nn.sigmoid, \n                                  padding= 'same', name = 'op3')(conv03)\n\n        nested_op_4 = Conv2D(filters = self.num_classes, kernel_size = 1, activation = tf.nn.sigmoid, \n                                  padding = 'same', name = 'op4')(conv04)\n\n        if self.deep_supervision:\n            output = [nested_op_1, nested_op_2, nested_op_3, nested_op_4]\n        else:\n            output = [nested_op_4]\n\n        model = Model(inputs = input_img, outputs = output, name = \"UNetPP\")\n\n        return model\n\n    \n    def skip_path(self, input_tensor, block_level, filters, kernel_size = 3):\n\n        x = Conv2D(filters = filters, kernel_size = kernel_size, activation = tf.nn.relu, \n                   padding = 'same', name = 'conv' + block_level + '_1')(input_tensor)\n\n        x = Dropout(rate = 0.5, name = 'X' + block_level + '_')(x)\n\n        x = Conv2D(filters = filters, kernel_size = kernel_size, activation = tf.nn.relu, \n                   padding = 'same', name = 'conv' + block_level + '_2')(x)\n\n        x = Dropout(rate = 0.5, name = 'X' + block_level)(x)\n\n        return x\n\n    def Valdesguefa(self, input_tensor, block_level, filters, kernel_size = 3):\n\n\n        x = Conv2D(filters = filters, kernel_size = kernel_size, activation = tf.nn.relu, \n                   padding = 'same', name = 'conv' + block_level + '_1')(input_tensor)\n\n        x = Dropout(rate = 0.5, name = 'X' + block_level + '_')(x)\n\n        x = Conv2D(filters = filters, kernel_size = kernel_size, activation = tf.nn.relu, \n                   padding = 'same', name = 'conv' + block_level + '_2')(x)\n\n        x = Dropout(rate = 0.5, name = 'X' + block_level)(x)\n\n        return x\n\n    \n    def CompileAndSummarizeModel(self, model, optimizer=Adam(learning_rate = 0.0001)):\n\n        \n        model.compile(optimizer = optimizer, \n                      loss = 'binary_crossentropy',\n                       metrics = iou\n                     )\n        \n        model.summary()\n","metadata":{"execution":{"iopub.status.busy":"2022-12-06T07:33:10.280937Z","iopub.execute_input":"2022-12-06T07:33:10.281383Z","iopub.status.idle":"2022-12-06T07:33:11.211273Z","shell.execute_reply.started":"2022-12-06T07:33:10.281339Z","shell.execute_reply":"2022-12-06T07:33:11.210194Z"},"trusted":true},"execution_count":9,"outputs":[]},{"cell_type":"code","source":"#Modelcheckpoint\nUNetPlusPlus_ = UNetPlusPlus()\nmodel = UNetPlusPlus_.BuildNetwork()\nUNetPlusPlus_.CompileAndSummarizeModel(model = model)\n\n\nresults = model.fit(x = X_train, y = Y_train,batch_size=16, epochs=1200)","metadata":{"execution":{"iopub.status.busy":"2022-12-06T07:33:11.214908Z","iopub.execute_input":"2022-12-06T07:33:11.215336Z"},"trusted":true},"execution_count":null,"outputs":[{"name":"stdout","text":"Model: \"UNetPP\"\n__________________________________________________________________________________________________\nLayer (type)                    Output Shape         Param #     Connected to                     \n==================================================================================================\nInputLayer (InputLayer)         [(None, 128, 128, 3) 0                                            \n__________________________________________________________________________________________________\nconv00_1 (Conv2D)               (None, 128, 128, 32) 896         InputLayer[0][0]                 \n__________________________________________________________________________________________________\nX00_ (Dropout)                  (None, 128, 128, 32) 0           conv00_1[0][0]                   \n__________________________________________________________________________________________________\nconv00_2 (Conv2D)               (None, 128, 128, 32) 9248        X00_[0][0]                       \n__________________________________________________________________________________________________\nX00 (Dropout)                   (None, 128, 128, 32) 0           conv00_2[0][0]                   \n__________________________________________________________________________________________________\npool0 (MaxPooling2D)            (None, 64, 64, 32)   0           X00[0][0]                        \n__________________________________________________________________________________________________\nconv10_1 (Conv2D)               (None, 64, 64, 64)   18496       pool0[0][0]                      \n__________________________________________________________________________________________________\nX10_ (Dropout)                  (None, 64, 64, 64)   0           conv10_1[0][0]                   \n__________________________________________________________________________________________________\nconv10_2 (Conv2D)               (None, 64, 64, 64)   36928       X10_[0][0]                       \n__________________________________________________________________________________________________\nX10 (Dropout)                   (None, 64, 64, 64)   0           conv10_2[0][0]                   \n__________________________________________________________________________________________________\npool1 (MaxPooling2D)            (None, 32, 32, 64)   0           X10[0][0]                        \n__________________________________________________________________________________________________\nconv20_1 (Conv2D)               (None, 32, 32, 128)  73856       pool1[0][0]                      \n__________________________________________________________________________________________________\nX20_ (Dropout)                  (None, 32, 32, 128)  0           conv20_1[0][0]                   \n__________________________________________________________________________________________________\nconv20_2 (Conv2D)               (None, 32, 32, 128)  147584      X20_[0][0]                       \n__________________________________________________________________________________________________\nX20 (Dropout)                   (None, 32, 32, 128)  0           conv20_2[0][0]                   \n__________________________________________________________________________________________________\npool2 (MaxPooling2D)            (None, 16, 16, 128)  0           X20[0][0]                        \n__________________________________________________________________________________________________\nconv30_1 (Conv2D)               (None, 16, 16, 256)  295168      pool2[0][0]                      \n__________________________________________________________________________________________________\nX30_ (Dropout)                  (None, 16, 16, 256)  0           conv30_1[0][0]                   \n__________________________________________________________________________________________________\nconv30_2 (Conv2D)               (None, 16, 16, 256)  590080      X30_[0][0]                       \n__________________________________________________________________________________________________\nX30 (Dropout)                   (None, 16, 16, 256)  0           conv30_2[0][0]                   \n__________________________________________________________________________________________________\npool3 (MaxPooling2D)            (None, 8, 8, 256)    0           X30[0][0]                        \n__________________________________________________________________________________________________\nconv40_1 (Conv2D)               (None, 8, 8, 512)    1180160     pool3[0][0]                      \n__________________________________________________________________________________________________\nX40_ (Dropout)                  (None, 8, 8, 512)    0           conv40_1[0][0]                   \n__________________________________________________________________________________________________\nconv40_2 (Conv2D)               (None, 8, 8, 512)    2359808     X40_[0][0]                       \n__________________________________________________________________________________________________\nX40 (Dropout)                   (None, 8, 8, 512)    0           conv40_2[0][0]                   \n__________________________________________________________________________________________________\nupsample31 (Conv2DTranspose)    (None, 16, 16, 256)  524544      X40[0][0]                        \n__________________________________________________________________________________________________\nconcat31 (Concatenate)          (None, 16, 16, 512)  0           upsample31[0][0]                 \n                                                                 X30[0][0]                        \n__________________________________________________________________________________________________\nupsample21 (Conv2DTranspose)    (None, 32, 32, 128)  131200      X30[0][0]                        \n__________________________________________________________________________________________________\nconv31_1 (Conv2D)               (None, 16, 16, 256)  1179904     concat31[0][0]                   \n__________________________________________________________________________________________________\nconcat21 (Concatenate)          (None, 32, 32, 256)  0           upsample21[0][0]                 \n                                                                 X20[0][0]                        \n__________________________________________________________________________________________________\nupsample11 (Conv2DTranspose)    (None, 64, 64, 64)   32832       X20[0][0]                        \n__________________________________________________________________________________________________\nX31_ (Dropout)                  (None, 16, 16, 256)  0           conv31_1[0][0]                   \n__________________________________________________________________________________________________\nconv21_1 (Conv2D)               (None, 32, 32, 128)  295040      concat21[0][0]                   \n__________________________________________________________________________________________________\nconcat11 (Concatenate)          (None, 64, 64, 128)  0           upsample11[0][0]                 \n                                                                 X10[0][0]                        \n__________________________________________________________________________________________________\nupsample01 (Conv2DTranspose)    (None, 128, 128, 32) 8224        X10[0][0]                        \n__________________________________________________________________________________________________\nconv31_2 (Conv2D)               (None, 16, 16, 256)  590080      X31_[0][0]                       \n__________________________________________________________________________________________________\nX21_ (Dropout)                  (None, 32, 32, 128)  0           conv21_1[0][0]                   \n__________________________________________________________________________________________________\nconv11_1 (Conv2D)               (None, 64, 64, 64)   73792       concat11[0][0]                   \n__________________________________________________________________________________________________\nconcat01 (Concatenate)          (None, 128, 128, 64) 0           upsample01[0][0]                 \n                                                                 X00[0][0]                        \n__________________________________________________________________________________________________\nX31 (Dropout)                   (None, 16, 16, 256)  0           conv31_2[0][0]                   \n__________________________________________________________________________________________________\nconv21_2 (Conv2D)               (None, 32, 32, 128)  147584      X21_[0][0]                       \n__________________________________________________________________________________________________\nX11_ (Dropout)                  (None, 64, 64, 64)   0           conv11_1[0][0]                   \n__________________________________________________________________________________________________\nconv01_1 (Conv2D)               (None, 128, 128, 32) 18464       concat01[0][0]                   \n__________________________________________________________________________________________________\nupsample22 (Conv2DTranspose)    (None, 32, 32, 128)  131200      X31[0][0]                        \n__________________________________________________________________________________________________\nX21 (Dropout)                   (None, 32, 32, 128)  0           conv21_2[0][0]                   \n__________________________________________________________________________________________________\nconv11_2 (Conv2D)               (None, 64, 64, 64)   36928       X11_[0][0]                       \n__________________________________________________________________________________________________\nX01_ (Dropout)                  (None, 128, 128, 32) 0           conv01_1[0][0]                   \n__________________________________________________________________________________________________\nconcat22 (Concatenate)          (None, 32, 32, 384)  0           upsample22[0][0]                 \n                                                                 X20[0][0]                        \n                                                                 X21[0][0]                        \n__________________________________________________________________________________________________\nX11 (Dropout)                   (None, 64, 64, 64)   0           conv11_2[0][0]                   \n__________________________________________________________________________________________________\nupsample12 (Conv2DTranspose)    (None, 64, 64, 64)   32832       X21[0][0]                        \n__________________________________________________________________________________________________\nconv01_2 (Conv2D)               (None, 128, 128, 32) 9248        X01_[0][0]                       \n__________________________________________________________________________________________________\nconv22_1 (Conv2D)               (None, 32, 32, 128)  442496      concat22[0][0]                   \n__________________________________________________________________________________________________\nconcat12 (Concatenate)          (None, 64, 64, 192)  0           upsample12[0][0]                 \n                                                                 X10[0][0]                        \n                                                                 X11[0][0]                        \n__________________________________________________________________________________________________\nX01 (Dropout)                   (None, 128, 128, 32) 0           conv01_2[0][0]                   \n__________________________________________________________________________________________________\nupsample02 (Conv2DTranspose)    (None, 128, 128, 32) 8224        X11[0][0]                        \n__________________________________________________________________________________________________\nX22_ (Dropout)                  (None, 32, 32, 128)  0           conv22_1[0][0]                   \n__________________________________________________________________________________________________\nconv12_1 (Conv2D)               (None, 64, 64, 64)   110656      concat12[0][0]                   \n__________________________________________________________________________________________________\nconcat02 (Concatenate)          (None, 128, 128, 96) 0           upsample02[0][0]                 \n                                                                 X00[0][0]                        \n                                                                 X01[0][0]                        \n__________________________________________________________________________________________________\nconv22_2 (Conv2D)               (None, 32, 32, 128)  147584      X22_[0][0]                       \n__________________________________________________________________________________________________\nX12_ (Dropout)                  (None, 64, 64, 64)   0           conv12_1[0][0]                   \n__________________________________________________________________________________________________\nconv02_1 (Conv2D)               (None, 128, 128, 32) 27680       concat02[0][0]                   \n__________________________________________________________________________________________________\nX22 (Dropout)                   (None, 32, 32, 128)  0           conv22_2[0][0]                   \n__________________________________________________________________________________________________\nconv12_2 (Conv2D)               (None, 64, 64, 64)   36928       X12_[0][0]                       \n__________________________________________________________________________________________________\nX02_ (Dropout)                  (None, 128, 128, 32) 0           conv02_1[0][0]                   \n__________________________________________________________________________________________________\nupsample13 (Conv2DTranspose)    (None, 64, 64, 64)   32832       X22[0][0]                        \n__________________________________________________________________________________________________\nX12 (Dropout)                   (None, 64, 64, 64)   0           conv12_2[0][0]                   \n__________________________________________________________________________________________________\nconv02_2 (Conv2D)               (None, 128, 128, 32) 9248        X02_[0][0]                       \n__________________________________________________________________________________________________\nconcat13 (Concatenate)          (None, 64, 64, 256)  0           upsample13[0][0]                 \n                                                                 X10[0][0]                        \n                                                                 X11[0][0]                        \n                                                                 X12[0][0]                        \n__________________________________________________________________________________________________\nX02 (Dropout)                   (None, 128, 128, 32) 0           conv02_2[0][0]                   \n__________________________________________________________________________________________________\nupsample03 (Conv2DTranspose)    (None, 128, 128, 32) 8224        X12[0][0]                        \n__________________________________________________________________________________________________\nconv13_1 (Conv2D)               (None, 64, 64, 64)   147520      concat13[0][0]                   \n__________________________________________________________________________________________________\nconcat03 (Concatenate)          (None, 128, 128, 128 0           upsample03[0][0]                 \n                                                                 X00[0][0]                        \n                                                                 X01[0][0]                        \n                                                                 X02[0][0]                        \n__________________________________________________________________________________________________\nX13_ (Dropout)                  (None, 64, 64, 64)   0           conv13_1[0][0]                   \n__________________________________________________________________________________________________\nconv03_1 (Conv2D)               (None, 128, 128, 32) 36896       concat03[0][0]                   \n__________________________________________________________________________________________________\nconv13_2 (Conv2D)               (None, 64, 64, 64)   36928       X13_[0][0]                       \n__________________________________________________________________________________________________\nX03_ (Dropout)                  (None, 128, 128, 32) 0           conv03_1[0][0]                   \n__________________________________________________________________________________________________\nX13 (Dropout)                   (None, 64, 64, 64)   0           conv13_2[0][0]                   \n__________________________________________________________________________________________________\nconv03_2 (Conv2D)               (None, 128, 128, 32) 9248        X03_[0][0]                       \n__________________________________________________________________________________________________\nupsample04 (Conv2DTranspose)    (None, 128, 128, 32) 8224        X13[0][0]                        \n__________________________________________________________________________________________________\nX03 (Dropout)                   (None, 128, 128, 32) 0           conv03_2[0][0]                   \n__________________________________________________________________________________________________\nconcat04 (Concatenate)          (None, 128, 128, 160 0           upsample04[0][0]                 \n                                                                 X00[0][0]                        \n                                                                 X01[0][0]                        \n                                                                 X02[0][0]                        \n                                                                 X03[0][0]                        \n__________________________________________________________________________________________________\nconv04_1 (Conv2D)               (None, 128, 128, 32) 46112       concat04[0][0]                   \n__________________________________________________________________________________________________\nX04_ (Dropout)                  (None, 128, 128, 32) 0           conv04_1[0][0]                   \n__________________________________________________________________________________________________\nconv04_2 (Conv2D)               (None, 128, 128, 32) 9248        X04_[0][0]                       \n__________________________________________________________________________________________________\nX04 (Dropout)                   (None, 128, 128, 32) 0           conv04_2[0][0]                   \n__________________________________________________________________________________________________\nop4 (Conv2D)                    (None, 128, 128, 1)  33          X04[0][0]                        \n==================================================================================================\nTotal params: 9,042,177\nTrainable params: 9,042,177\nNon-trainable params: 0\n__________________________________________________________________________________________________\nEpoch 1/1200\n42/42 [==============================] - 32s 350ms/step - loss: 3.8682 - iou: 0.1514\nEpoch 2/1200\n42/42 [==============================] - 9s 215ms/step - loss: 1.1679 - iou: 0.1601\nEpoch 3/1200\n42/42 [==============================] - 9s 217ms/step - loss: 0.7382 - iou: 0.1809\nEpoch 4/1200\n42/42 [==============================] - 9s 219ms/step - loss: 0.6778 - iou: 0.1914\nEpoch 5/1200\n42/42 [==============================] - 9s 223ms/step - loss: 0.6563 - iou: 0.1948\nEpoch 6/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.5416 - iou: 0.2264\nEpoch 7/1200\n42/42 [==============================] - 10s 229ms/step - loss: 0.4388 - iou: 0.2694\nEpoch 8/1200\n42/42 [==============================] - 10s 233ms/step - loss: 0.4129 - iou: 0.2825\nEpoch 9/1200\n42/42 [==============================] - 10s 232ms/step - loss: 0.3922 - iou: 0.2929\nEpoch 10/1200\n42/42 [==============================] - 10s 228ms/step - loss: 0.3943 - iou: 0.2944\nEpoch 11/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.3713 - iou: 0.3055\nEpoch 12/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.3689 - iou: 0.3074\nEpoch 13/1200\n42/42 [==============================] - 9s 224ms/step - loss: 0.3641 - iou: 0.3121\nEpoch 14/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.3546 - iou: 0.3197\nEpoch 15/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.3479 - iou: 0.3235\nEpoch 16/1200\n42/42 [==============================] - 10s 228ms/step - loss: 0.3426 - iou: 0.3267\nEpoch 17/1200\n42/42 [==============================] - 10s 229ms/step - loss: 0.3369 - iou: 0.3329\nEpoch 18/1200\n42/42 [==============================] - 10s 229ms/step - loss: 0.3304 - iou: 0.3390\nEpoch 19/1200\n42/42 [==============================] - 10s 228ms/step - loss: 0.3251 - iou: 0.3437\nEpoch 20/1200\n42/42 [==============================] - 10s 228ms/step - loss: 0.3185 - iou: 0.3517\nEpoch 21/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.3138 - iou: 0.3565\nEpoch 22/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.3074 - iou: 0.3624\nEpoch 23/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.3089 - iou: 0.3624\nEpoch 24/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.2992 - iou: 0.3700\nEpoch 25/1200\n42/42 [==============================] - 10s 228ms/step - loss: 0.2961 - iou: 0.3758\nEpoch 26/1200\n42/42 [==============================] - 10s 228ms/step - loss: 0.2926 - iou: 0.3765\nEpoch 27/1200\n42/42 [==============================] - 10s 228ms/step - loss: 0.2855 - iou: 0.3825\nEpoch 28/1200\n42/42 [==============================] - 10s 228ms/step - loss: 0.2815 - iou: 0.3870\nEpoch 29/1200\n42/42 [==============================] - 10s 228ms/step - loss: 0.2785 - iou: 0.3900\nEpoch 30/1200\n42/42 [==============================] - 10s 228ms/step - loss: 0.2753 - iou: 0.3930\nEpoch 31/1200\n42/42 [==============================] - 10s 228ms/step - loss: 0.2736 - iou: 0.3941\nEpoch 32/1200\n42/42 [==============================] - 10s 228ms/step - loss: 0.2694 - iou: 0.3986\nEpoch 33/1200\n42/42 [==============================] - 10s 228ms/step - loss: 0.2695 - iou: 0.3982\nEpoch 34/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.2680 - iou: 0.3999\nEpoch 35/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.2708 - iou: 0.3975\nEpoch 36/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.2548 - iou: 0.4137\nEpoch 41/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.2530 - iou: 0.4132\nEpoch 42/1200\n42/42 [==============================] - 10s 228ms/step - loss: 0.2516 - iou: 0.4160\nEpoch 43/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.2501 - iou: 0.4176\nEpoch 44/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.2485 - iou: 0.4186\nEpoch 45/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.2483 - iou: 0.4196\nEpoch 46/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2465 - iou: 0.4214\nEpoch 47/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.2487 - iou: 0.4187\nEpoch 48/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.2450 - iou: 0.4236\nEpoch 49/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2435 - iou: 0.4259\nEpoch 50/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2424 - iou: 0.4269\nEpoch 51/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2412 - iou: 0.4279\nEpoch 52/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2399 - iou: 0.4300\nEpoch 53/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2393 - iou: 0.4305\nEpoch 54/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2382 - iou: 0.4315\nEpoch 55/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.2375 - iou: 0.4332\nEpoch 56/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.2369 - iou: 0.4342\nEpoch 57/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2358 - iou: 0.4359\nEpoch 58/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.2349 - iou: 0.4366\nEpoch 59/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2341 - iou: 0.4367\nEpoch 60/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2327 - iou: 0.4394\nEpoch 61/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.2321 - iou: 0.4409\nEpoch 62/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.2316 - iou: 0.4416\nEpoch 63/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.2310 - iou: 0.4430\nEpoch 64/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2293 - iou: 0.4443\nEpoch 65/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.2286 - iou: 0.4463\nEpoch 66/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2280 - iou: 0.4456\nEpoch 67/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.2272 - iou: 0.4473\nEpoch 68/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.2264 - iou: 0.4487\nEpoch 69/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2252 - iou: 0.4501\nEpoch 70/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2247 - iou: 0.4513\nEpoch 71/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.2238 - iou: 0.4529\nEpoch 72/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2236 - iou: 0.4531\nEpoch 73/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2225 - iou: 0.4557\nEpoch 74/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2222 - iou: 0.4563\nEpoch 75/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.2212 - iou: 0.4573\nEpoch 76/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.2205 - iou: 0.4576\nEpoch 77/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2196 - iou: 0.4597\nEpoch 78/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2192 - iou: 0.4603\nEpoch 79/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2193 - iou: 0.4600\nEpoch 80/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2179 - iou: 0.4624\nEpoch 81/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2168 - iou: 0.4638\nEpoch 82/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2166 - iou: 0.4646\nEpoch 83/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2159 - iou: 0.4656\nEpoch 84/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2150 - iou: 0.4672\nEpoch 85/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2144 - iou: 0.4680\nEpoch 86/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.2140 - iou: 0.4693\nEpoch 87/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2139 - iou: 0.4690\nEpoch 88/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.2133 - iou: 0.4716\nEpoch 89/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2122 - iou: 0.4720\nEpoch 90/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.2115 - iou: 0.4733\nEpoch 91/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.2107 - iou: 0.4739\nEpoch 92/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2107 - iou: 0.4746\nEpoch 93/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2102 - iou: 0.4752\nEpoch 94/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2093 - iou: 0.4784\nEpoch 95/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2086 - iou: 0.4779\nEpoch 96/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2082 - iou: 0.4796\nEpoch 97/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2074 - iou: 0.4801\nEpoch 98/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2070 - iou: 0.4817\nEpoch 99/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2057 - iou: 0.4824\nEpoch 100/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2052 - iou: 0.4843\nEpoch 101/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2048 - iou: 0.4851\nEpoch 102/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2037 - iou: 0.4856\nEpoch 103/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2032 - iou: 0.4876\nEpoch 104/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.2025 - iou: 0.4884\nEpoch 105/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.2019 - iou: 0.4895\nEpoch 106/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2012 - iou: 0.4913\nEpoch 107/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.2002 - iou: 0.4938\nEpoch 108/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1995 - iou: 0.4947\nEpoch 109/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1988 - iou: 0.4951\nEpoch 110/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1980 - iou: 0.4974\nEpoch 111/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1973 - iou: 0.4985\nEpoch 112/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1964 - iou: 0.5001\nEpoch 113/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1952 - iou: 0.5030\nEpoch 114/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1945 - iou: 0.5031\nEpoch 115/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1932 - iou: 0.5064\nEpoch 116/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1934 - iou: 0.5053\nEpoch 117/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1914 - iou: 0.5082\nEpoch 118/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.1902 - iou: 0.5100\nEpoch 119/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1889 - iou: 0.5128\nEpoch 120/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1883 - iou: 0.5135\nEpoch 121/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1873 - iou: 0.5165\nEpoch 122/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1866 - iou: 0.5168\nEpoch 123/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1860 - iou: 0.5190\nEpoch 124/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1853 - iou: 0.5207\nEpoch 125/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1842 - iou: 0.5214\nEpoch 126/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1829 - iou: 0.5235\nEpoch 127/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1827 - iou: 0.5262\nEpoch 128/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1819 - iou: 0.5265\nEpoch 129/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1816 - iou: 0.5280\nEpoch 130/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1806 - iou: 0.5300\nEpoch 131/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1802 - iou: 0.5316\nEpoch 132/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1792 - iou: 0.5334\nEpoch 133/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1782 - iou: 0.5355\nEpoch 134/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1770 - iou: 0.5383\nEpoch 135/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1775 - iou: 0.5375\nEpoch 136/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1752 - iou: 0.5420\nEpoch 137/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1751 - iou: 0.5432\nEpoch 138/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1744 - iou: 0.5444\nEpoch 139/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1739 - iou: 0.5458\nEpoch 140/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1722 - iou: 0.5494\nEpoch 141/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1718 - iou: 0.5504\nEpoch 142/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1710 - iou: 0.5516\nEpoch 143/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1700 - iou: 0.5543\nEpoch 144/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.1698 - iou: 0.5549\nEpoch 145/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1688 - iou: 0.5575\nEpoch 146/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1675 - iou: 0.5599\nEpoch 147/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1666 - iou: 0.5618\nEpoch 148/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1661 - iou: 0.5635\nEpoch 149/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1653 - iou: 0.5648\nEpoch 150/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1650 - iou: 0.5658\nEpoch 151/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.1638 - iou: 0.5692\nEpoch 152/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1631 - iou: 0.5708\nEpoch 153/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1621 - iou: 0.5726\nEpoch 154/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.1616 - iou: 0.5747\nEpoch 155/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1605 - iou: 0.5771\nEpoch 156/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.1597 - iou: 0.5794\nEpoch 157/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1601 - iou: 0.5796\nEpoch 158/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.1581 - iou: 0.5824\nEpoch 159/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1570 - iou: 0.5857\nEpoch 160/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1561 - iou: 0.5874\nEpoch 161/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1552 - iou: 0.5898\nEpoch 162/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1547 - iou: 0.5916\nEpoch 163/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1534 - iou: 0.5947\nEpoch 164/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1530 - iou: 0.5956\nEpoch 165/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1524 - iou: 0.5976\nEpoch 166/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1508 - iou: 0.6008\nEpoch 167/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1500 - iou: 0.6032\nEpoch 168/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1493 - iou: 0.6049\nEpoch 169/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1477 - iou: 0.6088\nEpoch 170/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1482 - iou: 0.6096\nEpoch 171/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1465 - iou: 0.6123\nEpoch 172/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1460 - iou: 0.6139\nEpoch 173/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1450 - iou: 0.6157\nEpoch 174/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1456 - iou: 0.6176\nEpoch 175/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1439 - iou: 0.6211\nEpoch 176/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1426 - iou: 0.6228\nEpoch 177/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1424 - iou: 0.6240\nEpoch 178/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1413 - iou: 0.6261\nEpoch 179/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1410 - iou: 0.6290\nEpoch 180/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1395 - iou: 0.6313\nEpoch 181/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1387 - iou: 0.6339\nEpoch 182/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1382 - iou: 0.6356\nEpoch 183/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1372 - iou: 0.6377\nEpoch 184/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1371 - iou: 0.6395\nEpoch 185/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1361 - iou: 0.6418\nEpoch 186/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1350 - iou: 0.6458\nEpoch 187/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1337 - iou: 0.6491\nEpoch 188/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1338 - iou: 0.6488\nEpoch 189/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1318 - iou: 0.6529\nEpoch 190/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1307 - iou: 0.6562\nEpoch 191/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.1295 - iou: 0.6586\nEpoch 192/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1293 - iou: 0.6609\nEpoch 193/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1284 - iou: 0.6630\nEpoch 194/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1287 - iou: 0.6632\nEpoch 195/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1272 - iou: 0.6672\nEpoch 196/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1265 - iou: 0.6692\nEpoch 197/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1262 - iou: 0.6712\nEpoch 198/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1257 - iou: 0.6727\nEpoch 199/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1238 - iou: 0.6767\nEpoch 200/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1237 - iou: 0.6777\nEpoch 201/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1226 - iou: 0.6802\nEpoch 202/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1228 - iou: 0.6820\nEpoch 203/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1211 - iou: 0.6836\nEpoch 204/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1199 - iou: 0.6876\nEpoch 205/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1193 - iou: 0.6892\nEpoch 206/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1186 - iou: 0.6918\nEpoch 207/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1182 - iou: 0.6931\nEpoch 208/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1182 - iou: 0.6949\nEpoch 209/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1168 - iou: 0.6969\nEpoch 210/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1160 - iou: 0.6997\nEpoch 211/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1149 - iou: 0.7020\nEpoch 212/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1147 - iou: 0.7028\nEpoch 213/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1136 - iou: 0.7063\nEpoch 214/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1131 - iou: 0.7087\nEpoch 215/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1125 - iou: 0.7105\nEpoch 216/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1126 - iou: 0.7119\nEpoch 217/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1112 - iou: 0.7123\nEpoch 218/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1104 - iou: 0.7156\nEpoch 219/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1085 - iou: 0.7228\nEpoch 223/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1080 - iou: 0.7238\nEpoch 224/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1071 - iou: 0.7267\nEpoch 225/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1059 - iou: 0.7297\nEpoch 226/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1061 - iou: 0.7304\nEpoch 227/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1055 - iou: 0.7319\nEpoch 228/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1047 - iou: 0.7335\nEpoch 229/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1038 - iou: 0.7358\nEpoch 230/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1042 - iou: 0.7368\nEpoch 231/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1030 - iou: 0.7384\nEpoch 232/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1031 - iou: 0.7401\nEpoch 233/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1027 - iou: 0.7407\nEpoch 234/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1021 - iou: 0.7433\nEpoch 235/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1029 - iou: 0.7421\nEpoch 236/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1006 - iou: 0.7462\nEpoch 237/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.1012 - iou: 0.7464\nEpoch 238/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.1002 - iou: 0.7476\nEpoch 239/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0995 - iou: 0.7501\nEpoch 240/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0988 - iou: 0.7524\nEpoch 241/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.0987 - iou: 0.7533\nEpoch 242/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0978 - iou: 0.7553\nEpoch 243/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0977 - iou: 0.7556\nEpoch 244/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.0972 - iou: 0.7577\nEpoch 245/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0974 - iou: 0.7570\nEpoch 246/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0967 - iou: 0.7593\nEpoch 247/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0951 - iou: 0.7623\nEpoch 248/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0956 - iou: 0.7632\nEpoch 249/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0945 - iou: 0.7642\nEpoch 250/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0933 - iou: 0.7671\nEpoch 251/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.0943 - iou: 0.7667\nEpoch 252/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0942 - iou: 0.7670\nEpoch 253/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0927 - iou: 0.7693\nEpoch 254/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0923 - iou: 0.7702\nEpoch 255/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0918 - iou: 0.7732\nEpoch 256/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0917 - iou: 0.7732\nEpoch 257/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0912 - iou: 0.7735\nEpoch 258/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0827 - iou: 0.8000\nEpoch 285/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0821 - iou: 0.8016\nEpoch 286/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0620 - iou: 0.8539\nEpoch 384/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0618 - iou: 0.8539\nEpoch 385/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0615 - iou: 0.8553\nEpoch 386/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0619 - iou: 0.8544\nEpoch 387/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.0614 - iou: 0.8559\nEpoch 388/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0615 - iou: 0.8560\nEpoch 389/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0614 - iou: 0.8557\nEpoch 390/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0616 - iou: 0.8556\nEpoch 391/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0612 - iou: 0.8558\nEpoch 392/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0609 - iou: 0.8569\nEpoch 393/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0607 - iou: 0.8575\nEpoch 394/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.0606 - iou: 0.8567\nEpoch 395/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0609 - iou: 0.8573\nEpoch 396/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0605 - iou: 0.8582\nEpoch 397/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0602 - iou: 0.8592\nEpoch 398/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0602 - iou: 0.8596\nEpoch 399/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0604 - iou: 0.8597\nEpoch 400/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0597 - iou: 0.8605\nEpoch 401/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0598 - iou: 0.8600\nEpoch 402/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0601 - iou: 0.8601\nEpoch 403/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0588 - iou: 0.8625\nEpoch 411/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0586 - iou: 0.8634\nEpoch 412/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0590 - iou: 0.8627\nEpoch 413/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0583 - iou: 0.8636\nEpoch 414/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0586 - iou: 0.8637\nEpoch 415/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0581 - iou: 0.8640\nEpoch 416/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0582 - iou: 0.8640\nEpoch 417/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.0580 - iou: 0.8646\nEpoch 418/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0579 - iou: 0.8637\nEpoch 419/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0579 - iou: 0.8653\nEpoch 420/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0579 - iou: 0.8657\nEpoch 421/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0580 - iou: 0.8651\nEpoch 422/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0577 - iou: 0.8650\nEpoch 423/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0579 - iou: 0.8656\nEpoch 424/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0576 - iou: 0.8661\nEpoch 425/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0575 - iou: 0.8664\nEpoch 426/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0573 - iou: 0.8667\nEpoch 427/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0569 - iou: 0.8677\nEpoch 428/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0567 - iou: 0.8683\nEpoch 429/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0572 - iou: 0.8678\nEpoch 430/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0569 - iou: 0.8682\nEpoch 431/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0571 - iou: 0.8667\nEpoch 432/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0567 - iou: 0.8678\nEpoch 433/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0571 - iou: 0.8685\nEpoch 434/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0577 - iou: 0.8663\nEpoch 435/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0572 - iou: 0.8665\nEpoch 436/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0573 - iou: 0.8670\nEpoch 437/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.0565 - iou: 0.8697\nEpoch 438/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0562 - iou: 0.8698\nEpoch 439/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0563 - iou: 0.8691\nEpoch 440/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.0563 - iou: 0.8684\nEpoch 441/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0560 - iou: 0.8700\nEpoch 442/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0558 - iou: 0.8700\nEpoch 443/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.0554 - iou: 0.8711\nEpoch 444/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0556 - iou: 0.8712\nEpoch 445/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0554 - iou: 0.8717\nEpoch 446/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0552 - iou: 0.8723\nEpoch 447/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.0557 - iou: 0.8702\nEpoch 448/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0555 - iou: 0.8709\nEpoch 449/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0554 - iou: 0.8716\nEpoch 450/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0557 - iou: 0.8706\nEpoch 451/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0556 - iou: 0.8718\nEpoch 452/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0552 - iou: 0.8720\nEpoch 453/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0582 - iou: 0.8666\nEpoch 454/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0574 - iou: 0.8687\nEpoch 455/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0557 - iou: 0.8703\nEpoch 456/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0549 - iou: 0.8727\nEpoch 457/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0549 - iou: 0.8726\nEpoch 458/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0548 - iou: 0.8734\nEpoch 459/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0546 - iou: 0.8735\nEpoch 460/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0547 - iou: 0.8741\nEpoch 461/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0546 - iou: 0.8733\nEpoch 462/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0544 - iou: 0.8739\nEpoch 463/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0543 - iou: 0.8742\nEpoch 464/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0545 - iou: 0.8744\nEpoch 465/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0544 - iou: 0.8737\nEpoch 466/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0540 - iou: 0.8753\nEpoch 467/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0542 - iou: 0.8747\nEpoch 468/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0543 - iou: 0.8736\nEpoch 469/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0542 - iou: 0.8749\nEpoch 470/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0542 - iou: 0.8747\nEpoch 471/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0534 - iou: 0.8758\nEpoch 483/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0530 - iou: 0.8773\nEpoch 484/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0531 - iou: 0.8776\nEpoch 485/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0544 - iou: 0.8744\nEpoch 486/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0537 - iou: 0.8764\nEpoch 487/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0532 - iou: 0.8768\nEpoch 488/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0528 - iou: 0.8777\nEpoch 489/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0531 - iou: 0.8770\nEpoch 490/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0531 - iou: 0.8775\nEpoch 491/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0529 - iou: 0.8775\nEpoch 492/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0529 - iou: 0.8775\nEpoch 493/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0527 - iou: 0.8773\nEpoch 494/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0523 - iou: 0.8790\nEpoch 495/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0520 - iou: 0.8790\nEpoch 496/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0521 - iou: 0.8800\nEpoch 497/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.0524 - iou: 0.8784\nEpoch 498/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.0521 - iou: 0.8790\nEpoch 499/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0523 - iou: 0.8788\nEpoch 500/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.0520 - iou: 0.8798\nEpoch 501/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0519 - iou: 0.8795\nEpoch 502/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0523 - iou: 0.8791\nEpoch 503/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.0527 - iou: 0.8785\nEpoch 504/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0539 - iou: 0.8760\nEpoch 505/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0524 - iou: 0.8783\nEpoch 506/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0523 - iou: 0.8789\nEpoch 507/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0519 - iou: 0.8799\nEpoch 508/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0519 - iou: 0.8796\nEpoch 509/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0522 - iou: 0.8799\nEpoch 510/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0513 - iou: 0.8815\nEpoch 511/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0514 - iou: 0.8807\nEpoch 512/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0512 - iou: 0.8817\nEpoch 513/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0512 - iou: 0.8809\nEpoch 514/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0511 - iou: 0.8820\nEpoch 515/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0511 - iou: 0.8818\nEpoch 516/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0510 - iou: 0.8819\nEpoch 517/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0507 - iou: 0.8823\nEpoch 518/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0509 - iou: 0.8813\nEpoch 519/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0509 - iou: 0.8823\nEpoch 520/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0508 - iou: 0.8827\nEpoch 521/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0504 - iou: 0.8835\nEpoch 522/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0506 - iou: 0.8830\nEpoch 523/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.0504 - iou: 0.8827\nEpoch 524/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0504 - iou: 0.8824\nEpoch 525/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0501 - iou: 0.8843\nEpoch 526/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.0501 - iou: 0.8830\nEpoch 527/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0490 - iou: 0.8867\nEpoch 548/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0489 - iou: 0.8866\nEpoch 549/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0490 - iou: 0.8864\nEpoch 550/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0490 - iou: 0.8852\nEpoch 551/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0492 - iou: 0.8866\nEpoch 552/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0491 - iou: 0.8862\nEpoch 553/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0489 - iou: 0.8870\nEpoch 554/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0487 - iou: 0.8864\nEpoch 555/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0490 - iou: 0.8869\nEpoch 556/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0486 - iou: 0.8865\nEpoch 557/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0489 - iou: 0.8870\nEpoch 558/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0483 - iou: 0.8875\nEpoch 559/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0485 - iou: 0.8877\nEpoch 560/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.0483 - iou: 0.8870\nEpoch 561/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0483 - iou: 0.8879\nEpoch 562/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0485 - iou: 0.8873\nEpoch 563/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.0484 - iou: 0.8881\nEpoch 564/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0482 - iou: 0.8884\nEpoch 565/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0483 - iou: 0.8880\nEpoch 566/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0480 - iou: 0.8891\nEpoch 567/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0481 - iou: 0.8887\nEpoch 568/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0478 - iou: 0.8886\nEpoch 569/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0481 - iou: 0.8882\nEpoch 570/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0479 - iou: 0.8888\nEpoch 571/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0480 - iou: 0.8879\nEpoch 572/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0478 - iou: 0.8893\nEpoch 573/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0477 - iou: 0.8892\nEpoch 574/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0477 - iou: 0.8893\nEpoch 575/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0479 - iou: 0.8885\nEpoch 576/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0480 - iou: 0.8891\nEpoch 577/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0476 - iou: 0.8896\nEpoch 578/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0480 - iou: 0.8884\nEpoch 579/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0482 - iou: 0.8877\nEpoch 580/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.0477 - iou: 0.8888\nEpoch 581/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0474 - iou: 0.8904\nEpoch 582/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0474 - iou: 0.8901\nEpoch 583/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0474 - iou: 0.8897\nEpoch 584/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0474 - iou: 0.8904\nEpoch 585/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0475 - iou: 0.8894\nEpoch 586/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0472 - iou: 0.8905\nEpoch 587/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0471 - iou: 0.8900\nEpoch 588/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.0469 - iou: 0.8910\nEpoch 595/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0471 - iou: 0.8907\nEpoch 596/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0467 - iou: 0.8913\nEpoch 597/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0465 - iou: 0.8916\nEpoch 598/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0466 - iou: 0.8924\nEpoch 599/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0467 - iou: 0.8903\nEpoch 600/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0465 - iou: 0.8917\nEpoch 601/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0465 - iou: 0.8924\nEpoch 602/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0464 - iou: 0.8932\nEpoch 603/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0463 - iou: 0.8923\nEpoch 604/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0465 - iou: 0.8924\nEpoch 605/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0461 - iou: 0.8923\nEpoch 606/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0463 - iou: 0.8923\nEpoch 607/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0462 - iou: 0.8917\nEpoch 608/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0461 - iou: 0.8932\nEpoch 609/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0459 - iou: 0.8927\nEpoch 610/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0456 - iou: 0.8942\nEpoch 611/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0458 - iou: 0.8936\nEpoch 612/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0458 - iou: 0.8934\nEpoch 613/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0458 - iou: 0.8940\nEpoch 614/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0456 - iou: 0.8931\nEpoch 615/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0458 - iou: 0.8935\nEpoch 616/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0474 - iou: 0.8902\nEpoch 617/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0535 - iou: 0.8792\nEpoch 618/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0488 - iou: 0.8878\nEpoch 619/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0467 - iou: 0.8908\nEpoch 620/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0463 - iou: 0.8924\nEpoch 621/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0459 - iou: 0.8939\nEpoch 622/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0458 - iou: 0.8929\nEpoch 623/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.0457 - iou: 0.8948\nEpoch 624/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0454 - iou: 0.8944\nEpoch 625/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0455 - iou: 0.8938\nEpoch 626/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.0454 - iou: 0.8939\nEpoch 627/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0452 - iou: 0.8945\nEpoch 628/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0453 - iou: 0.8943\nEpoch 629/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.0453 - iou: 0.8948\nEpoch 630/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0452 - iou: 0.8944\nEpoch 631/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0452 - iou: 0.8947\nEpoch 633/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0452 - iou: 0.8955\nEpoch 634/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0450 - iou: 0.8951\nEpoch 635/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0455 - iou: 0.8950\nEpoch 636/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0458 - iou: 0.8936\nEpoch 637/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0452 - iou: 0.8951\nEpoch 638/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0449 - iou: 0.8956\nEpoch 639/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0450 - iou: 0.8951\nEpoch 640/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0470 - iou: 0.8923\nEpoch 641/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0464 - iou: 0.8927\nEpoch 642/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0454 - iou: 0.8946\nEpoch 643/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0459 - iou: 0.8933\nEpoch 644/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0447 - iou: 0.8963\nEpoch 645/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0447 - iou: 0.8957\nEpoch 646/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0446 - iou: 0.8966\nEpoch 647/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0446 - iou: 0.8962\nEpoch 648/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0446 - iou: 0.8962\nEpoch 649/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0446 - iou: 0.8958\nEpoch 650/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0448 - iou: 0.8958\nEpoch 651/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0445 - iou: 0.8965\nEpoch 652/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0443 - iou: 0.8967\nEpoch 653/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0443 - iou: 0.8967\nEpoch 654/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0443 - iou: 0.8973\nEpoch 655/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0444 - iou: 0.8968\nEpoch 656/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0442 - iou: 0.8968\nEpoch 657/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0440 - iou: 0.8972\nEpoch 658/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0443 - iou: 0.8964\nEpoch 659/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0441 - iou: 0.8975\nEpoch 660/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0441 - iou: 0.8975\nEpoch 661/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0442 - iou: 0.8972\nEpoch 662/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0438 - iou: 0.8982\nEpoch 663/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.0440 - iou: 0.8982\nEpoch 664/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.0440 - iou: 0.8978\nEpoch 665/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0438 - iou: 0.8977\nEpoch 666/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.0437 - iou: 0.8984\nEpoch 667/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0440 - iou: 0.8983\nEpoch 668/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0438 - iou: 0.8977\nEpoch 669/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.0440 - iou: 0.8979\nEpoch 670/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0440 - iou: 0.8971\nEpoch 671/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0438 - iou: 0.8980\nEpoch 672/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0437 - iou: 0.8987\nEpoch 673/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0434 - iou: 0.8986\nEpoch 674/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0437 - iou: 0.8983\nEpoch 675/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0436 - iou: 0.8987\nEpoch 676/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0437 - iou: 0.8977\nEpoch 677/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0435 - iou: 0.8989\nEpoch 678/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0437 - iou: 0.8986\nEpoch 679/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0432 - iou: 0.8990\nEpoch 680/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0434 - iou: 0.8983\nEpoch 681/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0434 - iou: 0.8991\nEpoch 682/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0433 - iou: 0.8990\nEpoch 683/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0434 - iou: 0.8983\nEpoch 684/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0432 - iou: 0.8989\nEpoch 685/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0432 - iou: 0.8989\nEpoch 686/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0432 - iou: 0.8989\nEpoch 687/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0432 - iou: 0.8990\nEpoch 688/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0431 - iou: 0.8998\nEpoch 689/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0431 - iou: 0.8994\nEpoch 690/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0433 - iou: 0.8993\nEpoch 691/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0435 - iou: 0.8989\nEpoch 692/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0436 - iou: 0.8985\nEpoch 693/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0433 - iou: 0.8988\nEpoch 694/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0433 - iou: 0.8999\nEpoch 695/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0430 - iou: 0.8987\nEpoch 696/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0429 - iou: 0.9001\nEpoch 697/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0428 - iou: 0.9003\nEpoch 698/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0428 - iou: 0.9003\nEpoch 699/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.0429 - iou: 0.9002\nEpoch 700/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0431 - iou: 0.8994\nEpoch 701/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0431 - iou: 0.9005\nEpoch 702/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0427 - iou: 0.9006\nEpoch 703/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0428 - iou: 0.9000\nEpoch 704/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0426 - iou: 0.9012\nEpoch 705/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0427 - iou: 0.9007\nEpoch 706/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0426 - iou: 0.9002\nEpoch 707/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0427 - iou: 0.9002\nEpoch 708/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0427 - iou: 0.9007\nEpoch 709/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0427 - iou: 0.8999\nEpoch 710/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0428 - iou: 0.9002\nEpoch 711/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0429 - iou: 0.8994\nEpoch 712/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0427 - iou: 0.9003\nEpoch 713/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0425 - iou: 0.9001\nEpoch 714/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0426 - iou: 0.9009\nEpoch 715/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0428 - iou: 0.8999\nEpoch 716/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.0425 - iou: 0.9006\nEpoch 717/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0424 - iou: 0.9006\nEpoch 718/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0422 - iou: 0.9019\nEpoch 719/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.0422 - iou: 0.9016\nEpoch 720/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.0422 - iou: 0.9013\nEpoch 721/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0423 - iou: 0.9007\nEpoch 722/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.0423 - iou: 0.9015\nEpoch 723/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.0416 - iou: 0.9028\nEpoch 743/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0418 - iou: 0.9023\nEpoch 744/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0419 - iou: 0.9020\nEpoch 745/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0418 - iou: 0.9024\nEpoch 746/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0419 - iou: 0.9019\nEpoch 747/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0416 - iou: 0.9027\nEpoch 748/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0414 - iou: 0.9029\nEpoch 749/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0419 - iou: 0.9026\nEpoch 750/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0416 - iou: 0.9027\nEpoch 751/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0416 - iou: 0.9030\nEpoch 752/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0415 - iou: 0.9026\nEpoch 753/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0413 - iou: 0.9036\nEpoch 766/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0410 - iou: 0.9034\nEpoch 767/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0411 - iou: 0.9046\nEpoch 768/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0410 - iou: 0.9034\nEpoch 769/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0411 - iou: 0.9038\nEpoch 770/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0418 - iou: 0.9021\nEpoch 771/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0407 - iou: 0.9051\nEpoch 789/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.0408 - iou: 0.9043\nEpoch 790/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0407 - iou: 0.9047\nEpoch 791/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0406 - iou: 0.9044\nEpoch 792/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0407 - iou: 0.9050\nEpoch 793/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0405 - iou: 0.9056\nEpoch 794/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0404 - iou: 0.9049\nEpoch 795/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0404 - iou: 0.9044\nEpoch 796/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0405 - iou: 0.9050\nEpoch 797/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0403 - iou: 0.9046\nEpoch 798/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0406 - iou: 0.9052\nEpoch 799/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0403 - iou: 0.9053\nEpoch 800/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0403 - iou: 0.9048\nEpoch 801/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0403 - iou: 0.9059\nEpoch 802/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0402 - iou: 0.9054\nEpoch 803/1200\n42/42 [==============================] - 9s 224ms/step - loss: 0.0404 - iou: 0.9055\nEpoch 804/1200\n42/42 [==============================] - 9s 224ms/step - loss: 0.0404 - iou: 0.9052\nEpoch 805/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0402 - iou: 0.9053\nEpoch 806/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0402 - iou: 0.9061\nEpoch 807/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0402 - iou: 0.9058\nEpoch 808/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0402 - iou: 0.9053\nEpoch 809/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0402 - iou: 0.9056\nEpoch 810/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0401 - iou: 0.9057\nEpoch 811/1200\n42/42 [==============================] - 9s 224ms/step - loss: 0.0405 - iou: 0.9052\nEpoch 812/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0404 - iou: 0.9055\nEpoch 813/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0403 - iou: 0.9058\nEpoch 814/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0399 - iou: 0.9064\nEpoch 815/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0404 - iou: 0.9056\nEpoch 816/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0402 - iou: 0.9055\nEpoch 817/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0400 - iou: 0.9066\nEpoch 818/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0401 - iou: 0.9062\nEpoch 819/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0399 - iou: 0.9063\nEpoch 820/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0402 - iou: 0.9066\nEpoch 821/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0400 - iou: 0.9061\nEpoch 822/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0400 - iou: 0.9061\nEpoch 823/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0398 - iou: 0.9063\nEpoch 824/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0398 - iou: 0.9066\nEpoch 825/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0399 - iou: 0.9069\nEpoch 826/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0398 - iou: 0.9064\nEpoch 827/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0401 - iou: 0.9067\nEpoch 828/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0399 - iou: 0.9062\nEpoch 829/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0398 - iou: 0.9068\nEpoch 830/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0398 - iou: 0.9065\nEpoch 831/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0400 - iou: 0.9060\nEpoch 832/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.0400 - iou: 0.9058\nEpoch 833/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0398 - iou: 0.9062\nEpoch 834/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0397 - iou: 0.9065\nEpoch 835/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0397 - iou: 0.9068\nEpoch 836/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0400 - iou: 0.9066\nEpoch 837/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0398 - iou: 0.9069\nEpoch 838/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0397 - iou: 0.9064\nEpoch 839/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0396 - iou: 0.9071\nEpoch 840/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0396 - iou: 0.9070\nEpoch 841/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0396 - iou: 0.9072\nEpoch 842/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0397 - iou: 0.9067\nEpoch 843/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0396 - iou: 0.9070\nEpoch 844/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0395 - iou: 0.9079\nEpoch 845/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0393 - iou: 0.9069\nEpoch 846/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0396 - iou: 0.9070\nEpoch 847/1200\n42/42 [==============================] - 9s 224ms/step - loss: 0.0394 - iou: 0.9076\nEpoch 848/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0395 - iou: 0.9076\nEpoch 849/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0393 - iou: 0.9078\nEpoch 850/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0393 - iou: 0.9077\nEpoch 851/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0395 - iou: 0.9077\nEpoch 852/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0394 - iou: 0.9076\nEpoch 853/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0395 - iou: 0.9069\nEpoch 854/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0393 - iou: 0.9080\nEpoch 855/1200\n42/42 [==============================] - 10s 226ms/step - loss: 0.0393 - iou: 0.9071\nEpoch 856/1200\n13/42 [========>.....................] - ETA: 6s - loss: 0.0418 - iou: 0.9068","output_type":"stream"},{"text":"IOPub message rate exceeded.\nThe notebook server will temporarily stop sending output\nto the client in order to avoid crashing it.\nTo change this limit, set the config variable\n`--NotebookApp.iopub_msg_rate_limit`.\n\nCurrent values:\nNotebookApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\nNotebookApp.rate_limit_window=3.0 (secs)\n\n","name":"stderr","output_type":"stream"},{"name":"stdout","text":"42/42 [==============================] - 9s 226ms/step - loss: 0.0392 - iou: 0.9080\nEpoch 859/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0395 - iou: 0.9074\nEpoch 860/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0393 - iou: 0.9074\nEpoch 861/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0396 - iou: 0.9068\nEpoch 868/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0394 - iou: 0.9077\nEpoch 869/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0392 - iou: 0.9081\nEpoch 870/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0393 - iou: 0.9079\nEpoch 871/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0391 - iou: 0.9083\nEpoch 872/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0393 - iou: 0.9076\nEpoch 873/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0392 - iou: 0.9083\nEpoch 874/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0390 - iou: 0.9085\nEpoch 875/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0390 - iou: 0.9086\nEpoch 876/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0392 - iou: 0.9079\nEpoch 877/1200\n42/42 [==============================] - 9s 226ms/step - loss: 0.0389 - iou: 0.9086\nEpoch 878/1200\n42/42 [==============================] - 9s 225ms/step - loss: 0.0389 - iou: 0.9081\nEpoch 879/1200\n42/42 [==============================] - 10s 227ms/step - loss: 0.0388 - iou: 0.9088\nEpoch 880/1200\n21/42 [==============>...............] - ETA: 4s - loss: 0.0382 - iou: 0.9076","output_type":"stream"}]},{"cell_type":"code","source":"idx = random.randint(0, len(X_train))\n\n\npreds_train = model.predict(X_train[:int(X_train.shape[0]*0.9)], verbose=1)\npreds_val = model.predict(X_train[int(X_train.shape[0]*0.9):], verbose=1)\npreds_test = model.predict(X_test, verbose=1)\n\n \npreds_train_t = (preds_train > 0.5).astype(np.uint8)\npreds_val_t = (preds_val > 0.5).astype(np.uint8)\npreds_test_t = (preds_test > 0.5).astype(np.uint8)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Perform a sanity check on some random training samples\nix = random.randint(0, len(preds_train_t))\nimshow(X_train[ix])\nplt.show()\nimshow(np.squeeze(Y_train[ix]))\nplt.show()\nimshow(np.squeeze(preds_train_t[ix]))\nplt.show()","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Perform a sanity check on some random validation samples\nix = random.randint(0, len(preds_val_t))\nimshow(X_train[int(X_train.shape[0]*0.9):][ix])\nplt.show()\nimshow(np.squeeze(Y_train[int(Y_train.shape[0]*0.9):][ix]))\nplt.show()\nimshow(np.squeeze(preds_val_t[ix]))\nplt.show()","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]}]}