{
  "id": 242851,
  "title": "My Approach So Far[0.97 LB]",
  "url": "/competitions/seti-breakthrough-listen/discussion/242851",
  "author_name": "Inumellonium",
  "post_date": "2021-05-31T07:37:58.382000",
  "votes": 29,
  "comment_count": 8,
  "views": 0,
  "content": "<p>The below observations are made only by considering resnet18d CNN.</p>\n<p><strong>Channel wise or spatial stacking ?</strong><br>\nThe input .npy cadence snippets are arranged channel wise(6, 273, 256), but stacking them on top of each other (1638, 256) and resizing it to 512X512 achieves a leaderboard score of 0.95.</p>\n<p><strong>Augmentations</strong><br>\nRandomResized croppping, Random Rotate, Mixup<br>\nI have observed that when using the RandomResizedCrop on the original input(1638, 256), the model converges better when the crop has the same aspect ratio as that of the input (0.15628815628). The model was trained in 2 stages.</p>\n<p><strong>train_val_split : StratifiedKFold(n_splits = 5)</strong></p>\n<p><strong>Stage 1</strong><br>\nOnly using RandomResizedCrop and RandomRotate augmentations<br>\noptimizer : Adam<br>\ninit lr : 5e-4<br>\nscheduler : ReduceLROnPlateau</p>\n<table>\n<thead>\n<tr>\n<th>FOLD</th>\n<th>Validation AUROC</th>\n<th>LB AUROC</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>0</td>\n<td>98.9</td>\n<td>0.97<strong>(Highest)</strong></td>\n</tr>\n<tr>\n<td>1</td>\n<td>98.5</td>\n<td>0.96</td>\n</tr>\n<tr>\n<td>2</td>\n<td>98.5</td>\n<td>0.96</td>\n</tr>\n<tr>\n<td>3</td>\n<td>98.5</td>\n<td>0.96</td>\n</tr>\n<tr>\n<td>4</td>\n<td>98.5</td>\n<td>0.96</td>\n</tr>\n</tbody>\n</table>\n<p><strong>Stage 2</strong><br>\nUsed weights from stage 1<br>\nReduced strength of stage 1 augmentations<br>\nintroduced mixup augmentation<br>\noptimizer : Adam<br>\ninit : 5e-5<br>\nscheduler : ReduceLROnPlateau</p>\n<table>\n<thead>\n<tr>\n<th>FOLD</th>\n<th>Validation AUROC</th>\n<th>LB AUROC</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>0</td>\n<td>98.9</td>\n<td>0.97<strong>(Highest)</strong></td>\n</tr>\n<tr>\n<td>1</td>\n<td>98.6</td>\n<td>0.97</td>\n</tr>\n<tr>\n<td>2</td>\n<td>98.6</td>\n<td>0.97</td>\n</tr>\n<tr>\n<td>3</td>\n<td>98.7</td>\n<td>0.97</td>\n</tr>\n<tr>\n<td>4</td>\n<td>98.5</td>\n<td>0.97</td>\n</tr>\n</tbody>\n</table>",
  "messages": [
    {
      "id": 1329509,
      "postDate": "2021-05-31T07:37:58.383Z",
      "content": "<p>The below observations are made only by considering resnet18d CNN.</p>\n<p><strong>Channel wise or spatial stacking ?</strong><br>\nThe input .npy cadence snippets are arranged channel wise(6, 273, 256), but stacking them on top of each other (1638, 256) and resizing it to 512X512 achieves a leaderboard score of 0.95.</p>\n<p><strong>Augmentations</strong><br>\nRandomResized croppping, Random Rotate, Mixup<br>\nI have observed that when using the RandomResizedCrop on the original input(1638, 256), the model converges better when the crop has the same aspect ratio as that of the input (0.15628815628). The model was trained in 2 stages.</p>\n<p><strong>train_val_split : StratifiedKFold(n_splits = 5)</strong></p>\n<p><strong>Stage 1</strong><br>\nOnly using RandomResizedCrop and RandomRotate augmentations<br>\noptimizer : Adam<br>\ninit lr : 5e-4<br>\nscheduler : ReduceLROnPlateau</p>\n<table>\n<thead>\n<tr>\n<th>FOLD</th>\n<th>Validation AUROC</th>\n<th>LB AUROC</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>0</td>\n<td>98.9</td>\n<td>0.97<strong>(Highest)</strong></td>\n</tr>\n<tr>\n<td>1</td>\n<td>98.5</td>\n<td>0.96</td>\n</tr>\n<tr>\n<td>2</td>\n<td>98.5</td>\n<td>0.96</td>\n</tr>\n<tr>\n<td>3</td>\n<td>98.5</td>\n<td>0.96</td>\n</tr>\n<tr>\n<td>4</td>\n<td>98.5</td>\n<td>0.96</td>\n</tr>\n</tbody>\n</table>\n<p><strong>Stage 2</strong><br>\nUsed weights from stage 1<br>\nReduced strength of stage 1 augmentations<br>\nintroduced mixup augmentation<br>\noptimizer : Adam<br>\ninit : 5e-5<br>\nscheduler : ReduceLROnPlateau</p>\n<table>\n<thead>\n<tr>\n<th>FOLD</th>\n<th>Validation AUROC</th>\n<th>LB AUROC</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>0</td>\n<td>98.9</td>\n<td>0.97<strong>(Highest)</strong></td>\n</tr>\n<tr>\n<td>1</td>\n<td>98.6</td>\n<td>0.97</td>\n</tr>\n<tr>\n<td>2</td>\n<td>98.6</td>\n<td>0.97</td>\n</tr>\n<tr>\n<td>3</td>\n<td>98.7</td>\n<td>0.97</td>\n</tr>\n<tr>\n<td>4</td>\n<td>98.5</td>\n<td>0.97</td>\n</tr>\n</tbody>\n</table>",
      "rawMarkdown": "The below observations are made only by considering resnet18d CNN.\n\n**Channel wise or spatial stacking ?**\nThe input .npy cadence snippets are arranged channel wise(6, 273, 256), but stacking them on top of each other (1638, 256) and resizing it to 512X512 achieves a leaderboard score of 0.95.\n\n**Augmentations**\nRandomResized croppping, Random Rotate, Mixup\nI have observed that when using the RandomResizedCrop on the original input(1638, 256), the model converges better when the crop has the same aspect ratio as that of the input (0.15628815628). The model was trained in 2 stages.\n\n**train_val_split : StratifiedKFold(n_splits = 5)**\n\n**Stage 1**\nOnly using RandomResizedCrop and RandomRotate augmentations\noptimizer : Adam\ninit lr : 5e-4\nscheduler : ReduceLROnPlateau\n|FOLD | Validation AUROC |LB AUROC |\n| --- | --- | --- |\n|0|98.9|0.97**(Highest)**|\n|1|98.5|0.96|     \n|2|98.5|0.96|      \n|3|98.5|0.96|     \n|4|98.5|0.96|\n\n\n**Stage 2**\nUsed weights from stage 1\nReduced strength of stage 1 augmentations\nintroduced mixup augmentation\noptimizer : Adam\ninit : 5e-5\nscheduler : ReduceLROnPlateau\n|FOLD | Validation AUROC |LB AUROC |\n| --- | --- | --- |\n|0|98.9|0.97**(Highest)**|\n|1|98.6|0.97|     \n|2|98.6|0.97|      \n|3|98.7|0.97|     \n|4|98.5|0.97|",
      "votes": 29
    },
    {
      "id": 1329941,
      "postDate": "2021-05-31T13:36:48.493Z",
      "content": "<p>if you don`t mind asking how did you implement RandomResizedCrop ?</p>",
      "rawMarkdown": "if you don`t mind asking how did you implement RandomResizedCrop ?",
      "votes": 2,
      "replies": [
        {
          "id": 1329944,
          "postDate": "2021-05-31T13:41:51.933Z",
          "content": "<p>I use the Albumentations library for all augmentations</p>",
          "rawMarkdown": "I use the Albumentations library for all augmentations",
          "votes": 1
        },
        {
          "id": 1329954,
          "postDate": "2021-05-31T13:46:41.350Z",
          "content": "<p>can you please provide like a code snippet of how you implemented it ?</p>",
          "rawMarkdown": "can you please provide like a code snippet of how you implemented it ?"
        },
        {
          "id": 1329971,
          "postDate": "2021-05-31T14:05:36.630Z",
          "content": "<p>sure,<br>\nits just one liner<br>\n<code>albumentations.RandomResizedCrop(height = 512, width = 512, scale = (0.85, 1.0), ratio = (0.15628815628, 0.15628815628), interpolation = cv2.INTER_LINEAR, always_apply = True)</code></p>",
          "rawMarkdown": "sure,\nits just one liner\n`albumentations.RandomResizedCrop(height = 512, width = 512, scale = (0.85, 1.0), ratio = (0.15628815628, 0.15628815628), interpolation = cv2.INTER_LINEAR, always_apply = True)`\n    ",
          "votes": 3
        },
        {
          "id": 1329978,
          "postDate": "2021-05-31T14:08:31.520Z",
          "content": "<p>Thank you very much</p>",
          "rawMarkdown": "Thank you very much"
        },
        {
          "id": 1332278,
          "postDate": "2021-06-02T02:52:54.527Z",
          "content": "<p><a href=\"https://www.kaggle.com/inumellasricharanv2\" target=\"_blank\">@inumellasricharanv2</a> I used this part but I realized the <code>validation_loss</code> shoots up. </p>",
          "rawMarkdown": "@inumellasricharanv2 I used this part but I realized the `validation_loss` shoots up. "
        },
        {
          "id": 1332632,
          "postDate": "2021-06-02T08:13:56.987Z",
          "content": "<p>I got the average val_loss to be 0.048, even I'm trying to figure out if there is any correlation between the validation loss and the validation AUROC value. Worst case scenario, I might have just overfitted the leaderboard</p>",
          "rawMarkdown": "I got the average val_loss to be 0.048, even I'm trying to figure out if there is any correlation between the validation loss and the validation AUROC value. Worst case scenario, I might have just overfitted the leaderboard"
        }
      ]
    },
    {
      "id": 1331692,
      "postDate": "2021-06-01T16:28:23.800Z",
      "content": "<p>Thanks for sharing your steps, very insightful, hope they increase the number of digit precision on the leaderboard :)</p>",
      "rawMarkdown": "Thanks for sharing your steps, very insightful, hope they increase the number of digit precision on the leaderboard :)"
    }
  ],
  "comments": [
    {
      "id": 1329941,
      "author_name": "Mithil Salunkhe",
      "author_url": "",
      "post_date": "2021-05-31T13:36:48.493000",
      "content": "<p>if you don`t mind asking how did you implement RandomResizedCrop ?</p>",
      "votes": 2,
      "replies": [
        {
          "id": 1329944,
          "author_name": "Inumellonium",
          "author_url": "",
          "post_date": "2021-05-31T13:41:51.933000",
          "content": "<p>I use the Albumentations library for all augmentations</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1329954,
          "author_name": "Mithil Salunkhe",
          "author_url": "",
          "post_date": "2021-05-31T13:46:41.350000",
          "content": "<p>can you please provide like a code snippet of how you implemented it ?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1329971,
          "author_name": "Inumellonium",
          "author_url": "",
          "post_date": "2021-05-31T14:05:36.630000",
          "content": "<p>sure,<br>\nits just one liner<br>\n<code>albumentations.RandomResizedCrop(height = 512, width = 512, scale = (0.85, 1.0), ratio = (0.15628815628, 0.15628815628), interpolation = cv2.INTER_LINEAR, always_apply = True)</code></p>",
          "votes": 3,
          "replies": []
        },
        {
          "id": 1329978,
          "author_name": "Mithil Salunkhe",
          "author_url": "",
          "post_date": "2021-05-31T14:08:31.520000",
          "content": "<p>Thank you very much</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1332278,
          "author_name": "gao-hongnan",
          "author_url": "",
          "post_date": "2021-06-02T02:52:54.527000",
          "content": "<p><a href=\"https://www.kaggle.com/inumellasricharanv2\" target=\"_blank\">@inumellasricharanv2</a> I used this part but I realized the <code>validation_loss</code> shoots up. </p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1332632,
          "author_name": "Inumellonium",
          "author_url": "",
          "post_date": "2021-06-02T08:13:56.987000",
          "content": "<p>I got the average val_loss to be 0.048, even I'm trying to figure out if there is any correlation between the validation loss and the validation AUROC value. Worst case scenario, I might have just overfitted the leaderboard</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1331692,
      "author_name": "Old Monk",
      "author_url": "",
      "post_date": "2021-06-01T16:28:23.800000",
      "content": "<p>Thanks for sharing your steps, very insightful, hope they increase the number of digit precision on the leaderboard :)</p>",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "1329509": "The below observations are made only by considering resnet18d CNN.\n\n**Channel wise or spatial stacking ?**\nThe input .npy cadence snippets are arranged channel wise(6, 273, 256), but stacking them on top of each other (1638, 256) and resizing it to 512X512 achieves a leaderboard score of 0.95.\n\n**Augmentations**\nRandomResized croppping, Random Rotate, Mixup\nI have observed that when using the RandomResizedCrop on the original input(1638, 256), the model converges better when the crop has the same aspect ratio as that of the input (0.15628815628). The model was trained in 2 stages.\n\n**train_val_split : StratifiedKFold(n_splits = 5)**\n\n**Stage 1**\nOnly using RandomResizedCrop and RandomRotate augmentations\noptimizer : Adam\ninit lr : 5e-4\nscheduler : ReduceLROnPlateau\n|FOLD | Validation AUROC |LB AUROC |\n| --- | --- | --- |\n|0|98.9|0.97**(Highest)**|\n|1|98.5|0.96|     \n|2|98.5|0.96|      \n|3|98.5|0.96|     \n|4|98.5|0.96|\n\n\n**Stage 2**\nUsed weights from stage 1\nReduced strength of stage 1 augmentations\nintroduced mixup augmentation\noptimizer : Adam\ninit : 5e-5\nscheduler : ReduceLROnPlateau\n|FOLD | Validation AUROC |LB AUROC |\n| --- | --- | --- |\n|0|98.9|0.97**(Highest)**|\n|1|98.6|0.97|     \n|2|98.6|0.97|      \n|3|98.7|0.97|     \n|4|98.5|0.97|",
    "1329941": "if you don`t mind asking how did you implement RandomResizedCrop ?",
    "1331692": "Thanks for sharing your steps, very insightful, hope they increase the number of digit precision on the leaderboard :)"
  }
}