{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"This notebook is the second part of [RANZCR 1st Place Solution by TF](https://www.kaggle.com/tt195361/ranzcr-1st-place-solution-by-tf-1-make-masks), training of the segmentation model. This notebook is based on [RANZCR 1st Place Soluiton Seg Model (small ver.)](https://www.kaggle.com/haqishen/ranzcr-1st-place-soluiton-seg-model-small-ver).\n\nFor the segmentation model, the original notebook uses UnetPlusPlus in [segmentation_models_pytorch](https://github.com/qubvel/segmentation_models.pytorch). At first, I tried to convert it to Keras by using torch.onnx.export() and [onnx2keras](https://github.com/nerox8664/onnx2keras) in this [version](https://www.kaggle.com/tt195361/ranzcr-1st-place-solution-by-tf-2-seg-model?scriptVersionId=57986327). But the training of this model didn't improve accuracy. So, I changed to use Unet in [Segmentation Models](https://github.com/qubvel/segmentation_models).\n\nI selected EfficientNetB5 for the base of Unet. The original notebook uses EfficientNetB1.\n\nFor data augmentation, the original notebook uses methods in [Albumentations](https://github.com/albumentations-team/albumentations). I made similar one by Tensorflow.\n\nIt took about 4 hours and 30 minutes on TPU to run 1 fold. So some number of sessions are necessary to run a set of folds.\n\nThe plots below are sample training history of this model. They are from [Version 10](https://www.kaggle.com/tt195361/ranzcr-1st-place-solution-by-tf-2-seg-model?scriptVersionId=61479593). The accuracy grew up to around 80% gradually. CV result of classification model by using this result is about 0.964 ~ 0.967.\n\n![image.png](attachment:76bc47c5-209a-4058-a010-bd4ab405e866.png)\n\nIn some trainings, the accuracy became to almost 100% in a few epochs, then kept decreasing. It looks unusual. The plots below are the history of [Version 9](https://www.kaggle.com/tt195361/ranzcr-1st-place-solution-by-tf-2-seg-model?scriptVersionId=61377764). CV result from this result is about 0.948, worse than the above one.\n\n![image.png](attachment:4325b7b5-63a6-4ca5-9707-339ef46203c3.png)\n","metadata":{},"attachments":{"4325b7b5-63a6-4ca5-9707-339ef46203c3.png":{"image/png":"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"},"76bc47c5-209a-4058-a010-bd4ab405e866.png":{"image/png":"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"}}},{"cell_type":"markdown","source":"## Install Segmentation Models Locally","metadata":{}},{"cell_type":"code","source":"%env SM_FRAMEWORK=tf.keras\n!pip install ../input/segmentation-models-keras/Keras_Applications-1.0.8-py3-none-any.whl --quiet\n!pip install ../input/segmentation-models-keras/image_classifiers-1.0.0-py3-none-any.whl --quiet\n!pip install ../input/segmentation-models-keras/efficientnet-1.0.0-py3-none-any.whl --quiet\n!pip install ../input/segmentation-models-keras/segmentation_models-1.0.1-py3-none-any.whl --quiet\n\nprint(\"Segmentation Models installed.\")","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Config and Libraries","metadata":{}},{"cell_type":"code","source":"DEBUG = True","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# libraries\nimport os\nimport numpy as np\nimport matplotlib.pyplot as plt\nimport io\nimport math\nimport tensorflow as tf\nfrom tensorflow import keras\nimport tensorflow_addons as tfa\nimport segmentation_models as sm\nfrom kaggle_datasets import KaggleDatasets\n\nprint(tf.__version__)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"enet_type = 'efficientnetb5'\nimage_size = 1024\nbatch_size = 16 # original is 4\ninit_lr = 1e-4\nwarmup_epo = 1\n# If DEBUG == True, only run 3 epochs per fold\ncosine_epo = 29 if not DEBUG else 2\nn_epochs = warmup_epo + cosine_epo\n\nVID = \"V12\"\nFOLD_I_LIST=[0]","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"sm.set_framework('tf.keras')\ntf.keras.backend.set_image_data_format('channels_last')","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## TPU","metadata":{}},{"cell_type":"markdown","source":"[Tensorflow 2.4 for TPUs released](https://www.kaggle.com/product-feedback/216256)","metadata":{}},{"cell_type":"code","source":"try: # detect TPUs\n    # NEW: in Tensorflow 2.4\n    tpu = tf.distribute.cluster_resolver.TPUClusterResolver.connect() \n    strategy = tf.distribute.TPUStrategy(tpu)\nexcept ValueError: # otherwise detect GPUs\n    strategy = tf.distribute.MirroredStrategy() # single-GPU or multi-GPU\n    \nprint(f\"Running on {strategy.num_replicas_in_sync} replicas\")","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"seg_masks = 'ranzcr-segmentation-masks'\nGCS_DS_PATH = KaggleDatasets().get_gcs_path(seg_masks)\n\nGCS_DS_PATH","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Define Dataset","metadata":{}},{"cell_type":"code","source":"def decode_image(image_bytes):\n    image = tf.image.decode_jpeg(image_bytes, channels=3)\n    return image\n\ndef decode_mask(mask_bytes):\n    mask = tf.io.decode_png(mask_bytes, channels=3)\n    return mask\n\ndef read_tfrecord(example):\n    TFREC_FORMAT = {\n        'image': tf.io.FixedLenFeature([], tf.string),\n        'mask': tf.io.FixedLenFeature([], tf.string),\n        'fold': tf.io.FixedLenFeature([], tf.int64),\n    }\n    \n    example = tf.io.parse_single_example(example, TFREC_FORMAT)\n    image = decode_image(example['image'])\n    mask = decode_mask(example['mask'])\n    fold = example['fold']\n\n    image = tf.reshape(image, (image_size, image_size, 3))\n    mask = tf.reshape(mask, (image_size, image_size, 3))\n    return image, mask, fold\n\ndef load_dataset(filenames):\n    dataset = tf.data.TFRecordDataset(filenames, num_parallel_reads=None)\n    dataset = dataset.map(read_tfrecord, num_parallel_calls=None)\n    return dataset","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"tfrec_file_names = tf.io.gfile.glob(GCS_DS_PATH + '/*.tfrec')\ntfrec_file_names = \\\n    [ tfrec_file_names[0] ] if DEBUG else tfrec_file_names\nraw_ds = load_dataset(tfrec_file_names)\n\nprint(raw_ds)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Count the number of data in each folds for train and validation.","metadata":{}},{"cell_type":"code","source":"folds_list = []\nfor _, _, fold_batch in raw_ds.batch(256):\n    print('.', end='', flush=True)\n    folds_list.append(fold_batch)\n\nfolds = np.concatenate(folds_list)\nfold, counts = np.unique(folds, return_counts=True)\nfold_count_dict = dict(zip(fold, counts))\n\nfold_count_dict","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def fold_train_count(fold_i):\n    counts = [ \n        count for fold, count in fold_count_dict.items() \\\n        if fold != fold_i ]\n    return sum(counts)\n\ndef fold_val_count(fold_i):\n    return fold_count_dict[fold_i]","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Augumentations\n\n### Utilities","metadata":{}},{"cell_type":"code","source":"def scale_image_mask(image, mask):\n    image = tf.cast(image, dtype=tf.float32) / 255.0\n    # Value range of mask is 0..1, so type cast only.\n    mask = tf.cast(mask, dtype=tf.float32)\n    return image, mask","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def check_aug(aug_fun, with_mask):\n    image, mask, _ = next(iter(raw_ds.take(1)))\n    image, mask = scale_image_mask(image, mask)\n    \n    plt.figure(figsize=(12, 4))\n    rows = 2\n    cols = 5\n    aug_masks = []\n    for p in range(rows*cols):\n        aug_image, aug_mask = aug_fun(image, mask)\n        aug_masks.append(aug_mask)\n        \n        plt.subplot(rows, cols, p+1)\n        plt.imshow(aug_image)\n        plt.axis(\"off\")\n    plt.tight_layout()\n    plt.show()        \n    \n    if with_mask:\n        plt.figure(figsize=(12, 4))\n        for p, aug_mask in enumerate(aug_masks):\n            plt.subplot(rows, cols, p+1)\n            plt.imshow(aug_mask)\n            plt.axis(\"off\")\n        plt.tight_layout()\n        plt.show()","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def random_float(minval=0.0, maxval=1.0):\n    rnd = tf.random.uniform(\n        [], minval=minval, maxval=maxval, dtype=tf.float32)\n    return rnd\n\ndef choice(p, image1, mask1, image2, mask2):\n    rnd = random_float()\n    image = tf.where(rnd <= p, image1, image2)\n    mask = tf.where(rnd <= p, mask1, mask2)\n    return image, mask","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def mirror_boundary(v, max_v):\n    # v % (max_v*2.0-2.0) ==> v % (512*2-2) ==> [0..1022]\n    # [0..1022] - (max_v-1.0) ==> [0..1022] - 511 ==> [-511..511]\n    # -1.0 * abs([-511..511]) ==> [-511..0]\n    # [-511..0] + max_v - 1.0 ==> [-511..0] + 511 ==> [0..511]\n    mirror_v = -1.0 * tf.math.abs(\n        v % (max_v*2.0-2.0) - (max_v-1.0)) + max_v-1.0\n    return mirror_v\n\ndef clip_boundary(v, max_v):\n    clip_v = tf.clip_by_value(v, 0.0, max_v-1.0)\n    return clip_v\n\ndef interpolate_bilinear(image, map_x, map_y):\n    def _gather(image, map_x, map_y):\n        map_stack = tf.stack([map_x, map_y]) # [ 2, height, width ]\n        map_indices = tf.transpose(\n            map_stack, perm=[1, 2, 0])       # [ height, width, 2 ]\n        map_indices = tf.cast(map_indices, dtype=tf.int32)\n        gather_image = tf.gather_nd(image, map_indices)\n        return gather_image\n    \n    ll = _gather(image, tf.math.floor(map_x), tf.math.floor(map_y))\n    lr = _gather(image, tf.math.ceil(map_x), tf.math.floor(map_y))\n    ul = _gather(image, tf.math.floor(map_x), tf.math.ceil(map_y))\n    ur = _gather(image, tf.math.ceil(map_x), tf.math.ceil(map_y))\n    \n    fraction_x = tf.expand_dims(map_x % 1.0, axis=-1) # [h, w, 1]\n    int_l = (lr - ll) * fraction_x + ll\n    int_u = (ur - ul) * fraction_x + ul\n    \n    fraction_y = tf.expand_dims(map_y % 1.0, axis=-1) # [h, w, 1]\n    interpolate_image = (int_u - int_l) * fraction_y + int_l\n    return interpolate_image\n\ndef remap(image, height, width, map_x, map_y, mode):\n    assert \\\n        mode in ('mirror', 'constant'), \\\n        \"mode is neither 'mirror' nor 'constant'\"\n\n    height_f = tf.cast(height, dtype=tf.float32)\n    width_f = tf.cast(width, dtype=tf.float32)\n    map_x = tf.reshape(map_x, shape=[height, width])\n    map_y = tf.reshape(map_y, shape=[height, width])\n    if mode == 'mirror':\n        b_map_x = mirror_boundary(map_x, width_f)\n        b_map_y = mirror_boundary(map_y, height_f)\n    else:\n        b_map_x = clip_boundary(map_x, width_f)\n        b_map_y = clip_boundary(map_y, height_f)\n        \n    image_remap = interpolate_bilinear(image, b_map_x, b_map_y)\n    \n    if mode == 'constant':\n        map_stack = tf.stack([map_x, map_y])\n        map_indices = tf.transpose(map_stack, perm=[1, 2, 0])\n        x_ge_0 = (0.0 <= map_indices[ : , : , 0])    # [h, w]\n        x_lt_w = (map_indices[ : , : , 0] < width_f)\n        y_ge_0 = (0.0 <= map_indices[ : , : , 1])\n        y_lt_h = (map_indices[ : , : , 1] < height_f)\n        inside_boundary = tf.math.reduce_all(\n            tf.stack([x_ge_0, x_lt_w, y_ge_0, y_lt_h]), axis=0) # [h, w]\n        inside_boundary = inside_boundary[ : , : , tf.newaxis]  # [h, w, 1]\n        image_remap = tf.where(inside_boundary, image_remap, 0.0)\n\n    return image_remap","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### HorizontalFlip","metadata":{}},{"cell_type":"code","source":"def HorizontalFlip(p):\n    def _do_horizontal_flip(image, mask):\n        aug_image = tf.image.flip_left_right(image)\n        aug_mask = tf.image.flip_left_right(mask)\n        return choice(p, aug_image, aug_mask, image, mask)\n    return _do_horizontal_flip","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"horizontal_flip = HorizontalFlip(p=0.5)\ncheck_aug(horizontal_flip, with_mask=True)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### RandomBrightness","metadata":{}},{"cell_type":"code","source":"def RandomBrightness(max_delta, p):\n    def _do_random_brightness(image, mask):\n        aug_image = tf.image.random_brightness(image, max_delta)\n        return choice(p, aug_image, mask, image, mask)\n    return _do_random_brightness","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"random_brightness = RandomBrightness(max_delta=0.2, p=0.75)\ncheck_aug(random_brightness, with_mask=False)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### ShiftScaleRotate","metadata":{}},{"cell_type":"code","source":"def affine_transform(height, width, tx, ty, z, theta):\n    cx = (width - 1.0) * 0.5\n    cy = (height - 1.0) * 0.5\n    \n    center_shift_mat = tf.convert_to_tensor([\n        [1.0, 0.0, -cx],\n        [0.0, 1.0, -cy],\n        [0.0, 0.0, 1.0]], dtype=tf.float32)\n    trans_mat = center_shift_mat\n    \n    rot_rad = -2.0 * math.pi * theta / 360.0\n    roration_mat = tf.convert_to_tensor([\n        [tf.math.cos(rot_rad), tf.math.sin(rot_rad), 0.0],\n        [-tf.math.sin(rot_rad), tf.math.cos(rot_rad), 0.0],\n        [0.0, 0.0, 1.0]], dtype=tf.float32)\n    trans_mat = tf.linalg.matmul(roration_mat, trans_mat)\n    \n    shift_mat = tf.convert_to_tensor([\n        [1.0, 0.0, cx - tx],\n        [0.0, 1.0, cy - ty],\n        [0.0, 0.0, 1.0]], dtype=tf.float32)\n    trans_mat = tf.linalg.matmul(shift_mat, trans_mat)\n\n    zoom_mat = tf.convert_to_tensor([\n        [1.0 / z, 0.0, 0.0],\n        [0.0, 1.0 / z, 0.0],\n        [0.0, 0.0, 1.0]], dtype=tf.float32)\n    trans_mat = tf.linalg.matmul(zoom_mat, trans_mat)\n    \n    h_rng = tf.range(height, dtype=tf.float32)\n    w_rng = tf.range(width, dtype=tf.float32)\n    y, x = tf.meshgrid(h_rng, w_rng)\n    x = tf.reshape(x, [-1])\n    y = tf.reshape(y, [-1])\n    ones = tf.ones_like(x)\n    coord_mat = tf.stack([x, y, ones])\n    \n    res_mat = tf.linalg.matmul(trans_mat, coord_mat)\n    map_x = res_mat[0]\n    map_y = res_mat[1]\n    return map_x, map_y","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def ShiftScaleRotate(\n        shift_limit, scale_limit, rotate_limit, p):\n    def _do_shift_scale_rotate(image, mask):\n        image_shape = tf.shape(image)\n        height_i = image_shape[0]\n        width_i = image_shape[1]\n        height_f = tf.cast(height_i, dtype=tf.float32)\n        width_f = tf.cast(width_i, dtype=tf.float32)\n        tx = width_f * random_float(-shift_limit, shift_limit)\n        ty = height_f * random_float(-shift_limit, shift_limit)\n        z = random_float(1.0 - scale_limit, 1.0 + scale_limit)\n        theta = random_float(-rotate_limit, rotate_limit)\n\n        map_x, map_y = affine_transform(\n            height_f, width_f, tx, ty, z, theta)\n        aug_image = remap(\n            image, height_i, width_i, map_x, map_y, mode='constant')\n        aug_mask = remap(\n            mask, height_i, width_i, map_x, map_y, mode='constant')\n        return choice(p, aug_image, aug_mask, image, mask)\n    return _do_shift_scale_rotate","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"shift_scale_rotate = ShiftScaleRotate(\n    shift_limit=0.2, scale_limit=0.3, rotate_limit=30, p=0.75)\ncheck_aug(shift_scale_rotate, with_mask=True)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### Cutout","metadata":{}},{"cell_type":"code","source":"def randints(shape, minval, maxval):\n    # maxval+1 to include maxval for the result.\n    # generated range is [minval, maxval) (maxval is not included)\n    return tf.random.uniform(\n        shape=shape, minval=minval, maxval=maxval+1, dtype=tf.int32)\n\ndef make_range_masks(size, starts, ends):\n    indice = tf.range(size, dtype=tf.int32)\n    start_masks = (\n        starts[ : , tf.newaxis] <= indice[  tf.newaxis, : ])\n    end_masks = (\n        indice[ tf.newaxis, : ] <= ends[ : , tf.newaxis])\n    range_masks = start_masks & end_masks\n    return range_masks\n\ndef make_region_mask(tops, lefts, bottoms, rights):\n    row_masks = make_range_masks(image_size, tops, bottoms)\n    col_masks = make_range_masks(image_size, lefts, rights)\n    region_masks = \\\n        row_masks[ : , : , tf.newaxis ] & \\\n        col_masks[ : , tf.newaxis, : ]\n    region_mask = tf.math.reduce_any(region_masks, axis=0)\n    region_mask = region_mask[ : , : , tf.newaxis]\n    return region_mask\n\ndef Cutout(num_cuts, mask_factor, p):\n    def _do_cutout(image, mask):\n        image_shape = tf.shape(image)\n        height_i = image_shape[0]\n        width_i = image_shape[1]\n        height_f = tf.cast(height_i, dtype=tf.float32)\n        width_f = tf.cast(width_i, dtype=tf.float32)\n        cut_h = tf.cast(height_f * mask_factor, dtype=tf.int32)\n        cut_w = tf.cast(width_f * mask_factor, dtype=tf.int32)\n\n        y_centers = randints([num_cuts], 0, image_size - 1)\n        x_centers = randints([num_cuts], 0, image_size - 1)\n        tops = tf.math.maximum(y_centers - cut_h//2, 0)\n        lefts = tf.math.maximum(x_centers - cut_w//2, 0)\n        bottoms = tf.math.minimum(tops + cut_h, height_i - 1)\n        rights = tf.math.minimum(lefts + cut_w, width_i - 1)\n\n        cut_region = make_region_mask(tops, lefts, bottoms, rights)\n        mask_value = tf.constant(0.0, dtype=tf.float32)\n        aug_image = tf.where(cut_region, mask_value, image)\n        return choice(p, aug_image, mask, image, mask)\n    return _do_cutout","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"cut_out = Cutout(num_cuts=1, mask_factor=0.3, p=0.75)\ncheck_aug(cut_out, with_mask=False)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def do_augment(image, mask):\n    image, mask = horizontal_flip(image, mask)\n    image, mask = random_brightness(image, mask)\n    image, mask = shift_scale_rotate(image, mask)\n    image, mask = cut_out(image, mask)\n    return image, mask","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Dataset 2","metadata":{}},{"cell_type":"code","source":"def select_train(ds, fold):\n    ds = ds.filter(lambda im, ms, f: f != fold)\n    return ds\n    \ndef select_val(ds, fold):\n    ds = ds.filter(lambda im, ms, f: f == fold)\n    return ds","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def drop_fold(image, mask ,fold):\n    return image, mask\n\n# Actual mask is 2 channel, the last one is added for encoding as PNG.\ndef drop_mask_channel(image, mask):\n    mask = mask[ : , : , :-1 ]\n    return image, mask","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"AUTOTUNE = tf.data.experimental.AUTOTUNE\n\ndef build_dataset(\n        dset, augment=True, repeat=True, shuffle=1024):\n    dset = dset.map(drop_fold, num_parallel_calls=AUTOTUNE)\n    dset = dset.repeat() if repeat else dset\n    dset = dset.map(scale_image_mask, num_parallel_calls=AUTOTUNE)\n    dset = dset.map(\n        do_augment, num_parallel_calls=AUTOTUNE) if augment else dset\n    dset = dset.map(drop_mask_channel, num_parallel_calls=AUTOTUNE)\n    dset = dset.shuffle(shuffle) if shuffle else dset\n    dset = dset.batch(batch_size)\n    dset = dset.prefetch(AUTOTUNE)\n    return dset","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def make_datasets(fold_i):\n    train_ds = select_train(raw_ds, fold_i)\n    train_ds = build_dataset(\n        train_ds, augment=True, repeat=True, shuffle=1024)\n\n    val_ds = select_val(raw_ds, fold_i)\n    val_ds = build_dataset(\n        val_ds, augment=False, repeat=False, shuffle=None)\n\n    train_steps = fold_train_count(fold_i) // batch_size\n    val_steps = fold_val_count(fold_i) // batch_size\n\n    return train_ds, val_ds, train_steps, val_steps","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Visualization","metadata":{}},{"cell_type":"code","source":"train_ds, val_ds, train_steps, val_steps = make_datasets(0)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from pylab import rcParams\n\ndef visualize_images(ds):\n    rcParams['figure.figsize'] = 20,10\n\n    f, axarr = plt.subplots(1,5)\n    masks = []\n    ds_iter = iter(ds.unbatch())\n    for p in range(5):\n        img, mask = next(ds_iter)\n        axarr[p].imshow(img)\n        masks.append(mask)\n\n    f, axarr = plt.subplots(1,5)\n    for p in range(5):\n        axarr[p].imshow(masks[p][ : , : , 0])\n\n    f, axarr = plt.subplots(1,5)\n    for p in range(5):\n        axarr[p].imshow(masks[p][ : , : , 1])","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"visualize_images(train_ds)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"visualize_images(val_ds)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Model","metadata":{}},{"cell_type":"code","source":"def make_model():\n    with strategy.scope(): \n        unet = sm.Unet(\n            enet_type, encoder_weights='imagenet',\n            classes=2, activation='sigmoid')\n        \n        inputs = tf.keras.Input(\n            shape=(image_size, image_size, 3), name=\"inputs\")\n        outputs = unet(inputs)\n        model = tf.keras.Model(\n            inputs=inputs, outputs=outputs, name=\"seg_model\")\n\n    model.compile(\n        optimizer=tf.keras.optimizers.Adam(),\n        loss='binary_crossentropy',\n        metrics=['accuracy'],\n        # overheads and allows the XLA compiler to unroll the loop on TPU\n        # and optimize hardware utilization.\n        steps_per_execution=8)\n    model.summary()\n\n    return model","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"model = make_model()","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from matplotlib import pyplot as plt\n\nLR_START = init_lr\nLR_MAX = 1e-3\nLR_MIN = 1e-5\nLR_RAMPUP_EPOCHS = warmup_epo\nLR_SUSTAIN_EPOCHS = 0\nEPOCHS = n_epochs\n\ndef lrfn(epoch):\n    if epoch < LR_RAMPUP_EPOCHS:\n        lr = (LR_MAX - LR_START) / LR_RAMPUP_EPOCHS * epoch + LR_START\n    elif epoch < LR_RAMPUP_EPOCHS + LR_SUSTAIN_EPOCHS:\n        lr = LR_MAX\n    else:\n        decay_total_epochs = EPOCHS - LR_RAMPUP_EPOCHS - LR_SUSTAIN_EPOCHS - 1\n        decay_epoch_index = epoch - LR_RAMPUP_EPOCHS - LR_SUSTAIN_EPOCHS\n        phase = math.pi * decay_epoch_index / decay_total_epochs\n        cosine_decay = 0.5 * (1 + math.cos(phase))\n        lr = (LR_MAX - LR_MIN) * cosine_decay + LR_MIN\n    return lr\n\nrng = [i for i in range(EPOCHS)]\nlr_y = [lrfn(x) for x in rng]\nplt.figure(figsize=(10, 4))\nplt.plot(rng, lr_y)\nprint(\"Learning rate schedule: {:.3g} to {:.3g} to {:.3g}\". \\\n      format(lr_y[0], max(lr_y), lr_y[-1]))","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"cb_monitor = 'val_accuracy'\n\nclass RestoreBestWeights(tf.keras.callbacks.Callback):\n    def __init__(self):\n        super(RestoreBestWeights, self).__init__()\n        self.best_monitor = -np.Inf\n        self.best_weights = None\n        self.best_epoch = None\n        \n    def on_epoch_end(self, epoch, logs=None):\n        current_monitor = logs.get(cb_monitor)\n        if current_monitor > self.best_monitor:\n            self.best_monitor = current_monitor\n            self.best_weights = self.model.get_weights()\n            self.best_epoch = epoch\n            \n    def on_train_end(self, logs=None):\n        print(\"Restoring best weights on epoch {0}, {1} was {2:.5f}\".format(\n            self.best_epoch + 1, cb_monitor, self.best_monitor))\n        self.model.set_weights(self.best_weights)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def make_callbacks(fold_i):\n    best_model_file_name = \"seg_model_{0}_{1}.hdf5\".format(VID, fold_i)\n    cb_mode = 'max'\n    cb_min_delta = 1e-4\n    cb_verbose = 1\n\n    checkpoint = tf.keras.callbacks.ModelCheckpoint(\n        best_model_file_name, save_best_only=True,\n        save_weights_only=False, monitor=cb_monitor, mode=cb_mode,\n        verbose=cb_verbose)\n    lr_callback = tf.keras.callbacks.LearningRateScheduler(lrfn, verbose = False)\n    restore_best_weights = RestoreBestWeights()\n    \n    return checkpoint, lr_callback, restore_best_weights","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def fit_one_fold(fold_i):\n    train_dataset, val_dataset, train_steps, val_steps = make_datasets(fold_i)\n    checkpoint, lr_callback, restore_best_weights = make_callbacks(fold_i)\n\n    history = model.fit(\n        train_dataset, \n        epochs=EPOCHS,\n        verbose=1,\n        callbacks=[checkpoint, lr_callback, restore_best_weights],\n        steps_per_epoch=train_steps,\n        validation_data=val_dataset,\n        validation_steps=val_steps)\n    return history","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def plot_history(history, title, labels, subplot):\n    plt.subplot(*subplot)\n    plt.title(title)\n    for label in labels:\n        plt.plot(history.history[label], label=label)\n    plt.legend()","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def plot_fit_result(history):\n    plt.figure(figsize=(12, 4))\n    plot_history(history, \"Loss\", ['loss', 'val_loss'], (1, 2, 1))\n    plot_history(history, \"Accuracy\", ['accuracy', 'val_accuracy'], (1, 2, 2))\n    plt.show()","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"for fold_i in FOLD_I_LIST:\n    print(\"####################\")\n    print(\"# Fold {0}\".format(fold_i))\n    history = fit_one_fold(fold_i)\n    plot_fit_result(history)","metadata":{"trusted":true},"execution_count":null,"outputs":[]}]}