{"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":"# 🕳️ G2Net Keras [Training]","metadata":{}},{"cell_type":"markdown","source":"### Hi kagglers, This is `Training` notebook using `Keras`.\n\n> \n>  [G2Net Keras [Inference]](https://www.kaggle.com/ammarnassanalhajali/g2net-keras-baseline-inference)\n\n\n\n### Please if this kernel is useful, <font color='red'>please upvote !!</font>","metadata":{}},{"cell_type":"markdown","source":"# LB Scores","metadata":{}},{"cell_type":"markdown","source":"![10.JPG](attachment:ee582398-204d-4e9a-bc91-9c9e855de1a0.JPG)","metadata":{},"attachments":{"ee582398-204d-4e9a-bc91-9c9e855de1a0.JPG":{"image/jpeg":"/9j/4AAQSkZJRgABAQEAYABgAAD/4RDiRXhpZgAATU0AKgAAAAgABAE7AAIAAAAIAAAISodpAAQAAAABAAAIUpydAAEAAAAQAAAQyuocAAcAAAgMAAAAPgAAAAAc6gAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFRPU0hJQkEAAAWQAwACAAAAFAAAEKCQBAACAAAAFAAAELSSkQACAAAAAzk0AACSkgACAAAAAzk0AADqHAAHAAAIDAAACJQAAAAAHOoAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyMDIxOjA4OjE1IDEzOjUxOjExADIwMjE6MDg6MTUgMTM6NTE6MTEAAABUAE8AUwBIAEkAQgBBAAAA/+ELGmh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQnPz4NCjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iPjxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+PHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9InV1aWQ6ZmFmNWJkZDUtYmEzZC0xMWRhLWFkMzEtZDMzZDc1MTgyZjFiIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iLz48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+PHhtcDpDcmVhdGVEYXRlPjIwMjEtMDgtMTVUMTM6NTE6MTEuOTQyPC94bXA6Q3JlYXRlRGF0ZT48L3JkZjpEZXNjcmlwdGlvbj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+PGRjOmNyZWF0b3I+PHJkZjpTZXEgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOmxpPlRPU0hJQkE8L3JkZjpsaT48L3JkZjpTZXE+DQoJCQk8L2RjOmNyZWF0b3I+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8P3hwYWNrZXQgZW5kPSd3Jz8+/9sAQwAHBQUGBQQH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"}}},{"cell_type":"markdown","source":"## ☀️ Importing Libraries","metadata":{}},{"cell_type":"code","source":"import os\nimport json\nimport random\nimport collections\nimport numpy as np\nimport pandas as pd\nimport cv2\nimport matplotlib.pyplot as plt\nimport seaborn as sns\nimport math\nfrom random import shuffle\n\nimport keras\nimport tensorflow as tf\nfrom keras.models import Sequential\nfrom keras.utils import Sequence\nfrom keras.layers import Dense, Dropout, Activation\nfrom keras.optimizers import SGD\nfrom tensorflow.keras.optimizers import Adam\nimport tensorflow_addons as tfa\n#from tensorflow.keras.models import Sequential\n\n\nfrom tensorflow.keras import models, layers\nfrom tensorflow.keras.layers import Dense, Dropout, Activation, Input, BatchNormalization, GlobalAveragePooling2D\n\n\nfrom tensorflow.keras.preprocessing import image\nfrom tensorflow.keras.preprocessing.image import ImageDataGenerator\nfrom tensorflow.keras.callbacks import ModelCheckpoint, EarlyStopping, ReduceLROnPlateau\n\nfrom sklearn.model_selection import train_test_split\nfrom sklearn.metrics import roc_auc_score, roc_curve, auc\nfrom sklearn import model_selection as sk_model_selection\n\n","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2021-08-15T16:48:16.294058Z","iopub.execute_input":"2021-08-15T16:48:16.294646Z","iopub.status.idle":"2021-08-15T16:48:23.824736Z","shell.execute_reply.started":"2021-08-15T16:48:16.294521Z","shell.execute_reply":"2021-08-15T16:48:23.823705Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"!pip install -q nnAudio -qq\nimport torch\nfrom nnAudio.Spectrogram import CQT1992v2","metadata":{"execution":{"iopub.status.busy":"2021-08-15T16:48:23.826350Z","iopub.execute_input":"2021-08-15T16:48:23.826915Z","iopub.status.idle":"2021-08-15T16:48:34.677725Z","shell.execute_reply.started":"2021-08-15T16:48:23.826874Z","shell.execute_reply":"2021-08-15T16:48:34.676616Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Loading Data","metadata":{}},{"cell_type":"code","source":"train = pd.read_csv('../input/g2net-gravitational-wave-detection/training_labels.csv')\nsample_submission = pd.read_csv('../input/g2net-gravitational-wave-detection/sample_submission.csv')\ntest=sample_submission\n\ndisplay(train.head(3))\ndisplay(test.head(3))","metadata":{"execution":{"iopub.status.busy":"2021-08-15T16:48:34.679260Z","iopub.execute_input":"2021-08-15T16:48:34.679596Z","iopub.status.idle":"2021-08-15T16:48:35.369860Z","shell.execute_reply.started":"2021-08-15T16:48:34.679564Z","shell.execute_reply":"2021-08-15T16:48:35.368888Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"sns.countplot(data=train, x=\"target\")","metadata":{"execution":{"iopub.status.busy":"2021-08-15T16:48:35.371614Z","iopub.execute_input":"2021-08-15T16:48:35.371923Z","iopub.status.idle":"2021-08-15T16:48:35.591778Z","shell.execute_reply.started":"2021-08-15T16:48:35.371893Z","shell.execute_reply":"2021-08-15T16:48:35.590690Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def get_train_file_path(image_id):\n    return \"../input/g2net-gravitational-wave-detection/train/{}/{}/{}/{}.npy\".format(\n        image_id[0], image_id[1], image_id[2], image_id)\n\ndef get_test_file_path(image_id):\n    return \"../input/g2net-gravitational-wave-detection/test/{}/{}/{}/{}.npy\".format(\n        image_id[0], image_id[1], image_id[2], image_id)\n\ntrain['file_path'] = train['id'].apply(get_train_file_path)\ntest['file_path'] = test['id'].apply(get_test_file_path)\n\ndisplay(train.head(3))\ndisplay(test.head(3))","metadata":{"execution":{"iopub.status.busy":"2021-08-15T16:48:35.593071Z","iopub.execute_input":"2021-08-15T16:48:35.593353Z","iopub.status.idle":"2021-08-15T16:48:36.343640Z","shell.execute_reply.started":"2021-08-15T16:48:35.593326Z","shell.execute_reply":"2021-08-15T16:48:36.342574Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# EDA","metadata":{}},{"cell_type":"markdown","source":"#### Each data sample (npy file) contains 3 time series (1 for each detector) and each spans 2 sec and is sampled at 2,048 Hz.","metadata":{}},{"cell_type":"code","source":"Q_TRANSFORM = CQT1992v2(sr=2048, fmin=20, fmax=1024, hop_length=32)\n\ndef visualize_sample_qtransform(\n    _id, \n    pathx,\n    target,\n    signal_names=(\"LIGO Hanford\", \"LIGO Livingston\", \"Virgo\"),\n    sr=2048,\n):\n    x = np.load(pathx)\n    plt.figure(figsize=(16, 3))\n    for i in range(3):\n        waves = x[i] / np.max(x[i])\n        waves = torch.from_numpy(waves).float()\n        image = Q_TRANSFORM(waves)\n        \n        plt.subplot(1, 3, i + 1)\n        plt.imshow(image.squeeze())\n        plt.title(signal_names[i], fontsize=14)\n\n    plt.suptitle(f\"id: {_id}  -----  Target: {target}\", fontsize=16)\n    plt.show()","metadata":{"execution":{"iopub.status.busy":"2021-08-15T16:48:36.344917Z","iopub.execute_input":"2021-08-15T16:48:36.345190Z","iopub.status.idle":"2021-08-15T16:48:36.406011Z","shell.execute_reply.started":"2021-08-15T16:48:36.345163Z","shell.execute_reply":"2021-08-15T16:48:36.405196Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"for i in random.sample(train.index.tolist(), 1):\n    _id = train.iloc[i][\"id\"]\n    _path = train.iloc[i][\"file_path\"]\n    target = train.iloc[i][\"target\"]\n    visualize_sample_qtransform(_id,_path, target)","metadata":{"execution":{"iopub.status.busy":"2021-08-15T16:48:36.407013Z","iopub.execute_input":"2021-08-15T16:48:36.407423Z","iopub.status.idle":"2021-08-15T16:48:36.999039Z","shell.execute_reply.started":"2021-08-15T16:48:36.407393Z","shell.execute_reply":"2021-08-15T16:48:36.998181Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Splitting Data","metadata":{}},{"cell_type":"code","source":"df_train, df_valid = sk_model_selection.train_test_split(\n    train, \n    test_size=0.00005, \n    random_state=14, \n    stratify=train[\"target\"],\n)\nprint(\"df_train:\",len(df_train))\nprint(\"df_valid:\",len(df_valid))","metadata":{"execution":{"iopub.status.busy":"2021-08-15T16:48:37.000299Z","iopub.execute_input":"2021-08-15T16:48:37.000801Z","iopub.status.idle":"2021-08-15T16:48:37.676113Z","shell.execute_reply.started":"2021-08-15T16:48:37.000752Z","shell.execute_reply":"2021-08-15T16:48:37.674840Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#  Custom Data Generator","metadata":{}},{"cell_type":"code","source":"class Dataset(Sequence):\n    def __init__(self,df,is_train=True,batch_size=32,shuffle=True):\n        self.idx = df[\"id\"].values\n        self.paths = df[\"file_path\"].values\n        self.y =  df[\"target\"].values\n        self.is_train = is_train\n        self.batch_size = batch_size\n        self.shuffle = shuffle\n        self.wave_transform = CQT1992v2(sr=2048, fmin=20, fmax=1024, hop_length=64)\n    def __len__(self):\n        return math.ceil(len(self.idx)/self.batch_size)\n    \n    def apply_qtransform(self,pathx,transform): \n        waves = np.load(pathx)\n        waves = np.hstack(waves)\n        waves = waves / np.max(waves)\n        waves = torch.from_numpy(waves).float()\n        image = transform(waves)\n        image = np.array(image)\n        image = np.transpose(image,(1,2,0))\n        return image \n    \n    def __getitem__(self,ids):\n        batch_paths = self.paths[ids * self.batch_size:(ids + 1) * self.batch_size]\n        \n        if self.y is not None:\n            batch_y = self.y[ids * self.batch_size: (ids + 1) * self.batch_size]\n            \n        list_x = np.array([self.apply_qtransform(x,self.wave_transform) for x in batch_paths])\n        batch_X = np.stack(list_x)\n        if self.is_train:\n            return batch_X, batch_y\n        else:\n            return batch_X\n    \n    def on_epoch_end(self):\n        if self.shuffle and self.is_train:\n            ids_y = list(zip(self.idx, self.y))\n            shuffle(ids_y)\n            self.idx, self.y = list(zip(*ids_y))","metadata":{"execution":{"iopub.status.busy":"2021-08-15T11:52:45.347492Z","iopub.execute_input":"2021-08-15T11:52:45.347879Z","iopub.status.idle":"2021-08-15T11:52:45.362075Z","shell.execute_reply.started":"2021-08-15T11:52:45.347843Z","shell.execute_reply":"2021-08-15T11:52:45.360625Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_dataset = Dataset(df_train)\nvalid_dataset = Dataset(df_valid)\n#test_dataset = Dataset(test,is_train=False)","metadata":{"execution":{"iopub.status.busy":"2021-08-15T11:52:45.364349Z","iopub.execute_input":"2021-08-15T11:52:45.364895Z","iopub.status.idle":"2021-08-15T11:52:45.418599Z","shell.execute_reply.started":"2021-08-15T11:52:45.364801Z","shell.execute_reply":"2021-08-15T11:52:45.417428Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"for i in range(1):\n    image, label = train_dataset[i]\n    print(image.shape)\n    plt.imshow(image[0])\n    plt.show() ","metadata":{"execution":{"iopub.status.busy":"2021-08-15T11:52:45.420613Z","iopub.execute_input":"2021-08-15T11:52:45.421125Z","iopub.status.idle":"2021-08-15T11:52:46.133041Z","shell.execute_reply.started":"2021-08-15T11:52:45.421073Z","shell.execute_reply":"2021-08-15T11:52:46.131887Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Model","metadata":{}},{"cell_type":"code","source":"!pip install -U efficientnet","metadata":{"_kg_hide-output":true,"execution":{"iopub.status.busy":"2021-08-15T11:52:46.134884Z","iopub.execute_input":"2021-08-15T11:52:46.13532Z","iopub.status.idle":"2021-08-15T11:52:53.998008Z","shell.execute_reply.started":"2021-08-15T11:52:46.135278Z","shell.execute_reply":"2021-08-15T11:52:53.996958Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import efficientnet.keras as efn","metadata":{"execution":{"iopub.status.busy":"2021-08-15T11:52:54.00165Z","iopub.execute_input":"2021-08-15T11:52:54.002051Z","iopub.status.idle":"2021-08-15T11:52:54.209413Z","shell.execute_reply.started":"2021-08-15T11:52:54.002016Z","shell.execute_reply":"2021-08-15T11:52:54.208489Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def create_model(): \n    inputs = layers.Input(shape=(69,193,1))\n    efficientnet_layers = efn.EfficientNetB7(include_top=False,input_shape=(),weights='imagenet',pooling='avg')\n    model = Sequential()\n    \n    model.add(inputs)\n    model.add(keras.layers.Conv2D(3,3,activation='relu',padding='same'))\n    model.add(efficientnet_layers)\n    model.add(Dropout(0.2))\n    model.add(Dense(1, activation=\"sigmoid\"))\n    \n    model.compile(optimizer = Adam(lr = 0.000001),\n                loss = \"binary_crossentropy\",\n                metrics = [\"acc\"])\n\n    return model\n\nmodel = create_model()\nmodel.summary()\n    \n    \n","metadata":{"execution":{"iopub.status.busy":"2021-08-15T11:52:54.210757Z","iopub.execute_input":"2021-08-15T11:52:54.211111Z","iopub.status.idle":"2021-08-15T11:53:13.396438Z","shell.execute_reply.started":"2021-08-15T11:52:54.21107Z","shell.execute_reply":"2021-08-15T11:53:13.395429Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"model.load_weights('../input/g2net-keras-weights/model_weights.h5')","metadata":{"execution":{"iopub.status.busy":"2021-08-15T11:53:13.398989Z","iopub.execute_input":"2021-08-15T11:53:13.399447Z","iopub.status.idle":"2021-08-15T11:53:16.267604Z","shell.execute_reply.started":"2021-08-15T11:53:13.399401Z","shell.execute_reply":"2021-08-15T11:53:16.266563Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Training","metadata":{}},{"cell_type":"code","source":"ckpt = tf.keras.callbacks.ModelCheckpoint(\n    \"model_weights.h5\", save_best_only=True, save_weights_only=True,\n)\n\ntrain_history = model.fit(\n    train_dataset,\n    epochs = 1,\n    validation_data = valid_dataset,\n    callbacks=[ckpt]\n)","metadata":{"execution":{"iopub.status.busy":"2021-08-15T11:53:16.269379Z","iopub.execute_input":"2021-08-15T11:53:16.269749Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# References","metadata":{}},{"cell_type":"markdown","source":"1. https://www.kaggle.com/mrigendraagrawal/tf-g2net-eda-and-starter\n1. https://www.kaggle.com/yasufuminakama/g2net-efficientnet-b7-baseline-inference\n1. https://medium.com/analytics-vidhya/write-your-own-custom-data-generator-for-tensorflow-keras-1252b64e41c3\n1. https://www.kaggle.com/yasufuminakama/g2net-efficientnet-b7-baseline-training","metadata":{}}]}