{
  "id": 183269,
  "title": "2nd place solution",
  "url": "/competitions/birdsong-recognition/discussion/183269",
  "author_name": "Kramarenko Vladislav",
  "post_date": "2020-09-16T05:17:00.795000",
  "votes": 105,
  "comment_count": 38,
  "views": 0,
  "content": "<p>Hi. This is my first Kaggle competition, and I really enjoyed participating.<br>\nThank you to the organizers for an interesting competition, <a href=\"https://www.kaggle.com/hidehisaarai1213\" target=\"_blank\">@hidehisaarai1213</a> for the basic solution, and to all the teams for an interesting and intense fight.</p>\n<h1>My decision</h1>\n<p><strong>github</strong>: <a href=\"https://github.com/vlomme/Birdcall-Identification-competition\" target=\"_blank\">https://github.com/vlomme/Birdcall-Identification-competition</a><br>\n<strong>datasets</strong>: <a href=\"https://www.kaggle.com/vlomme/my-birdcall-datasets\" target=\"_blank\">https://www.kaggle.com/vlomme/my-birdcall-datasets</a><br>\n<strong>kaggle notebook</strong>: <a href=\"https://www.kaggle.com/vlomme/surfin-bird-2nd-place\" target=\"_blank\">https://www.kaggle.com/vlomme/surfin-bird-2nd-place</a></p>\n<ul>\n<li>Due to a weak PC and to speed up training, I saved the Mel spectrograms and later worked with them</li>\n<li><strong>IMPORTANT</strong>! While training different architectures, I manually went through 20 thousand training files and deleted large segments without the target bird. If necessary, I can put them in a separate dataset.</li>\n<li>I mixed 1 to 3 file</li>\n<li><strong>IMPORTANT</strong>! For contrast, I raised the image to a power of 0.5 to 3. at 0.5, the background noise is closer to the birds, and at 3, on the contrary, the quiet sounds become even quieter.</li>\n<li>Slightly accelerated / slowed down recording</li>\n<li><strong>IMPORTANT</strong>! Add a different sound without birds(rain, noise, conversations, etc.)</li>\n<li>Added white, pink, and band noise. Increasing the noise level increases recall, but reduces precision.</li>\n<li><strong>IMPORTANT</strong>! With a probability of 0.5 lowered the upper frequencies. In the real world, the upper frequencies fade faster with distance</li>\n<li>Used BCEWithLogitsLoss. For the main birds, the label was 1. For birds in the background 0.3.</li>\n<li>I didn't look at metrics on training records, but only on validation files similar to the test sample (see dataset). They worked well.</li>\n<li>Added 265 class nocall, but it didn't help much</li>\n<li>The final solution consisted of an ensemble of 6 models, one of which trained on 2.5-second recordings, and one of which only trained on 150 classes. But this model did not work much better than an ensemble of 3 models, where everyone studied in 5 seconds and 265 classes.</li>\n<li>My best solution was sent 3 weeks ago and would have given me first place=)</li>\n<li>Model predictions were squared, averaged, and the root was extracted. The rating slightly increased, compared to simple averaging.</li>\n<li>All models gave similar quality, but the best was efficientnet-b0, resnet50, densenet121.</li>\n<li>Pre-trained models work better</li>\n<li>Spectrogram worked slightly worse than melspectrograms</li>\n<li>Large networks worked slightly worse than small ones</li>\n<li>n_fft = 892, sr = 21952, hop_length=245, n_mels = 224, len_chack 448(or 224), image_size = 224*448</li>\n<li><strong>IMPORTANT</strong>! If there was a bird in the segment, I increased the probability of finding it in the entire file.</li>\n<li>I tried pseudo-labels, predict classes on training files, and train using new labels, but the quality decreased slightly</li>\n<li>A small learning rate reduced the rating</li>\n</ul>\n<p>I'll try writing more later here or on GitHub. I will be happy to answer your questions, because I almost didn't sleep and forgot to write a lot</p>",
  "messages": [
    {
      "id": 1012439,
      "postDate": "2020-09-16T05:17:00.797Z",
      "content": "<p>Hi. This is my first Kaggle competition, and I really enjoyed participating.<br>\nThank you to the organizers for an interesting competition, <a href=\"https://www.kaggle.com/hidehisaarai1213\" target=\"_blank\">@hidehisaarai1213</a> for the basic solution, and to all the teams for an interesting and intense fight.</p>\n<h1>My decision</h1>\n<p><strong>github</strong>: <a href=\"https://github.com/vlomme/Birdcall-Identification-competition\" target=\"_blank\">https://github.com/vlomme/Birdcall-Identification-competition</a><br>\n<strong>datasets</strong>: <a href=\"https://www.kaggle.com/vlomme/my-birdcall-datasets\" target=\"_blank\">https://www.kaggle.com/vlomme/my-birdcall-datasets</a><br>\n<strong>kaggle notebook</strong>: <a href=\"https://www.kaggle.com/vlomme/surfin-bird-2nd-place\" target=\"_blank\">https://www.kaggle.com/vlomme/surfin-bird-2nd-place</a></p>\n<ul>\n<li>Due to a weak PC and to speed up training, I saved the Mel spectrograms and later worked with them</li>\n<li><strong>IMPORTANT</strong>! While training different architectures, I manually went through 20 thousand training files and deleted large segments without the target bird. If necessary, I can put them in a separate dataset.</li>\n<li>I mixed 1 to 3 file</li>\n<li><strong>IMPORTANT</strong>! For contrast, I raised the image to a power of 0.5 to 3. at 0.5, the background noise is closer to the birds, and at 3, on the contrary, the quiet sounds become even quieter.</li>\n<li>Slightly accelerated / slowed down recording</li>\n<li><strong>IMPORTANT</strong>! Add a different sound without birds(rain, noise, conversations, etc.)</li>\n<li>Added white, pink, and band noise. Increasing the noise level increases recall, but reduces precision.</li>\n<li><strong>IMPORTANT</strong>! With a probability of 0.5 lowered the upper frequencies. In the real world, the upper frequencies fade faster with distance</li>\n<li>Used BCEWithLogitsLoss. For the main birds, the label was 1. For birds in the background 0.3.</li>\n<li>I didn't look at metrics on training records, but only on validation files similar to the test sample (see dataset). They worked well.</li>\n<li>Added 265 class nocall, but it didn't help much</li>\n<li>The final solution consisted of an ensemble of 6 models, one of which trained on 2.5-second recordings, and one of which only trained on 150 classes. But this model did not work much better than an ensemble of 3 models, where everyone studied in 5 seconds and 265 classes.</li>\n<li>My best solution was sent 3 weeks ago and would have given me first place=)</li>\n<li>Model predictions were squared, averaged, and the root was extracted. The rating slightly increased, compared to simple averaging.</li>\n<li>All models gave similar quality, but the best was efficientnet-b0, resnet50, densenet121.</li>\n<li>Pre-trained models work better</li>\n<li>Spectrogram worked slightly worse than melspectrograms</li>\n<li>Large networks worked slightly worse than small ones</li>\n<li>n_fft = 892, sr = 21952, hop_length=245, n_mels = 224, len_chack 448(or 224), image_size = 224*448</li>\n<li><strong>IMPORTANT</strong>! If there was a bird in the segment, I increased the probability of finding it in the entire file.</li>\n<li>I tried pseudo-labels, predict classes on training files, and train using new labels, but the quality decreased slightly</li>\n<li>A small learning rate reduced the rating</li>\n</ul>\n<p>I'll try writing more later here or on GitHub. I will be happy to answer your questions, because I almost didn't sleep and forgot to write a lot</p>",
      "rawMarkdown": "Hi. This is my first Kaggle competition, and I really enjoyed participating.\nThank you to the organizers for an interesting competition, @hidehisaarai1213 for the basic solution, and to all the teams for an interesting and intense fight.\n# My decision\n**github**: https://github.com/vlomme/Birdcall-Identification-competition\n**datasets**: https://www.kaggle.com/vlomme/my-birdcall-datasets\n**kaggle notebook**: https://www.kaggle.com/vlomme/surfin-bird-2nd-place\n-  Due to a weak PC and to speed up training, I saved the Mel spectrograms and later worked with them\n- **IMPORTANT**! While training different architectures, I manually went through 20 thousand training files and deleted large segments without the target bird. If necessary, I can put them in a separate dataset.\n- I mixed 1 to 3 file\n- **IMPORTANT**! For contrast, I raised the image to a power of 0.5 to 3. at 0.5, the background noise is closer to the birds, and at 3, on the contrary, the quiet sounds become even quieter.\n- Slightly accelerated / slowed down recording\n- **IMPORTANT**! Add a different sound without birds(rain, noise, conversations, etc.)\n- Added white, pink, and band noise. Increasing the noise level increases recall, but reduces precision.\n- **IMPORTANT**! With a probability of 0.5 lowered the upper frequencies. In the real world, the upper frequencies fade faster with distance\n- Used BCEWithLogitsLoss. For the main birds, the label was 1. For birds in the background 0.3.\n- I didn't look at metrics on training records, but only on validation files similar to the test sample (see dataset). They worked well.\n- Added 265 class nocall, but it didn't help much\n- The final solution consisted of an ensemble of 6 models, one of which trained on 2.5-second recordings, and one of which only trained on 150 classes. But this model did not work much better than an ensemble of 3 models, where everyone studied in 5 seconds and 265 classes.\n- My best solution was sent 3 weeks ago and would have given me first place=)\n- Model predictions were squared, averaged, and the root was extracted. The rating slightly increased, compared to simple averaging.\n- All models gave similar quality, but the best was efficientnet-b0, resnet50, densenet121.\n- Pre-trained models work better\n- Spectrogram worked slightly worse than melspectrograms\n- Large networks worked slightly worse than small ones\n- n_fft = 892, sr = 21952, hop_length=245, n_mels = 224, len_chack 448(or 224), image_size = 224*448\n- **IMPORTANT**! If there was a bird in the segment, I increased the probability of finding it in the entire file.\n- I tried pseudo-labels, predict classes on training files, and train using new labels, but the quality decreased slightly\n- A small learning rate reduced the rating\n\nI'll try writing more later here or on GitHub. I will be happy to answer your questions, because I almost didn't sleep and forgot to write a lot\n",
      "votes": 105
    },
    {
      "id": 1020706,
      "postDate": "2020-09-21T11:20:07.707Z",
      "content": "<p>Amazing work , Congrats </p>",
      "rawMarkdown": "Amazing work , Congrats ",
      "votes": 1
    },
    {
      "id": 1020235,
      "postDate": "2020-09-21T03:45:25.907Z",
      "content": "<p>Congratulations!!</p>",
      "rawMarkdown": "Congratulations!!",
      "votes": 1
    },
    {
      "id": 1018814,
      "postDate": "2020-09-20T02:28:41.910Z",
      "content": "<p>Thank you for writing this sharing post and Congratulations to the 2nd place well deserved!</p>",
      "rawMarkdown": "Thank you for writing this sharing post and Congratulations to the 2nd place well deserved!",
      "votes": 1
    },
    {
      "id": 1018138,
      "postDate": "2020-09-19T13:22:05.957Z",
      "content": "<p>Interesting one</p>",
      "rawMarkdown": "Interesting one",
      "votes": 1
    },
    {
      "id": 1017908,
      "postDate": "2020-09-19T10:32:57.533Z",
      "content": "<p>Good job!</p>",
      "rawMarkdown": "Good job!",
      "votes": 1
    },
    {
      "id": 1015396,
      "postDate": "2020-09-18T06:53:04.387Z",
      "content": "<p>Congrats for solo gold! <br>\nI have questions about some points:</p>\n<blockquote>\n  <p>IMPORTANT! For contrast, I raised the image to a power of 0.5 to 3. at 0.5, the background noise is closer to the birds, and at 3, on the contrary, the quiet sounds become even quieter.</p>\n  <p>IMPORTANT! With a probability of 0.5 lowered the upper frequencies. In the real world, the upper frequencies fade faster with distance</p>\n</blockquote>\n<p>Do these two contain some professional acoustical knowledge? I'm not able to understand them, would you mind tell more details?</p>",
      "rawMarkdown": "Congrats for solo gold! \nI have questions about some points:\n\n> IMPORTANT! For contrast, I raised the image to a power of 0.5 to 3. at 0.5, the background noise is closer to the birds, and at 3, on the contrary, the quiet sounds become even quieter.\n\n> IMPORTANT! With a probability of 0.5 lowered the upper frequencies. In the real world, the upper frequencies fade faster with distance\n\nDo these two contain some professional acoustical knowledge? I'm not able to understand them, would you mind tell more details?",
      "votes": 1,
      "replies": [
        {
          "id": 1015479,
          "postDate": "2020-09-18T08:05:20.880Z",
          "content": "<p>1) 1^2 = 1, 0.5^2 = 0.25. 1^0.5 = 1, 0.25^0.5 = 0.5<br>\n2) <a href=\"https://onlinelibrary.wiley.com/doi/full/10.1002/ece3.3889\" target=\"_blank\">https://onlinelibrary.wiley.com/doi/full/10.1002/ece3.3889</a></p>",
          "rawMarkdown": "1) 1^2 = 1, 0.5^2 = 0.25. 1^0.5 = 1, 0.25^0.5 = 0.5\n2) https://onlinelibrary.wiley.com/doi/full/10.1002/ece3.3889",
          "votes": 2
        },
        {
          "id": 1019820,
          "postDate": "2020-09-20T17:22:47.707Z",
          "content": "<p>sorry, I'm still a little confused about <code>raised the image to a power of 0.5 to 3</code>, is it something like <code>image = image ** 1.5</code> where image is a melspec? because I try this and get a really worse performance.<br>\nor it just like what <a href=\"https://www.kaggle.com/c/birdsong-recognition/discussion/183204\" target=\"_blank\">hidehisaarai1213 did </a> like <code>librosa.power_to_db(melspec ** 1.5)</code>.</p>",
          "rawMarkdown": "sorry, I'm still a little confused about `raised the image to a power of 0.5 to 3`, is it something like `image = image ** 1.5` where image is a melspec? because I try this and get a really worse performance.\nor it just like what [hidehisaarai1213 did ](https://www.kaggle.com/c/birdsong-recognition/discussion/183204) like `librosa.power_to_db(melspec ** 1.5)`."
        },
        {
          "id": 1019872,
          "postDate": "2020-09-20T18:04:05.807Z",
          "content": "<p><code>images = images ** (random.random()*power + c)</code> . I do it twice, before and after librosa.power_to_db</p>",
          "rawMarkdown": "`images = images ** (random.random()*power + c)` . I do it twice, before and after librosa.power_to_db",
          "votes": 1
        },
        {
          "id": 1020377,
          "postDate": "2020-09-21T06:10:31.097Z",
          "content": "<p>got it, thanks.</p>",
          "rawMarkdown": "got it, thanks."
        }
      ]
    },
    {
      "id": 1014327,
      "postDate": "2020-09-17T11:02:09.450Z",
      "content": "<p><a href=\"https://www.kaggle.com/vlomme\" target=\"_blank\">@vlomme</a> thanks for sharing! Did you try to use mixed precision during training?</p>",
      "rawMarkdown": "@vlomme thanks for sharing! Did you try to use mixed precision during training?",
      "votes": 1,
      "replies": [
        {
          "id": 1014343,
          "postDate": "2020-09-17T11:11:44.473Z",
          "content": "<p>fp16? No, I read that, like, on my video card it will not give a speed boost</p>",
          "rawMarkdown": "fp16? No, I read that, like, on my video card it will not give a speed boost",
          "votes": 1
        }
      ]
    },
    {
      "id": 1013804,
      "postDate": "2020-09-17T01:54:30.813Z",
      "content": "<p>Wow! You are dedicated. Good job</p>",
      "rawMarkdown": "Wow! You are dedicated. Good job",
      "votes": 1
    },
    {
      "id": 1013792,
      "postDate": "2020-09-17T01:43:48.253Z",
      "content": "<p>Congratulation! and thanks for sharing !</p>",
      "rawMarkdown": "Congratulation! and thanks for sharing !",
      "votes": 1
    },
    {
      "id": 1013721,
      "postDate": "2020-09-16T22:50:04.437Z",
      "content": "<p>Congratulations <a href=\"https://www.kaggle.com/vlomme\" target=\"_blank\">@vlomme</a> <br>\nI had a lot of fun passing each other with you on the LB though it turned out I was not that close to your score in private LB actually :)</p>",
      "rawMarkdown": "Congratulations @vlomme \nI had a lot of fun passing each other with you on the LB though it turned out I was not that close to your score in private LB actually :)",
      "votes": 1
    },
    {
      "id": 1013078,
      "postDate": "2020-09-16T13:44:52.330Z",
      "content": "<p>That's impressive <a href=\"https://www.kaggle.com/vlomme\" target=\"_blank\">@vlomme</a> 😍<br>\nCongratulations on your first GOLD 😍</p>",
      "rawMarkdown": "That's impressive @vlomme 😍\nCongratulations on your first GOLD 😍",
      "votes": 1
    },
    {
      "id": 1012952,
      "postDate": "2020-09-16T12:17:27.147Z",
      "content": "<p>Congratulations and Thanks for sharing <a href=\"https://www.kaggle.com/vlomme\" target=\"_blank\">@vlomme</a> </p>",
      "rawMarkdown": "Congratulations and Thanks for sharing @vlomme ",
      "votes": 1
    },
    {
      "id": 1012736,
      "postDate": "2020-09-16T09:00:53.043Z",
      "content": "<p>Thank you for sharing your solution, congratulation👍</p>",
      "rawMarkdown": "Thank you for sharing your solution, congratulation👍",
      "votes": 1
    },
    {
      "id": 1012670,
      "postDate": "2020-09-16T08:07:10.077Z",
      "content": "<p>Congratz on the strong finish, that's a really impressive result for a first competition !</p>",
      "rawMarkdown": "Congratz on the strong finish, that's a really impressive result for a first competition !",
      "votes": 1
    },
    {
      "id": 1012610,
      "postDate": "2020-09-16T07:19:35.113Z",
      "content": "<p>Congrats on result and thanks for the writeup your solution <a href=\"https://www.kaggle.com/vlomme\" target=\"_blank\">@vlomme</a> </p>",
      "rawMarkdown": "Congrats on result and thanks for the writeup your solution @vlomme ",
      "votes": 1
    },
    {
      "id": 1012557,
      "postDate": "2020-09-16T06:47:19.480Z",
      "content": "<p>While training, I built these graphs. Resnet34<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F3577701%2Fc3fc0161139d1bf5b4c2012b0d12ff60%2F1.png?generation=1600238831970203&amp;alt=media\" alt=\"\"></p>",
      "rawMarkdown": "While training, I built these graphs. Resnet34![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F3577701%2Fc3fc0161139d1bf5b4c2012b0d12ff60%2F1.png?generation=1600238831970203&alt=media)",
      "votes": 1,
      "replies": [
        {
          "id": 1012559,
          "postDate": "2020-09-16T06:49:51.257Z",
          "content": "<p>Resnet50<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F3577701%2Fe2275dd21df2118cc59c52a57097f5e5%2F2.png?generation=1600238988645838&amp;alt=media\" alt=\"\"></p>",
          "rawMarkdown": "Resnet50![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F3577701%2Fe2275dd21df2118cc59c52a57097f5e5%2F2.png?generation=1600238988645838&alt=media)",
          "votes": 1
        }
      ]
    },
    {
      "id": 1012541,
      "postDate": "2020-09-16T06:37:01.770Z",
      "content": "<blockquote>\n  <p>Used BCEWithLogitsLoss. For the main birds, the label was 1. For birds in the background 0.3.</p>\n</blockquote>\n<p>Thats intresting idea, for me when I was trying things out <code>secondary_labels</code> were not useful, but I also gave them a 1.</p>\n<p>Congratz for 2nd place :)</p>",
      "rawMarkdown": "> Used BCEWithLogitsLoss. For the main birds, the label was 1. For birds in the background 0.3.\n\nThats intresting idea, for me when I was trying things out `secondary_labels` were not useful, but I also gave them a 1.\n\nCongratz for 2nd place :)",
      "votes": 1,
      "replies": [
        {
          "id": 1012548,
          "postDate": "2020-09-16T06:39:41.943Z",
          "content": "<p>Thanks! 1 for secondary_labels didn't help me either</p>",
          "rawMarkdown": "Thanks! 1 for secondary_labels didn't help me either"
        }
      ]
    },
    {
      "id": 1012761,
      "postDate": "2020-09-16T09:21:55.407Z",
      "content": "<p>Congrats for the solo prize win!  Your writeup is full of things that are easy to try out, thanks for sharing.</p>",
      "rawMarkdown": "Congrats for the solo prize win!  Your writeup is full of things that are easy to try out, thanks for sharing.",
      "votes": 2,
      "replies": [
        {
          "id": 1012764,
          "postDate": "2020-09-16T09:23:00.353Z",
          "content": "<p>PS.  Why are you discounting the two covid forecasting competitions you did?  They were quite intensive Kaggle competitions IMHO.</p>",
          "rawMarkdown": "PS.  Why are you discounting the two covid forecasting competitions you did?  They were quite intensive Kaggle competitions IMHO.",
          "votes": -1
        },
        {
          "id": 1012770,
          "postDate": "2020-09-16T09:25:49.310Z",
          "content": "<p>I'm just learning, so I didn't do anything complicated. High quality validation and augmentation is my choice</p>",
          "rawMarkdown": "I'm just learning, so I didn't do anything complicated. High quality validation and augmentation is my choice",
          "votes": 1
        },
        {
          "id": 1012773,
          "postDate": "2020-09-16T09:27:34.327Z",
          "content": "<p>There was no goal to win.I only participated for a couple of days</p>",
          "rawMarkdown": "There was no goal to win.I only participated for a couple of days",
          "votes": 2
        }
      ]
    },
    {
      "id": 1012586,
      "postDate": "2020-09-16T07:05:09.110Z",
      "content": "<p>Congratulations on the result <a href=\"https://www.kaggle.com/vlomme\" target=\"_blank\">@vlomme</a></p>",
      "rawMarkdown": "Congratulations on the result @vlomme",
      "votes": 2,
      "replies": [
        {
          "id": 1012601,
          "postDate": "2020-09-16T07:10:05.807Z",
          "content": "<p>Thanks! I was close to you=)<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F3577701%2Fc0930dd97c6edb9f23b5074b88ab670f%2F1.png?generation=1600240188494923&amp;alt=media\" alt=\"\"></p>",
          "rawMarkdown": "Thanks! I was close to you=)![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F3577701%2Fc0930dd97c6edb9f23b5074b88ab670f%2F1.png?generation=1600240188494923&alt=media)",
          "votes": 2
        }
      ]
    },
    {
      "id": 1253559,
      "postDate": "2021-03-26T21:31:27.140Z",
      "content": "<p>This is awesome. One random question. How come your <a href=\"https://www.kaggle.com/vlomme/surfin-bird-2nd-place?scriptVersionId=42778378\" target=\"_blank\">submission notebook</a> shows a private LB of 0.680 whereas the <a href=\"https://www.kaggle.com/c/birdsong-recognition/leaderboard\" target=\"_blank\">competition leaderboard</a> shows your LB as 0.677?</p>",
      "rawMarkdown": "This is awesome. One random question. How come your [submission notebook](https://www.kaggle.com/vlomme/surfin-bird-2nd-place?scriptVersionId=42778378) shows a private LB of 0.680 whereas the [competition leaderboard](https://www.kaggle.com/c/birdsong-recognition/leaderboard) shows your LB as 0.677?"
    },
    {
      "id": 1021212,
      "postDate": "2020-09-21T17:38:42.833Z",
      "rawMarkdown": "",
      "votes": 1,
      "isDeleted": true
    },
    {
      "id": 1014117,
      "postDate": "2020-09-17T08:14:01.633Z",
      "rawMarkdown": "",
      "votes": 3,
      "isDeleted": true
    },
    {
      "id": 1015537,
      "postDate": "2020-09-18T08:51:35.510Z",
      "content": "<p>congrats and thank you for sharing</p>",
      "rawMarkdown": "congrats and thank you for sharing",
      "votes": 1
    },
    {
      "id": 1014118,
      "postDate": "2020-09-17T08:16:08.323Z",
      "content": "<p>Congrats.Thanks for sharing.🙏</p>",
      "rawMarkdown": " Congrats.Thanks for sharing.🙏\n\n",
      "votes": 1
    },
    {
      "id": 1012776,
      "postDate": "2020-09-16T09:31:26.977Z",
      "content": "<p>Thanks for sharing! Congrats!</p>",
      "rawMarkdown": "Thanks for sharing! Congrats!",
      "votes": 1
    },
    {
      "id": 1018589,
      "postDate": "2020-09-19T18:56:33.160Z",
      "content": "<p>Thanks for sharing.</p>",
      "rawMarkdown": "Thanks for sharing.",
      "votes": 2
    },
    {
      "id": 1283605,
      "postDate": "2021-04-25T04:58:31.763Z",
      "content": "<p>Thank for sharing 👍😄</p>",
      "rawMarkdown": "Thank for sharing 👍😄"
    }
  ],
  "comments": [
    {
      "id": 1020706,
      "author_name": "Pinaki MIshra",
      "author_url": "",
      "post_date": "2020-09-21T11:20:07.707000",
      "content": "<p>Amazing work , Congrats </p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1020235,
      "author_name": "Shivam Bhardwaj",
      "author_url": "",
      "post_date": "2020-09-21T03:45:25.907000",
      "content": "<p>Congratulations!!</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1018814,
      "author_name": "Beans",
      "author_url": "",
      "post_date": "2020-09-20T02:28:41.910000",
      "content": "<p>Thank you for writing this sharing post and Congratulations to the 2nd place well deserved!</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1018138,
      "author_name": "jam94",
      "author_url": "",
      "post_date": "2020-09-19T13:22:05.957000",
      "content": "<p>Interesting one</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1017908,
      "author_name": "Rifky Ahmad Saputra",
      "author_url": "",
      "post_date": "2020-09-19T10:32:57.533000",
      "content": "<p>Good job!</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1015396,
      "author_name": "Yu Kang",
      "author_url": "",
      "post_date": "2020-09-18T06:53:04.387000",
      "content": "<p>Congrats for solo gold! <br>\nI have questions about some points:</p>\n<blockquote>\n  <p>IMPORTANT! For contrast, I raised the image to a power of 0.5 to 3. at 0.5, the background noise is closer to the birds, and at 3, on the contrary, the quiet sounds become even quieter.</p>\n  <p>IMPORTANT! With a probability of 0.5 lowered the upper frequencies. In the real world, the upper frequencies fade faster with distance</p>\n</blockquote>\n<p>Do these two contain some professional acoustical knowledge? I'm not able to understand them, would you mind tell more details?</p>",
      "votes": 1,
      "replies": [
        {
          "id": 1015479,
          "author_name": "Kramarenko Vladislav",
          "author_url": "",
          "post_date": "2020-09-18T08:05:20.880000",
          "content": "<p>1) 1^2 = 1, 0.5^2 = 0.25. 1^0.5 = 1, 0.25^0.5 = 0.5<br>\n2) <a href=\"https://onlinelibrary.wiley.com/doi/full/10.1002/ece3.3889\" target=\"_blank\">https://onlinelibrary.wiley.com/doi/full/10.1002/ece3.3889</a></p>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 1019820,
          "author_name": "Yu Kang",
          "author_url": "",
          "post_date": "2020-09-20T17:22:47.707000",
          "content": "<p>sorry, I'm still a little confused about <code>raised the image to a power of 0.5 to 3</code>, is it something like <code>image = image ** 1.5</code> where image is a melspec? because I try this and get a really worse performance.<br>\nor it just like what <a href=\"https://www.kaggle.com/c/birdsong-recognition/discussion/183204\" target=\"_blank\">hidehisaarai1213 did </a> like <code>librosa.power_to_db(melspec ** 1.5)</code>.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1019872,
          "author_name": "Kramarenko Vladislav",
          "author_url": "",
          "post_date": "2020-09-20T18:04:05.807000",
          "content": "<p><code>images = images ** (random.random()*power + c)</code> . I do it twice, before and after librosa.power_to_db</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1020377,
          "author_name": "Yu Kang",
          "author_url": "",
          "post_date": "2020-09-21T06:10:31.097000",
          "content": "<p>got it, thanks.</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1014327,
      "author_name": "Pavel Peskov",
      "author_url": "",
      "post_date": "2020-09-17T11:02:09.450000",
      "content": "<p><a href=\"https://www.kaggle.com/vlomme\" target=\"_blank\">@vlomme</a> thanks for sharing! Did you try to use mixed precision during training?</p>",
      "votes": 1,
      "replies": [
        {
          "id": 1014343,
          "author_name": "Kramarenko Vladislav",
          "author_url": "",
          "post_date": "2020-09-17T11:11:44.473000",
          "content": "<p>fp16? No, I read that, like, on my video card it will not give a speed boost</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 1013804,
      "author_name": "CoreyJamesLevinson",
      "author_url": "",
      "post_date": "2020-09-17T01:54:30.813000",
      "content": "<p>Wow! You are dedicated. Good job</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1013792,
      "author_name": "SamHyeong An",
      "author_url": "",
      "post_date": "2020-09-17T01:43:48.253000",
      "content": "<p>Congratulation! and thanks for sharing !</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1013721,
      "author_name": "Hidehisa Arai",
      "author_url": "",
      "post_date": "2020-09-16T22:50:04.437000",
      "content": "<p>Congratulations <a href=\"https://www.kaggle.com/vlomme\" target=\"_blank\">@vlomme</a> <br>\nI had a lot of fun passing each other with you on the LB though it turned out I was not that close to your score in private LB actually :)</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1013078,
      "author_name": "Abdur Rahim",
      "author_url": "",
      "post_date": "2020-09-16T13:44:52.330000",
      "content": "<p>That's impressive <a href=\"https://www.kaggle.com/vlomme\" target=\"_blank\">@vlomme</a> 😍<br>\nCongratulations on your first GOLD 😍</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1012952,
      "author_name": "SeshuRaju 🧘‍♂️",
      "author_url": "",
      "post_date": "2020-09-16T12:17:27.147000",
      "content": "<p>Congratulations and Thanks for sharing <a href=\"https://www.kaggle.com/vlomme\" target=\"_blank\">@vlomme</a> </p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1012736,
      "author_name": "",
      "author_url": "",
      "post_date": "2020-09-16T09:00:53.043000",
      "content": "<p>Thank you for sharing your solution, congratulation👍</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1012670,
      "author_name": "Theo Viel",
      "author_url": "",
      "post_date": "2020-09-16T08:07:10.077000",
      "content": "<p>Congratz on the strong finish, that's a really impressive result for a first competition !</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1012610,
      "author_name": "KhanhVD",
      "author_url": "",
      "post_date": "2020-09-16T07:19:35.113000",
      "content": "<p>Congrats on result and thanks for the writeup your solution <a href=\"https://www.kaggle.com/vlomme\" target=\"_blank\">@vlomme</a> </p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1012557,
      "author_name": "Kramarenko Vladislav",
      "author_url": "",
      "post_date": "2020-09-16T06:47:19.480000",
      "content": "<p>While training, I built these graphs. Resnet34<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F3577701%2Fc3fc0161139d1bf5b4c2012b0d12ff60%2F1.png?generation=1600238831970203&amp;alt=media\" alt=\"\"></p>",
      "votes": 1,
      "replies": [
        {
          "id": 1012559,
          "author_name": "Kramarenko Vladislav",
          "author_url": "",
          "post_date": "2020-09-16T06:49:51.257000",
          "content": "<p>Resnet50<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F3577701%2Fe2275dd21df2118cc59c52a57097f5e5%2F2.png?generation=1600238988645838&amp;alt=media\" alt=\"\"></p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 1012541,
      "author_name": "Ali Abdin",
      "author_url": "",
      "post_date": "2020-09-16T06:37:01.770000",
      "content": "<blockquote>\n  <p>Used BCEWithLogitsLoss. For the main birds, the label was 1. For birds in the background 0.3.</p>\n</blockquote>\n<p>Thats intresting idea, for me when I was trying things out <code>secondary_labels</code> were not useful, but I also gave them a 1.</p>\n<p>Congratz for 2nd place :)</p>",
      "votes": 1,
      "replies": [
        {
          "id": 1012548,
          "author_name": "Kramarenko Vladislav",
          "author_url": "",
          "post_date": "2020-09-16T06:39:41.943000",
          "content": "<p>Thanks! 1 for secondary_labels didn't help me either</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1012761,
      "author_name": "CPMP",
      "author_url": "",
      "post_date": "2020-09-16T09:21:55.407000",
      "content": "<p>Congrats for the solo prize win!  Your writeup is full of things that are easy to try out, thanks for sharing.</p>",
      "votes": 2,
      "replies": [
        {
          "id": 1012764,
          "author_name": "CPMP",
          "author_url": "",
          "post_date": "2020-09-16T09:23:00.353000",
          "content": "<p>PS.  Why are you discounting the two covid forecasting competitions you did?  They were quite intensive Kaggle competitions IMHO.</p>",
          "votes": -1,
          "replies": []
        },
        {
          "id": 1012770,
          "author_name": "Kramarenko Vladislav",
          "author_url": "",
          "post_date": "2020-09-16T09:25:49.310000",
          "content": "<p>I'm just learning, so I didn't do anything complicated. High quality validation and augmentation is my choice</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1012773,
          "author_name": "Kramarenko Vladislav",
          "author_url": "",
          "post_date": "2020-09-16T09:27:34.327000",
          "content": "<p>There was no goal to win.I only participated for a couple of days</p>",
          "votes": 2,
          "replies": []
        }
      ]
    },
    {
      "id": 1012586,
      "author_name": "Ryan Wong",
      "author_url": "",
      "post_date": "2020-09-16T07:05:09.110000",
      "content": "<p>Congratulations on the result <a href=\"https://www.kaggle.com/vlomme\" target=\"_blank\">@vlomme</a></p>",
      "votes": 2,
      "replies": [
        {
          "id": 1012601,
          "author_name": "Kramarenko Vladislav",
          "author_url": "",
          "post_date": "2020-09-16T07:10:05.807000",
          "content": "<p>Thanks! I was close to you=)<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F3577701%2Fc0930dd97c6edb9f23b5074b88ab670f%2F1.png?generation=1600240188494923&amp;alt=media\" alt=\"\"></p>",
          "votes": 2,
          "replies": []
        }
      ]
    },
    {
      "id": 1253559,
      "author_name": "Philip Dhingra",
      "author_url": "",
      "post_date": "2021-03-26T21:31:27.140000",
      "content": "<p>This is awesome. One random question. How come your <a href=\"https://www.kaggle.com/vlomme/surfin-bird-2nd-place?scriptVersionId=42778378\" target=\"_blank\">submission notebook</a> shows a private LB of 0.680 whereas the <a href=\"https://www.kaggle.com/c/birdsong-recognition/leaderboard\" target=\"_blank\">competition leaderboard</a> shows your LB as 0.677?</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1021212,
      "author_name": "",
      "author_url": "",
      "post_date": "2020-09-21T17:38:42.833000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1014117,
      "author_name": "",
      "author_url": "",
      "post_date": "2020-09-17T08:14:01.633000",
      "content": "",
      "votes": 3,
      "replies": []
    },
    {
      "id": 1015537,
      "author_name": "Swapnil Amlekar ",
      "author_url": "",
      "post_date": "2020-09-18T08:51:35.510000",
      "content": "<p>congrats and thank you for sharing</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1014118,
      "author_name": "zeintiz",
      "author_url": "",
      "post_date": "2020-09-17T08:16:08.323000",
      "content": "<p>Congrats.Thanks for sharing.🙏</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1012776,
      "author_name": "Roman Chesnokov",
      "author_url": "",
      "post_date": "2020-09-16T09:31:26.977000",
      "content": "<p>Thanks for sharing! Congrats!</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1018589,
      "author_name": " Akash Gupta",
      "author_url": "",
      "post_date": "2020-09-19T18:56:33.160000",
      "content": "<p>Thanks for sharing.</p>",
      "votes": 2,
      "replies": []
    },
    {
      "id": 1283605,
      "author_name": "ずんびん（zunbin)",
      "author_url": "",
      "post_date": "2021-04-25T04:58:31.763000",
      "content": "<p>Thank for sharing 👍😄</p>",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "1012439": "Hi. This is my first Kaggle competition, and I really enjoyed participating.\nThank you to the organizers for an interesting competition, @hidehisaarai1213 for the basic solution, and to all the teams for an interesting and intense fight.\n# My decision\n**github**: https://github.com/vlomme/Birdcall-Identification-competition\n**datasets**: https://www.kaggle.com/vlomme/my-birdcall-datasets\n**kaggle notebook**: https://www.kaggle.com/vlomme/surfin-bird-2nd-place\n-  Due to a weak PC and to speed up training, I saved the Mel spectrograms and later worked with them\n- **IMPORTANT**! While training different architectures, I manually went through 20 thousand training files and deleted large segments without the target bird. If necessary, I can put them in a separate dataset.\n- I mixed 1 to 3 file\n- **IMPORTANT**! For contrast, I raised the image to a power of 0.5 to 3. at 0.5, the background noise is closer to the birds, and at 3, on the contrary, the quiet sounds become even quieter.\n- Slightly accelerated / slowed down recording\n- **IMPORTANT**! Add a different sound without birds(rain, noise, conversations, etc.)\n- Added white, pink, and band noise. Increasing the noise level increases recall, but reduces precision.\n- **IMPORTANT**! With a probability of 0.5 lowered the upper frequencies. In the real world, the upper frequencies fade faster with distance\n- Used BCEWithLogitsLoss. For the main birds, the label was 1. For birds in the background 0.3.\n- I didn't look at metrics on training records, but only on validation files similar to the test sample (see dataset). They worked well.\n- Added 265 class nocall, but it didn't help much\n- The final solution consisted of an ensemble of 6 models, one of which trained on 2.5-second recordings, and one of which only trained on 150 classes. But this model did not work much better than an ensemble of 3 models, where everyone studied in 5 seconds and 265 classes.\n- My best solution was sent 3 weeks ago and would have given me first place=)\n- Model predictions were squared, averaged, and the root was extracted. The rating slightly increased, compared to simple averaging.\n- All models gave similar quality, but the best was efficientnet-b0, resnet50, densenet121.\n- Pre-trained models work better\n- Spectrogram worked slightly worse than melspectrograms\n- Large networks worked slightly worse than small ones\n- n_fft = 892, sr = 21952, hop_length=245, n_mels = 224, len_chack 448(or 224), image_size = 224*448\n- **IMPORTANT**! If there was a bird in the segment, I increased the probability of finding it in the entire file.\n- I tried pseudo-labels, predict classes on training files, and train using new labels, but the quality decreased slightly\n- A small learning rate reduced the rating\n\nI'll try writing more later here or on GitHub. I will be happy to answer your questions, because I almost didn't sleep and forgot to write a lot\n",
    "1020706": "Amazing work , Congrats ",
    "1020235": "Congratulations!!",
    "1018814": "Thank you for writing this sharing post and Congratulations to the 2nd place well deserved!",
    "1018138": "Interesting one",
    "1017908": "Good job!",
    "1015396": "Congrats for solo gold! \nI have questions about some points:\n\n> IMPORTANT! For contrast, I raised the image to a power of 0.5 to 3. at 0.5, the background noise is closer to the birds, and at 3, on the contrary, the quiet sounds become even quieter.\n\n> IMPORTANT! With a probability of 0.5 lowered the upper frequencies. In the real world, the upper frequencies fade faster with distance\n\nDo these two contain some professional acoustical knowledge? I'm not able to understand them, would you mind tell more details?",
    "1014327": "@vlomme thanks for sharing! Did you try to use mixed precision during training?",
    "1013804": "Wow! You are dedicated. Good job",
    "1013792": "Congratulation! and thanks for sharing !",
    "1013721": "Congratulations @vlomme \nI had a lot of fun passing each other with you on the LB though it turned out I was not that close to your score in private LB actually :)",
    "1013078": "That's impressive @vlomme 😍\nCongratulations on your first GOLD 😍",
    "1012952": "Congratulations and Thanks for sharing @vlomme ",
    "1012736": "Thank you for sharing your solution, congratulation👍",
    "1012670": "Congratz on the strong finish, that's a really impressive result for a first competition !",
    "1012610": "Congrats on result and thanks for the writeup your solution @vlomme ",
    "1012557": "While training, I built these graphs. Resnet34![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F3577701%2Fc3fc0161139d1bf5b4c2012b0d12ff60%2F1.png?generation=1600238831970203&alt=media)",
    "1012541": "> Used BCEWithLogitsLoss. For the main birds, the label was 1. For birds in the background 0.3.\n\nThats intresting idea, for me when I was trying things out `secondary_labels` were not useful, but I also gave them a 1.\n\nCongratz for 2nd place :)",
    "1012761": "Congrats for the solo prize win!  Your writeup is full of things that are easy to try out, thanks for sharing.",
    "1012586": "Congratulations on the result @vlomme",
    "1253559": "This is awesome. One random question. How come your [submission notebook](https://www.kaggle.com/vlomme/surfin-bird-2nd-place?scriptVersionId=42778378) shows a private LB of 0.680 whereas the [competition leaderboard](https://www.kaggle.com/c/birdsong-recognition/leaderboard) shows your LB as 0.677?",
    "1021212": "",
    "1014117": "",
    "1015537": "congrats and thank you for sharing",
    "1014118": " Congrats.Thanks for sharing.🙏\n\n",
    "1012776": "Thanks for sharing! Congrats!",
    "1018589": "Thanks for sharing.",
    "1283605": "Thank for sharing 👍😄"
  }
}