{
  "id": 275424,
  "title": "LB61th PB72th solution & Please tell me your opinion!",
  "url": "/competitions/g2net-gravitational-wave-detection/writeups/omastar-lb61th-pb72th-solution-please-tell-me-your",
  "author_name": "",
  "post_date": "2021-10-01T00:37:30.630Z",
  "votes": 4,
  "comment_count": 2,
  "views": 0,
  "content": "<p>Thank you everyone and congratulations!</p>\n<p>I thought winning silver medal, but small shake down:(<br>\nI will continue to challenging other kaggle competitions from now on.</p>\n<p>I don't have signal processing knowledge, so this is very interesting competition.</p>\n<h1>Solution</h1>\n<p>I ensembled below 21 models and weighted oof ridge coefficients.</p>\n<p>Ensemble result LB:0.8807 PB:0.8783</p>\n<ul>\n<li>CWT(256x256) + EffNetB7  : CV:0.8750 LB:0.8785</li>\n<li>CWT(384x384) + EffNetB7  : CV:0.87613　LB:0.8790</li>\n<li>CWT(448x448) + EffNetB7  : CV: 0.87643 LB: 0.8789</li>\n<li>CWT(384x384)  + Input scaling to similar order + EffNetB7 : CV:0.87608 LB:0.8791</li>\n<li>CWT(512x512) + EffNetV2M : CV:0.87614 LB:0.8788</li>\n<li>CWT(576x576, wavelet_width=8) + EffNetV2M : CV:0.87650 LB:0.8792</li>\n<li>CWT(586x586, wavelet_width=6) + EffNetV2M : CV:0.87647 LB:0.8791</li>\n<li>CWT(420x420) + EffNetB5 : CV:0.8752  LB:0.8788</li>\n<li>CWT(512x512, wavelet_width=6) + DenseNet201 : CV:0.87527 LB:0.8782</li>\n<li>CWT(640x640) + EffNetB5 : CV:0.8710 LB:0.8774</li>\n<li>CWT(576x576, wavelet_width=6) + EffNetV2M : CV:0.87652 LB:0.8790</li>\n<li>bandpass + CWT(?x?, ) + ResNet34 : </li>\n<li>bandpass + CWT(576x576, wavelet_width=6) + EffNetV2M : CV:0.8765 LB:0.8791</li>\n<li>bandpass + CWT(512x512, wavelet_width=6) + EffNetB7</li>\n<li>bandpass + CWT(384x384, wavelet_width=6, upper_freq=500) + VitB16</li>\n<li>bandpass + CWT(448x448) + EffNetB7</li>\n<li>1dCNN version0 :  CV 0.86508, LB:0.8710</li>\n<li>1dCNN version1  : CV:0.8667 Lb:0.8738</li>\n<li>1dCNN version2 : CV:0.8651 Lb:0.8728</li>\n<li>1dCNN version3 : CV:0.8663 Lb:0.8716</li>\n<li>1dCNN version4 : CV:0.8669 LB:0.8759</li>\n<li>1dCNN version5 : CV:0.8689 LB:0.8740</li>\n</ul>\n<p>I tried all models containg other model and ridge weights. In this case, some model weights are negative, so I normalize to [0, 1] forcely. (LB:0.8808 PB:0.8783)<br>\nHowever, ensemble using only positive weights is good for PB.</p>\n<p>This is power solution.</p>\n<p>My trying and questions are below, so could you tell me your opinion?</p>\n<h1>Q1. CWT vs CQT</h1>\n<p>Firstly, I tried CQT, but CV score was not improved. Therefore, I used CWT and getting CV 0.874~.</p>\n<p>Larger model and larger input size gave me CV:8.765~ LB:0.879~.</p>\n<p>ex)</p>\n<ul>\n<li>EfficientNet b7 , 512x512 + bpf    CV:0.8765  LB:0.8792</li>\n<li>EfficietnNet V2M, 576x576 + bpf     CV:0.8765 LB:0.8792</li>\n</ul>\n<p>For ensembling, I retried using CQT, but score was worse than CQT.</p>\n<p>Which did you use ?<br>\nPlease tell me your tricks for CQT and CWT.</p>\n<h1>Q2. 1d-cnn using raw signal</h1>\n<p>I tried 1d-cnn and got CV:0.8669 LB:0.8759 .</p>\n<p>I found larger kenrel size is better than stacking small kernel size, but CV was saturated. I tried 1d-conv transformer-encoder model, but score became worse.</p>\n<p>In this competittion, tensorflow could get higher score than pytorch model.<br>\nFor some reason, I implemented 1d-cnn using pytorch.</p>\n<p>Does anyone get high score using 1d-cnn implemented with pytorch?</p>\n<h1>Q3. ViT &amp; SWIN</h1>\n<p>I used ViT and SWIN whch is lower CV but boost ensemble.</p>\n<p>If you use ViT &amp; SWIN, please tell me your cv and lb.</p>\n<h1>Q4. Auto-encoder</h1>\n<p>I tried Auto-encoder, and tried to use it for anomaly detection.<br>\nHowever, this was not good.</p>\n<p>Does anyone succeed in auto-encoder approach?</p>\n<p>Thanks</p>",
  "messages": [
    {
      "id": "1529403",
      "postDate": "09/30/2021 11:10:26",
      "content": "<p>Thank you everyone and congratulations!</p>\n<p>I thought winning silver medal, but small shake down:(<br>\nI will continue to challenging other kaggle competitions from now on.</p>\n<p>I don't have signal processing knowledge, so this is very interesting competition.</p>\n<h1>Solution</h1>\n<p>I ensembled below 21 models and weighted oof ridge coefficients.</p>\n<p>Ensemble result LB:0.8807 PB:0.8783</p>\n<ul>\n<li>CWT(256x256) + EffNetB7  : CV:0.8750 LB:0.8785</li>\n<li>CWT(384x384) + EffNetB7  : CV:0.87613　LB:0.8790</li>\n<li>CWT(448x448) + EffNetB7  : CV: 0.87643 LB: 0.8789</li>\n<li>CWT(384x384)  + Input scaling to similar order + EffNetB7 : CV:0.87608 LB:0.8791</li>\n<li>CWT(512x512) + EffNetV2M : CV:0.87614 LB:0.8788</li>\n<li>CWT(576x576, wavelet_width=8) + EffNetV2M : CV:0.87650 LB:0.8792</li>\n<li>CWT(586x586, wavelet_width=6) + EffNetV2M : CV:0.87647 LB:0.8791</li>\n<li>CWT(420x420) + EffNetB5 : CV:0.8752  LB:0.8788</li>\n<li>CWT(512x512, wavelet_width=6) + DenseNet201 : CV:0.87527 LB:0.8782</li>\n<li>CWT(640x640) + EffNetB5 : CV:0.8710 LB:0.8774</li>\n<li>CWT(576x576, wavelet_width=6) + EffNetV2M : CV:0.87652 LB:0.8790</li>\n<li>bandpass + CWT(?x?, ) + ResNet34 : </li>\n<li>bandpass + CWT(576x576, wavelet_width=6) + EffNetV2M : CV:0.8765 LB:0.8791</li>\n<li>bandpass + CWT(512x512, wavelet_width=6) + EffNetB7</li>\n<li>bandpass + CWT(384x384, wavelet_width=6, upper_freq=500) + VitB16</li>\n<li>bandpass + CWT(448x448) + EffNetB7</li>\n<li>1dCNN version0 :  CV 0.86508, LB:0.8710</li>\n<li>1dCNN version1  : CV:0.8667 Lb:0.8738</li>\n<li>1dCNN version2 : CV:0.8651 Lb:0.8728</li>\n<li>1dCNN version3 : CV:0.8663 Lb:0.8716</li>\n<li>1dCNN version4 : CV:0.8669 LB:0.8759</li>\n<li>1dCNN version5 : CV:0.8689 LB:0.8740</li>\n</ul>\n<p>I tried all models containg other model and ridge weights. In this case, some model weights are negative, so I normalize to [0, 1] forcely. (LB:0.8808 PB:0.8783)<br>\nHowever, ensemble using only positive weights is good for PB.</p>\n<p>This is power solution.</p>\n<p>My trying and questions are below, so could you tell me your opinion?</p>\n<h1>Q1. CWT vs CQT</h1>\n<p>Firstly, I tried CQT, but CV score was not improved. Therefore, I used CWT and getting CV 0.874~.</p>\n<p>Larger model and larger input size gave me CV:8.765~ LB:0.879~.</p>\n<p>ex)</p>\n<ul>\n<li>EfficientNet b7 , 512x512 + bpf    CV:0.8765  LB:0.8792</li>\n<li>EfficietnNet V2M, 576x576 + bpf     CV:0.8765 LB:0.8792</li>\n</ul>\n<p>For ensembling, I retried using CQT, but score was worse than CQT.</p>\n<p>Which did you use ?<br>\nPlease tell me your tricks for CQT and CWT.</p>\n<h1>Q2. 1d-cnn using raw signal</h1>\n<p>I tried 1d-cnn and got CV:0.8669 LB:0.8759 .</p>\n<p>I found larger kenrel size is better than stacking small kernel size, but CV was saturated. I tried 1d-conv transformer-encoder model, but score became worse.</p>\n<p>In this competittion, tensorflow could get higher score than pytorch model.<br>\nFor some reason, I implemented 1d-cnn using pytorch.</p>\n<p>Does anyone get high score using 1d-cnn implemented with pytorch?</p>\n<h1>Q3. ViT &amp; SWIN</h1>\n<p>I used ViT and SWIN whch is lower CV but boost ensemble.</p>\n<p>If you use ViT &amp; SWIN, please tell me your cv and lb.</p>\n<h1>Q4. Auto-encoder</h1>\n<p>I tried Auto-encoder, and tried to use it for anomaly detection.<br>\nHowever, this was not good.</p>\n<p>Does anyone succeed in auto-encoder approach?</p>\n<p>Thanks</p>",
      "rawMarkdown": "Thank you everyone and congratulations!\n\nI thought winning silver medal, but small shake down:(\nI will continue to challenging other kaggle competitions from now on.\n\nI don't have signal processing knowledge, so this is very interesting competition.\n\n# Solution\n\nI ensembled below 21 models and weighted oof ridge coefficients.\n\nEnsemble result LB:0.8807 PB:0.8783\n\n- CWT(256x256) + EffNetB7  : CV:0.8750 LB:0.8785\n- CWT(384x384) + EffNetB7  : CV:0.87613　LB:0.8790\n- CWT(448x448) + EffNetB7  : CV: 0.87643 LB: 0.8789\n- CWT(384x384)  + Input scaling to similar order + EffNetB7 : CV:0.87608 LB:0.8791\n- CWT(512x512) + EffNetV2M : CV:0.87614 LB:0.8788\n- CWT(576x576, wavelet_width=8) + EffNetV2M : CV:0.87650 LB:0.8792\n- CWT(586x586, wavelet_width=6) + EffNetV2M : CV:0.87647 LB:0.8791\n- CWT(420x420) + EffNetB5 : CV:0.8752  LB:0.8788\n- CWT(512x512, wavelet_width=6) + DenseNet201 : CV:0.87527 LB:0.8782\n- CWT(640x640) + EffNetB5 : CV:0.8710 LB:0.8774\n- CWT(576x576, wavelet_width=6) + EffNetV2M : CV:0.87652 LB:0.8790\n- bandpass + CWT(?x?, ) + ResNet34 : \n- bandpass + CWT(576x576, wavelet_width=6) + EffNetV2M : CV:0.8765 LB:0.8791\n- bandpass + CWT(512x512, wavelet_width=6) + EffNetB7\n- bandpass + CWT(384x384, wavelet_width=6, upper_freq=500) + VitB16\n- bandpass + CWT(448x448) + EffNetB7\n- 1dCNN version0 :  CV 0.86508, LB:0.8710\n- 1dCNN version1  : CV:0.8667 Lb:0.8738\n- 1dCNN version2 : CV:0.8651 Lb:0.8728\n- 1dCNN version3 : CV:0.8663 Lb:0.8716\n- 1dCNN version4 : CV:0.8669 LB:0.8759\n- 1dCNN version5 : CV:0.8689 LB:0.8740\n\nI tried all models containg other model and ridge weights. In this case, some model weights are negative, so I normalize to [0, 1] forcely. (LB:0.8808 PB:0.8783)\nHowever, ensemble using only positive weights is good for PB.\n\nThis is power solution.\n\nMy trying and questions are below, so could you tell me your opinion?\n\n# Q1. CWT vs CQT\n\nFirstly, I tried CQT, but CV score was not improved. Therefore, I used CWT and getting CV 0.874~.\n \nLarger model and larger input size gave me CV:8.765~ LB:0.879~.\n\nex)\n- EfficientNet b7 , 512x512 + bpf    CV:0.8765  LB:0.8792\n- EfficietnNet V2M, 576x576 + bpf     CV:0.8765 LB:0.8792\n\nFor ensembling, I retried using CQT, but score was worse than CQT.\n\nWhich did you use ?\nPlease tell me your tricks for CQT and CWT.\n\n\n# Q2. 1d-cnn using raw signal\n\nI tried 1d-cnn and got CV:0.8669 LB:0.8759 .\n\nI found larger kenrel size is better than stacking small kernel size, but CV was saturated. I tried 1d-conv transformer-encoder model, but score became worse.\n\nIn this competittion, tensorflow could get higher score than pytorch model.\nFor some reason, I implemented 1d-cnn using pytorch.\n\nDoes anyone get high score using 1d-cnn implemented with pytorch?\n\n# Q3. ViT & SWIN \n\nI used ViT and SWIN whch is lower CV but boost ensemble.\n\nIf you use ViT & SWIN, please tell me your cv and lb.\n\n# Q4. Auto-encoder\n\nI tried Auto-encoder, and tried to use it for anomaly detection.\nHowever, this was not good.\n\nDoes anyone succeed in auto-encoder approach?\n\n\nThanks",
      "votes": null
    },
    {
      "id": "1559882",
      "postDate": "10/27/2021 08:05:35",
      "content": "<p>Hey All,</p>\n<p>Thank you all for taking part in our competition. The participation has been overwhelmingly positive. We are currently conducting a survey to gauge the demographic and outreach achieved. Kindly spare 2min and fill in this survey <a href=\"https://forms.gle/QP9L16niPexozyhu5\" target=\"_blank\">https://forms.gle/QP9L16niPexozyhu5</a>.</p>\n<p>Thank you all,</p>\n<p>Regards,<br>\nChris</p>",
      "rawMarkdown": "Hey All,\n\nThank you all for taking part in our competition. The participation has been overwhelmingly positive. We are currently conducting a survey to gauge the demographic and outreach achieved. Kindly spare 2min and fill in this survey https://forms.gle/QP9L16niPexozyhu5.\n\nThank you all,\n\nRegards,\nChris",
      "votes": null
    },
    {
      "id": "2422334",
      "postDate": "09/03/2023 23:45:03",
      "content": "<p>Hi <a href=\"https://www.kaggle.com/yoshito\" target=\"_blank\">@yoshito</a> </p>\n<p>I realize the competition is long over. But I wanted to figure something out as I am doing some research. EffnetB7 for 128x128 image gives me a CV score 0.83. How do all of you get to 0.87 or higher? Is there some particular normalization I am missing?</p>\n<p>I am doing bandpass +CWT (normalize image to 255) + EffnetB7 </p>\n<p>I am not using the Virgo channel but surely that cannot add that big of a gain? I am also using smaller image, but I doubt using 256x256 gives a huge boost. Let me know if I am missing something obvious.</p>\n<p>Thanks,<br>\nAkshay</p>",
      "rawMarkdown": "Hi @yoshito \n\nI realize the competition is long over. But I wanted to figure something out as I am doing some research. EffnetB7 for 128x128 image gives me a CV score 0.83. How do all of you get to 0.87 or higher? Is there some particular normalization I am missing?\n\nI am doing bandpass +CWT (normalize image to 255) + EffnetB7 \n\nI am not using the Virgo channel but surely that cannot add that big of a gain? I am also using smaller image, but I doubt using 256x256 gives a huge boost. Let me know if I am missing something obvious.\n\nThanks,\nAkshay",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 1559882,
      "author_name": "zerafachris",
      "author_url": "",
      "post_date": "10/27/2021 08:05:35",
      "content": "<p>Hey All,</p>\n<p>Thank you all for taking part in our competition. The participation has been overwhelmingly positive. We are currently conducting a survey to gauge the demographic and outreach achieved. Kindly spare 2min and fill in this survey <a href=\"https://forms.gle/QP9L16niPexozyhu5\" target=\"_blank\">https://forms.gle/QP9L16niPexozyhu5</a>.</p>\n<p>Thank you all,</p>\n<p>Regards,<br>\nChris</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 2422334,
      "author_name": "aghalsa",
      "author_url": "",
      "post_date": "09/03/2023 23:45:03",
      "content": "<p>Hi <a href=\"https://www.kaggle.com/yoshito\" target=\"_blank\">@yoshito</a> </p>\n<p>I realize the competition is long over. But I wanted to figure something out as I am doing some research. EffnetB7 for 128x128 image gives me a CV score 0.83. How do all of you get to 0.87 or higher? Is there some particular normalization I am missing?</p>\n<p>I am doing bandpass +CWT (normalize image to 255) + EffnetB7 </p>\n<p>I am not using the Virgo channel but surely that cannot add that big of a gain? I am also using smaller image, but I doubt using 256x256 gives a huge boost. Let me know if I am missing something obvious.</p>\n<p>Thanks,<br>\nAkshay</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "1529403": "Thank you everyone and congratulations!\n\nI thought winning silver medal, but small shake down:(\nI will continue to challenging other kaggle competitions from now on.\n\nI don't have signal processing knowledge, so this is very interesting competition.\n\n# Solution\n\nI ensembled below 21 models and weighted oof ridge coefficients.\n\nEnsemble result LB:0.8807 PB:0.8783\n\n- CWT(256x256) + EffNetB7  : CV:0.8750 LB:0.8785\n- CWT(384x384) + EffNetB7  : CV:0.87613　LB:0.8790\n- CWT(448x448) + EffNetB7  : CV: 0.87643 LB: 0.8789\n- CWT(384x384)  + Input scaling to similar order + EffNetB7 : CV:0.87608 LB:0.8791\n- CWT(512x512) + EffNetV2M : CV:0.87614 LB:0.8788\n- CWT(576x576, wavelet_width=8) + EffNetV2M : CV:0.87650 LB:0.8792\n- CWT(586x586, wavelet_width=6) + EffNetV2M : CV:0.87647 LB:0.8791\n- CWT(420x420) + EffNetB5 : CV:0.8752  LB:0.8788\n- CWT(512x512, wavelet_width=6) + DenseNet201 : CV:0.87527 LB:0.8782\n- CWT(640x640) + EffNetB5 : CV:0.8710 LB:0.8774\n- CWT(576x576, wavelet_width=6) + EffNetV2M : CV:0.87652 LB:0.8790\n- bandpass + CWT(?x?, ) + ResNet34 : \n- bandpass + CWT(576x576, wavelet_width=6) + EffNetV2M : CV:0.8765 LB:0.8791\n- bandpass + CWT(512x512, wavelet_width=6) + EffNetB7\n- bandpass + CWT(384x384, wavelet_width=6, upper_freq=500) + VitB16\n- bandpass + CWT(448x448) + EffNetB7\n- 1dCNN version0 :  CV 0.86508, LB:0.8710\n- 1dCNN version1  : CV:0.8667 Lb:0.8738\n- 1dCNN version2 : CV:0.8651 Lb:0.8728\n- 1dCNN version3 : CV:0.8663 Lb:0.8716\n- 1dCNN version4 : CV:0.8669 LB:0.8759\n- 1dCNN version5 : CV:0.8689 LB:0.8740\n\nI tried all models containg other model and ridge weights. In this case, some model weights are negative, so I normalize to [0, 1] forcely. (LB:0.8808 PB:0.8783)\nHowever, ensemble using only positive weights is good for PB.\n\nThis is power solution.\n\nMy trying and questions are below, so could you tell me your opinion?\n\n# Q1. CWT vs CQT\n\nFirstly, I tried CQT, but CV score was not improved. Therefore, I used CWT and getting CV 0.874~.\n \nLarger model and larger input size gave me CV:8.765~ LB:0.879~.\n\nex)\n- EfficientNet b7 , 512x512 + bpf    CV:0.8765  LB:0.8792\n- EfficietnNet V2M, 576x576 + bpf     CV:0.8765 LB:0.8792\n\nFor ensembling, I retried using CQT, but score was worse than CQT.\n\nWhich did you use ?\nPlease tell me your tricks for CQT and CWT.\n\n\n# Q2. 1d-cnn using raw signal\n\nI tried 1d-cnn and got CV:0.8669 LB:0.8759 .\n\nI found larger kenrel size is better than stacking small kernel size, but CV was saturated. I tried 1d-conv transformer-encoder model, but score became worse.\n\nIn this competittion, tensorflow could get higher score than pytorch model.\nFor some reason, I implemented 1d-cnn using pytorch.\n\nDoes anyone get high score using 1d-cnn implemented with pytorch?\n\n# Q3. ViT & SWIN \n\nI used ViT and SWIN whch is lower CV but boost ensemble.\n\nIf you use ViT & SWIN, please tell me your cv and lb.\n\n# Q4. Auto-encoder\n\nI tried Auto-encoder, and tried to use it for anomaly detection.\nHowever, this was not good.\n\nDoes anyone succeed in auto-encoder approach?\n\n\nThanks",
    "1559882": "Hey All,\n\nThank you all for taking part in our competition. The participation has been overwhelmingly positive. We are currently conducting a survey to gauge the demographic and outreach achieved. Kindly spare 2min and fill in this survey https://forms.gle/QP9L16niPexozyhu5.\n\nThank you all,\n\nRegards,\nChris",
    "2422334": "Hi @yoshito \n\nI realize the competition is long over. But I wanted to figure something out as I am doing some research. EffnetB7 for 128x128 image gives me a CV score 0.83. How do all of you get to 0.87 or higher? Is there some particular normalization I am missing?\n\nI am doing bandpass +CWT (normalize image to 255) + EffnetB7 \n\nI am not using the Virgo channel but surely that cannot add that big of a gain? I am also using smaller image, but I doubt using 256x256 gives a huge boost. Let me know if I am missing something obvious.\n\nThanks,\nAkshay"
  },
  "source": "meta"
}