{
  "id": 574305,
  "title": "Single Model Hard to reach 0.8 pb score,Waht's the secret?",
  "url": "/competitions/birdclef-2025/discussion/574305",
  "author_name": "XuKong Ji",
  "post_date": "2025-04-21T08:11:31.218000",
  "votes": 22,
  "comment_count": 64,
  "views": 0,
  "content": "<p>My best single model can only reach0.78 pb score.<br>\nNow:<br>\nThanks all for all yours suggestion. Now I Already reach 0.8.<br>\nThis post will record my improvement progress.</p>",
  "messages": [
    {
      "id": 3183742,
      "postDate": "2025-04-21T08:11:31.220Z",
      "content": "<p>My best single model can only reach0.78 pb score.<br>\nNow:<br>\nThanks all for all yours suggestion. Now I Already reach 0.8.<br>\nThis post will record my improvement progress.</p>",
      "rawMarkdown": "My best single model can only reach0.78 pb score.\nNow:\nThanks all for all yours suggestion. Now I Already reach 0.8.\nThis post will record my improvement progress.",
      "votes": 22
    },
    {
      "id": 3187752,
      "postDate": "2025-04-26T13:25:01.880Z",
      "content": "<p>Some trying in those days:<br>\n    1.filter top 3% loss in backward propgation. 0.81x ~0.824 (not stable, cannot repeat)<br>\n    2.focal loss without data clean. 0.824-&gt;0.81~<br>\n    3.cut off humvoice segments. 0.824-&gt; 0.79~<br>\n    4.replace humvoice segments as zeros. 0.824-&gt;0.81x<br>\n    5.limit the longgest segment portion of hum voice to below 50%. 0.816-&gt;0.821<br>\n    6.average 1.and 5. -&gt;0.838</p>",
      "rawMarkdown": "Some trying in those days:\n    1.filter top 3% loss in backward propgation. 0.81x ~0.824 (not stable, cannot repeat)\n    2.focal loss without data clean. 0.824->0.81~\n    3.cut off humvoice segments. 0.824-> 0.79~\n    4.replace humvoice segments as zeros. 0.824->0.81x\n    5.limit the longgest segment portion of hum voice to below 50%. 0.816->0.821\n    6.average 1.and 5. ->0.838",
      "votes": 6,
      "replies": [
        {
          "id": 3188179,
          "postDate": "2025-04-27T07:12:23.820Z",
          "content": "<p>The 5. really works. Single model 0.816 -&gt; 0.831.</p>",
          "rawMarkdown": "The 5. really works. Single model 0.816 -> 0.831.",
          "votes": 2,
          "replies": [
            {
              "id": 3188310,
              "postDate": "2025-04-27T11:40:03.687Z",
              "content": "<p>Can you tell me what types of augmentations you used?</p>",
              "rawMarkdown": "Can you tell me what types of augmentations you used?"
            },
            {
              "id": 3188389,
              "postDate": "2025-04-27T13:52:58.080Z",
              "content": "<p>Only freq/time mask+mixup+time moise</p>",
              "rawMarkdown": "Only freq/time mask+mixup+time moise",
              "votes": 2
            }
          ]
        },
        {
          "id": 3188396,
          "postDate": "2025-04-27T14:05:39.993Z",
          "content": "<p>Hey, dude!<br>\nWhich architecture do you use?</p>",
          "rawMarkdown": "Hey, dude!\nWhich architecture do you use?",
          "replies": [
            {
              "id": 3188403,
              "postDate": "2025-04-27T14:20:12.753Z",
              "content": "<p>In one of the other comments, he mentioned, that he's using an efficientnet_b0. This architecture has been proven to work well in the previous competitions and has quite a good inference speed, so you could go for ensemble methods later.</p>",
              "rawMarkdown": "In one of the other comments, he mentioned, that he's using an efficientnet_b0. This architecture has been proven to work well in the previous competitions and has quite a good inference speed, so you could go for ensemble methods later."
            },
            {
              "id": 3188604,
              "postDate": "2025-04-27T23:54:04.890Z",
              "content": "<p>only efficientnet_b0 now.</p>",
              "rawMarkdown": "only efficientnet_b0 now."
            },
            {
              "id": 3188981,
              "postDate": "2025-04-28T15:13:35.530Z",
              "rawMarkdown": "",
              "isDeleted": true
            },
            {
              "id": 3194988,
              "postDate": "2025-05-06T14:02:58.820Z",
              "content": "<p>Hello, Have you ever tried using the SED architecture?</p>",
              "rawMarkdown": "Hello, Have you ever tried using the SED architecture?"
            }
          ]
        },
        {
          "id": 3188625,
          "postDate": "2025-04-28T00:46:04.810Z",
          "content": "<p>I have a question regarding point 5 (\"limit the longest segment portion of the human voice to below 50%\").<br>\nFrom my understanding:</p>\n<ul>\n<li>You randomly cut a segment (e.g., 5 seconds),</li>\n<li>Then you detect the human voice regions within that segment,</li>\n<li>If the human voice portions exceed 50% of the segment, you adjust it (e.g., mark, mask, or modify) so that the segment contains at most 50% human voice.</li>\n</ul>\n<p>Is my understanding correct? Could you kindly elaborate a bit more on how you implemented this?</p>",
          "rawMarkdown": "I have a question regarding point 5 (\"limit the longest segment portion of the human voice to below 50%\").\nFrom my understanding:\n- You randomly cut a segment (e.g., 5 seconds),\n- Then you detect the human voice regions within that segment,\n- If the human voice portions exceed 50% of the segment, you adjust it (e.g., mark, mask, or modify) so that the segment contains at most 50% human voice.\n\nIs my understanding correct? Could you kindly elaborate a bit more on how you implemented this?",
          "replies": [
            {
              "id": 3188713,
              "postDate": "2025-04-28T04:55:53.430Z",
              "content": "<p>Just discard \"the human voice portions exceed 50% of the segment\".</p>",
              "rawMarkdown": "Just discard \"the human voice portions exceed 50% of the segment\".",
              "votes": 2
            }
          ]
        }
      ]
    },
    {
      "id": 3183938,
      "postDate": "2025-04-21T13:11:24.643Z",
      "content": "<p>So my current model is not too good either (0.819 pb), but it's at least &gt;0.8. Most of the improvements came from optimizing the spectrogram parameters and adding augmentations. I augmented both, the waveform data (change speed, pitch shift, scale volume, ring shift and gaussian noise) and the spectrograms (time and frequency masking). I also used mixup (linear on the spectrograms and stft mixup). </p>",
      "rawMarkdown": "So my current model is not too good either (0.819 pb), but it's at least >0.8. Most of the improvements came from optimizing the spectrogram parameters and adding augmentations. I augmented both, the waveform data (change speed, pitch shift, scale volume, ring shift and gaussian noise) and the spectrograms (time and frequency masking). I also used mixup (linear on the spectrograms and stft mixup). ",
      "votes": 3,
      "replies": [
        {
          "id": 3183994,
          "postDate": "2025-04-21T14:14:45.793Z",
          "content": "<p>I tried the same waveform augs but it hurts my model's performance, I am still checking…  </p>",
          "rawMarkdown": "I tried the same waveform augs but it hurts my model's performance, I am still checking...  "
        }
      ]
    },
    {
      "id": 3183767,
      "postDate": "2025-04-21T09:00:42.473Z",
      "content": "<p>You can try some data augmentation (audio, image), and also try using mixup, and use bce_loss to do multilabel tasks, and then tweak some hyperparameters like batch size, n_mel, nfft, lr, epoch, etc.</p>\n<p>And then there's the more esoteric stuff, namely the random seed, who might make my model crash in the first few rounds of training.</p>\n<p>Good luck !</p>",
      "rawMarkdown": "You can try some data augmentation (audio, image), and also try using mixup, and use bce_loss to do multilabel tasks, and then tweak some hyperparameters like batch size, n_mel, nfft, lr, epoch, etc.\n\nAnd then there's the more esoteric stuff, namely the random seed, who might make my model crash in the first few rounds of training.\n\nGood luck !",
      "votes": 4,
      "replies": [
        {
          "id": 3183778,
          "postDate": "2025-04-21T09:16:53.877Z",
          "content": "<p>Thanks a lot my friend! I tried the methods you mentioned above besides random seed/bce_loss. I think i should start with bce loss becuase i use ce loss now.</p>",
          "rawMarkdown": "Thanks a lot my friend! I tried the methods you mentioned above besides random seed/bce_loss. I think i should start with bce loss becuase i use ce loss now."
        }
      ]
    },
    {
      "id": 3189972,
      "postDate": "2025-04-30T02:24:42.687Z",
      "content": "<p>It's so weird, so unstable, we need more luckiness!</p>",
      "rawMarkdown": "It's so weird, so unstable, we need more luckiness!",
      "votes": 1
    },
    {
      "id": 3185322,
      "postDate": "2025-04-23T06:52:20.690Z",
      "content": "<p>Update. I use some loss trick to prevent overfitting in dirty data, Now i get pb score 0.824</p>",
      "rawMarkdown": "Update. I use some loss trick to prevent overfitting in dirty data, Now i get pb score 0.824",
      "votes": 1,
      "replies": [
        {
          "id": 3188775,
          "postDate": "2025-04-28T07:15:55.490Z",
          "content": "<p>What do you mean by \"dirty data\"?</p>",
          "rawMarkdown": "What do you mean by \"dirty data\"?",
          "replies": [
            {
              "id": 3188921,
              "postDate": "2025-04-28T13:04:28.487Z",
              "content": "<p>Means samples with top loss in a batch. </p>",
              "rawMarkdown": "Means samples with top loss in a batch. "
            }
          ]
        },
        {
          "id": 3188777,
          "postDate": "2025-04-28T07:18:40.043Z",
          "content": "<p>What methods were used?</p>",
          "rawMarkdown": "What methods were used?",
          "replies": [
            {
              "id": 3188927,
              "postDate": "2025-04-28T13:16:51.450Z",
              "content": "<p>Just filter large loss…</p>",
              "rawMarkdown": "Just filter large loss..."
            },
            {
              "id": 3188968,
              "postDate": "2025-04-28T14:51:09.500Z",
              "content": "<p><a href=\"https://www.kaggle.com/xukongji\" target=\"_blank\">@xukongji</a> whats your local cv? before filter large loss and after?</p>",
              "rawMarkdown": "@xukongji whats your local cv? before filter large loss and after?"
            },
            {
              "id": 3188976,
              "postDate": "2025-04-28T15:04:16.137Z",
              "content": "<p>I train full data. without local cv</p>",
              "rawMarkdown": "I train full data. without local cv"
            }
          ]
        },
        {
          "id": 3199686,
          "postDate": "2025-05-11T10:27:48.927Z",
          "content": "<p>Looks like it's time to change the 0.8 in the topic title to 0.9?</p>",
          "rawMarkdown": "Looks like it's time to change the 0.8 in the topic title to 0.9?",
          "replies": [
            {
              "id": 3200900,
              "postDate": "2025-05-13T07:49:44.190Z",
              "content": "<p>Hard to move one forward step😂</p>",
              "rawMarkdown": "Hard to move one forward step😂"
            }
          ]
        }
      ]
    },
    {
      "id": 3185187,
      "postDate": "2025-04-23T01:28:41.717Z",
      "content": "<p>Update. I used all training data to train a model and my pb score improves to 0.816. It's time to tune mel spec params/random seeds/different models. So happy hhh…😃</p>",
      "rawMarkdown": "Update. I used all training data to train a model and my pb score improves to 0.816. It's time to tune mel spec params/random seeds/different models. So happy hhh...😃",
      "votes": 2,
      "replies": [
        {
          "id": 3185230,
          "postDate": "2025-04-23T03:11:15.283Z",
          "content": "<p>Do you have some kind of metric for early stopping or are you just using a fixed number of epochs/iterations? I wouldn't know when to stop when using the whole data for training.</p>",
          "rawMarkdown": "Do you have some kind of metric for early stopping or are you just using a fixed number of epochs/iterations? I wouldn't know when to stop when using the whole data for training.",
          "replies": [
            {
              "id": 3185321,
              "postDate": "2025-04-23T06:49:37.833Z",
              "content": "<p>Without early  stopping, I train for 30 epochs and submit the last epoch model.</p>",
              "rawMarkdown": "Without early  stopping, I train for 30 epochs and submit the last epoch model."
            },
            {
              "id": 3185612,
              "postDate": "2025-04-23T15:22:36.017Z",
              "content": "<p>I'll try that as well. Thanks.</p>",
              "rawMarkdown": "I'll try that as well. Thanks."
            },
            {
              "id": 3186736,
              "postDate": "2025-04-25T05:31:40.433Z",
              "content": "<p>I tried that too but it hurt my model and got only .801</p>\n<p>compared to 0.806 on normal 10 epochs </p>",
              "rawMarkdown": "I tried that too but it hurt my model and got only .801\n\ncompared to 0.806 on normal 10 epochs "
            },
            {
              "id": 3187762,
              "postDate": "2025-04-26T13:36:57.273Z",
              "content": "<p>I never tune epochs using 30epochs all of the way. Maybe you can try EMA or SWA to reduce randomness between epochs.</p>",
              "rawMarkdown": "I never tune epochs using 30epochs all of the way. Maybe you can try EMA or SWA to reduce randomness between epochs."
            },
            {
              "id": 3200828,
              "postDate": "2025-05-13T05:40:29.240Z",
              "content": "<p><a href=\"https://www.kaggle.com/xukongji\" target=\"_blank\">@xukongji</a> 　What is the values of the learning rate, weight decay, and scheduler settings for the optimizer?</p>",
              "rawMarkdown": "@xukongji 　What is the values of the learning rate, weight decay, and scheduler settings for the optimizer?"
            },
            {
              "id": 3200901,
              "postDate": "2025-05-13T07:51:23.730Z",
              "content": "<p>I use lr=5e-4, weight_decay=1e-5, cosine_schedule_with_warmup</p>",
              "rawMarkdown": "I use lr=5e-4, weight_decay=1e-5, cosine_schedule_with_warmup",
              "votes": 1
            },
            {
              "id": 3200918,
              "postDate": "2025-05-13T08:21:15.853Z",
              "content": "<p>thank you for your quick reply!!</p>",
              "rawMarkdown": "thank you for your quick reply!!"
            }
          ]
        },
        {
          "id": 3186737,
          "postDate": "2025-04-25T05:33:45.670Z",
          "content": "<p>All training data as in ?</p>\n<ul>\n<li>no folds?</li>\n<li>more then 5 sec chunks from each recording?</li>\n<li>pseudolabels?</li>\n</ul>",
          "rawMarkdown": "All training data as in ?\n- no folds?\n- more then 5 sec chunks from each recording?\n- pseudolabels?",
          "replies": [
            {
              "id": 3187766,
              "postDate": "2025-04-26T13:38:31.047Z",
              "content": "<ul>\n<li>Right. using all data to train.</li>\n<li>random 5 seconds.</li>\n<li>no pseudo labels.</li>\n</ul>",
              "rawMarkdown": "- Right. using all data to train.\n- random 5 seconds.\n- no pseudo labels.",
              "votes": 2
            }
          ]
        },
        {
          "id": 3187671,
          "postDate": "2025-04-26T11:12:02.540Z",
          "content": "<p>Does “used all training data” mean that there is no validation and all the labeled data are used for training?</p>",
          "rawMarkdown": "Does “used all training data” mean that there is no validation and all the labeled data are used for training?",
          "replies": [
            {
              "id": 3187738,
              "postDate": "2025-04-26T13:03:50.337Z",
              "content": "<p>That's right. </p>",
              "rawMarkdown": "That's right. "
            }
          ]
        }
      ]
    },
    {
      "id": 3184098,
      "postDate": "2025-04-21T16:35:26.203Z",
      "content": "<p>According to what I have read, you might get some boost for a single model if you:</p>\n<ul>\n<li>tweak a bit the melspectrogram base parameters</li>\n<li>try various backbones </li>\n<li>tweak training hyperparameters</li>\n</ul>\n<p>Best of luck!</p>",
      "rawMarkdown": "According to what I have read, you might get some boost for a single model if you:\n\n- tweak a bit the melspectrogram base parameters\n- try various backbones \n- tweak training hyperparameters\n\nBest of luck!",
      "votes": 2,
      "replies": [
        {
          "id": 3184337,
          "postDate": "2025-04-22T02:38:50.190Z",
          "content": "<p>Thanks a lot and good suggestion!  I still use efficientnet_b0. I will not change model until it reach 0.8 pb score because many public notebook reach this score with this model.</p>",
          "rawMarkdown": "Thanks a lot and good suggestion!  I still use efficientnet_b0. I will not change model until it reach 0.8 pb score because many public notebook reach this score with this model.",
          "votes": 3,
          "replies": [
            {
              "id": 3184574,
              "postDate": "2025-04-22T08:56:20.920Z",
              "content": "<p>do you use tta on predict? maybe you should try label smooth.</p>",
              "rawMarkdown": "do you use tta on predict? maybe you should try label smooth."
            },
            {
              "id": 3185181,
              "postDate": "2025-04-23T01:12:25.607Z",
              "content": "<p>Not yet. Now I switch to bce loss and use prediction smoth</p>",
              "rawMarkdown": "Not yet. Now I switch to bce loss and use prediction smoth",
              "votes": 1
            },
            {
              "id": 3186070,
              "postDate": "2025-04-24T07:01:41.037Z",
              "content": "<p>Yes, changing the loss is a good option as well. Best of luck <a href=\"https://www.kaggle.com/xukongji\" target=\"_blank\">@xukongji</a>. 🫡</p>",
              "rawMarkdown": "Yes, changing the loss is a good option as well. Best of luck @xukongji. 🫡"
            }
          ]
        }
      ]
    },
    {
      "id": 3199108,
      "postDate": "2025-05-10T13:23:51.750Z",
      "content": "<p>AM I doing right? Is there any way I can do it more effeciently ?</p>\n<ul>\n<li>For data preprocessing change, we update the melspec parameter and run preprocessing pipeline. ~35 minutes to run </li>\n<li>Train whole model - 2:30 hours </li>\n<li>Make submission - 1 hours approx </li>\n<li>For every experiment, it is taking 4 hours. </li>\n</ul>",
      "rawMarkdown": "AM I doing right? Is there any way I can do it more effeciently ?\n\n- For data preprocessing change, we update the melspec parameter and run preprocessing pipeline. ~35 minutes to run \n- Train whole model - 2:30 hours \n- Make submission - 1 hours approx \n- For every experiment, it is taking 4 hours. ",
      "replies": [
        {
          "id": 3199170,
          "postDate": "2025-05-10T14:54:31.963Z",
          "content": "<p>Training time is close to me.<br>\nMy submission takes almost 13mins(efficient_b0, single model)</p>",
          "rawMarkdown": "Training time is close to me.\nMy submission takes almost 13mins(efficient_b0, single model)",
          "votes": 1
        }
      ]
    },
    {
      "id": 3190770,
      "postDate": "2025-05-01T04:21:02.713Z",
      "content": "<p>Hey man,<br>\nCan I ask 3 chanels are mel spec, delta, delta-delta or sth else?<br>\nThank you.</p>",
      "rawMarkdown": "Hey man,\nCan I ask 3 chanels are mel spec, delta, delta-delta or sth else?\nThank you.",
      "replies": [
        {
          "id": 3199169,
          "postDate": "2025-05-10T14:52:11.127Z",
          "content": "<p>just melspec</p>",
          "rawMarkdown": "just melspec"
        }
      ]
    },
    {
      "id": 3188999,
      "postDate": "2025-04-28T15:39:55.493Z",
      "content": "<p>Hey, Dude!<br>\nI was working with 1 input channel, and I had an 82.2 LB score (single-fold).<br>\nWhen I adapted my code to the 3 channels, sadly, it dropped to 79.8. This is because I need to refine the parameters to suit the 3 channels, right?</p>",
      "rawMarkdown": "Hey, Dude!\nI was working with 1 input channel, and I had an 82.2 LB score (single-fold).\nWhen I adapted my code to the 3 channels, sadly, it dropped to 79.8. This is because I need to refine the parameters to suit the 3 channels, right?",
      "replies": [
        {
          "id": 3189251,
          "postDate": "2025-04-29T02:52:01.187Z",
          "content": "<p>In my exps, 3channel is better than 1channel. If you train 3channel you should submit with 3channel.</p>",
          "rawMarkdown": "In my exps, 3channel is better than 1channel. If you train 3channel you should submit with 3channel.",
          "replies": [
            {
              "id": 3189259,
              "postDate": "2025-04-29T03:06:20.013Z",
              "content": "<p>Are you using different spectrograms for each channel, e.g., each with a different power?</p>",
              "rawMarkdown": "Are you using different spectrograms for each channel, e.g., each with a different power?"
            },
            {
              "id": 3189316,
              "postDate": "2025-04-29T04:53:00.493Z",
              "content": "<p>Not yet.    </p>",
              "rawMarkdown": "Not yet.    "
            }
          ]
        }
      ]
    },
    {
      "id": 3185137,
      "postDate": "2025-04-22T22:26:17.403Z",
      "content": "<p>Good Post!! Very Nice.</p>",
      "rawMarkdown": "Good Post!! Very Nice.",
      "replies": [
        {
          "id": 3185403,
          "postDate": "2025-04-23T09:12:45.870Z",
          "content": "<p>Thanks a lot my friend</p>",
          "rawMarkdown": "Thanks a lot my friend"
        }
      ]
    },
    {
      "id": 3184344,
      "postDate": "2025-04-22T02:42:21.967Z",
      "content": "<p>Update. I switch celoss -&gt; bceloss + batch128-&gt;64 + Adam-&gt;AdamW + train with secondary label. And I get single model(one of the best val score model in 5fold models) pb score changes from 0.78-&gt;0.786</p>",
      "rawMarkdown": "Update. I switch celoss -> bceloss + batch128->64 + Adam->AdamW + train with secondary label. And I get single model(one of the best val score model in 5fold models) pb score changes from 0.78->0.786",
      "replies": [
        {
          "id": 3184355,
          "postDate": "2025-04-22T02:48:03.207Z",
          "content": "<p>Update. Refer to public notebook:<a href=\"https://www.kaggle.com/code/tomkkk/change-secondary-labels-in-train-csv\" target=\"_blank\">https://www.kaggle.com/code/tomkkk/change-secondary-labels-in-train-csv</a> , I add prediction smoth code.<br>\nI get pb score: 0.786-&gt;0.797，quite close to 0.80😁</p>",
          "rawMarkdown": "Update. Refer to public notebook:https://www.kaggle.com/code/tomkkk/change-secondary-labels-in-train-csv , I add prediction smoth code.\nI get pb score: 0.786->0.797，quite close to 0.80😁",
          "votes": 1,
          "replies": [
            {
              "id": 3184468,
              "postDate": "2025-04-22T06:04:33.627Z",
              "content": "<p>Update.Change batch 64-&gt;32, now I reach pb score 0.80 </p>",
              "rawMarkdown": "Update.Change batch 64->32, now I reach pb score 0.80 ",
              "votes": 3
            },
            {
              "id": 3184474,
              "postDate": "2025-04-22T06:12:39.073Z",
              "content": "<p>wow, it seems like small batch helps.</p>",
              "rawMarkdown": "wow, it seems like small batch helps."
            },
            {
              "id": 3184524,
              "postDate": "2025-04-22T08:00:42.007Z",
              "content": "<p>Maybe model with small batch can jump out local optimal point. or train a longer steps … It's hard to say</p>",
              "rawMarkdown": "Maybe model with small batch can jump out local optimal point. or train a longer steps ... It's hard to say",
              "votes": 1
            },
            {
              "id": 3184677,
              "postDate": "2025-04-22T11:08:31.247Z",
              "content": "<p>Update. I tried focal loss, but it hurts model performance in my validation set, I guess I should clean dataset first.</p>",
              "rawMarkdown": "Update. I tried focal loss, but it hurts model performance in my validation set, I guess I should clean dataset first.",
              "votes": 1
            },
            {
              "id": 3184719,
              "postDate": "2025-04-22T12:10:40.170Z",
              "content": "<p>Update. Use vanilla efficientnet_b0+dropout0.2 -&gt;0.804</p>",
              "rawMarkdown": "Update. Use vanilla efficientnet_b0+dropout0.2 ->0.804",
              "votes": 1
            },
            {
              "id": 3185228,
              "postDate": "2025-04-23T03:07:06.637Z",
              "content": "<p>I thought about cleaning as well, but I'm not sure how to do so. I'll also try a smaller batch size, because currently I'm using 256. </p>",
              "rawMarkdown": "I thought about cleaning as well, but I'm not sure how to do so. I'll also try a smaller batch size, because currently I'm using 256. "
            },
            {
              "id": 3185405,
              "postDate": "2025-04-23T09:16:11.333Z",
              "content": "<p>You can cut off human voice part in the data. This notebook provides a good method for detecting human voice segment: <a href=\"https://www.kaggle.com/code/kdmitrie/bc25-separation-voice-from-data/notebook#Some-recordings-contain-human-voice\" target=\"_blank\">https://www.kaggle.com/code/kdmitrie/bc25-separation-voice-from-data/notebook#Some-recordings-contain-human-voice</a></p>",
              "rawMarkdown": "You can cut off human voice part in the data. This notebook provides a good method for detecting human voice segment: https://www.kaggle.com/code/kdmitrie/bc25-separation-voice-from-data/notebook#Some-recordings-contain-human-voice",
              "votes": 1
            },
            {
              "id": 3186735,
              "postDate": "2025-04-25T05:30:16.043Z",
              "content": "<p>how do you cut those out, I'm using silero-vad timestamps and running a sliding window.</p>",
              "rawMarkdown": "how do you cut those out, I'm using silero-vad timestamps and running a sliding window."
            },
            {
              "id": 3186927,
              "postDate": "2025-04-25T09:55:54.210Z",
              "content": "<p>I am still trying.</p>",
              "rawMarkdown": "I am still trying."
            }
          ]
        }
      ]
    }
  ],
  "comments": [
    {
      "id": 3187752,
      "author_name": "XuKong Ji",
      "author_url": "",
      "post_date": "2025-04-26T13:25:01.880000",
      "content": "<p>Some trying in those days:<br>\n    1.filter top 3% loss in backward propgation. 0.81x ~0.824 (not stable, cannot repeat)<br>\n    2.focal loss without data clean. 0.824-&gt;0.81~<br>\n    3.cut off humvoice segments. 0.824-&gt; 0.79~<br>\n    4.replace humvoice segments as zeros. 0.824-&gt;0.81x<br>\n    5.limit the longgest segment portion of hum voice to below 50%. 0.816-&gt;0.821<br>\n    6.average 1.and 5. -&gt;0.838</p>",
      "votes": 6,
      "replies": [
        {
          "id": 3188179,
          "author_name": "XuKong Ji",
          "author_url": "",
          "post_date": "2025-04-27T07:12:23.820000",
          "content": "<p>The 5. really works. Single model 0.816 -&gt; 0.831.</p>",
          "votes": 2,
          "replies": [
            {
              "id": 3188310,
              "author_name": "Swayam Singh",
              "author_url": "",
              "post_date": "2025-04-27T11:40:03.687000",
              "content": "<p>Can you tell me what types of augmentations you used?</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3188389,
              "author_name": "XuKong Ji",
              "author_url": "",
              "post_date": "2025-04-27T13:52:58.080000",
              "content": "<p>Only freq/time mask+mixup+time moise</p>",
              "votes": 2,
              "replies": []
            }
          ]
        },
        {
          "id": 3188396,
          "author_name": "Ahmed Elsayed",
          "author_url": "",
          "post_date": "2025-04-27T14:05:39.993000",
          "content": "<p>Hey, dude!<br>\nWhich architecture do you use?</p>",
          "votes": 0,
          "replies": [
            {
              "id": 3188403,
              "author_name": "Tim",
              "author_url": "",
              "post_date": "2025-04-27T14:20:12.753000",
              "content": "<p>In one of the other comments, he mentioned, that he's using an efficientnet_b0. This architecture has been proven to work well in the previous competitions and has quite a good inference speed, so you could go for ensemble methods later.</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3188604,
              "author_name": "XuKong Ji",
              "author_url": "",
              "post_date": "2025-04-27T23:54:04.890000",
              "content": "<p>only efficientnet_b0 now.</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3188981,
              "author_name": "",
              "author_url": "",
              "post_date": "2025-04-28T15:13:35.530000",
              "content": "",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3194988,
              "author_name": "MagicL",
              "author_url": "",
              "post_date": "2025-05-06T14:02:58.820000",
              "content": "<p>Hello, Have you ever tried using the SED architecture?</p>",
              "votes": 0,
              "replies": []
            }
          ]
        },
        {
          "id": 3188625,
          "author_name": "datnt114",
          "author_url": "",
          "post_date": "2025-04-28T00:46:04.810000",
          "content": "<p>I have a question regarding point 5 (\"limit the longest segment portion of the human voice to below 50%\").<br>\nFrom my understanding:</p>\n<ul>\n<li>You randomly cut a segment (e.g., 5 seconds),</li>\n<li>Then you detect the human voice regions within that segment,</li>\n<li>If the human voice portions exceed 50% of the segment, you adjust it (e.g., mark, mask, or modify) so that the segment contains at most 50% human voice.</li>\n</ul>\n<p>Is my understanding correct? Could you kindly elaborate a bit more on how you implemented this?</p>",
          "votes": 0,
          "replies": [
            {
              "id": 3188713,
              "author_name": "XuKong Ji",
              "author_url": "",
              "post_date": "2025-04-28T04:55:53.430000",
              "content": "<p>Just discard \"the human voice portions exceed 50% of the segment\".</p>",
              "votes": 2,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 3183938,
      "author_name": "Tim",
      "author_url": "",
      "post_date": "2025-04-21T13:11:24.643000",
      "content": "<p>So my current model is not too good either (0.819 pb), but it's at least &gt;0.8. Most of the improvements came from optimizing the spectrogram parameters and adding augmentations. I augmented both, the waveform data (change speed, pitch shift, scale volume, ring shift and gaussian noise) and the spectrograms (time and frequency masking). I also used mixup (linear on the spectrograms and stft mixup). </p>",
      "votes": 3,
      "replies": [
        {
          "id": 3183994,
          "author_name": "XuKong Ji",
          "author_url": "",
          "post_date": "2025-04-21T14:14:45.793000",
          "content": "<p>I tried the same waveform augs but it hurts my model's performance, I am still checking…  </p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 3183767,
      "author_name": "agcsdedf",
      "author_url": "",
      "post_date": "2025-04-21T09:00:42.473000",
      "content": "<p>You can try some data augmentation (audio, image), and also try using mixup, and use bce_loss to do multilabel tasks, and then tweak some hyperparameters like batch size, n_mel, nfft, lr, epoch, etc.</p>\n<p>And then there's the more esoteric stuff, namely the random seed, who might make my model crash in the first few rounds of training.</p>\n<p>Good luck !</p>",
      "votes": 4,
      "replies": [
        {
          "id": 3183778,
          "author_name": "XuKong Ji",
          "author_url": "",
          "post_date": "2025-04-21T09:16:53.877000",
          "content": "<p>Thanks a lot my friend! I tried the methods you mentioned above besides random seed/bce_loss. I think i should start with bce loss becuase i use ce loss now.</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 3189972,
      "author_name": "XuKong Ji",
      "author_url": "",
      "post_date": "2025-04-30T02:24:42.687000",
      "content": "<p>It's so weird, so unstable, we need more luckiness!</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 3185322,
      "author_name": "XuKong Ji",
      "author_url": "",
      "post_date": "2025-04-23T06:52:20.690000",
      "content": "<p>Update. I use some loss trick to prevent overfitting in dirty data, Now i get pb score 0.824</p>",
      "votes": 1,
      "replies": [
        {
          "id": 3188775,
          "author_name": "Yassine Alouini",
          "author_url": "",
          "post_date": "2025-04-28T07:15:55.490000",
          "content": "<p>What do you mean by \"dirty data\"?</p>",
          "votes": 0,
          "replies": [
            {
              "id": 3188921,
              "author_name": "XuKong Ji",
              "author_url": "",
              "post_date": "2025-04-28T13:04:28.487000",
              "content": "<p>Means samples with top loss in a batch. </p>",
              "votes": 0,
              "replies": []
            }
          ]
        },
        {
          "id": 3188777,
          "author_name": "New bee",
          "author_url": "",
          "post_date": "2025-04-28T07:18:40.043000",
          "content": "<p>What methods were used?</p>",
          "votes": 0,
          "replies": [
            {
              "id": 3188927,
              "author_name": "XuKong Ji",
              "author_url": "",
              "post_date": "2025-04-28T13:16:51.450000",
              "content": "<p>Just filter large loss…</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3188968,
              "author_name": "SeshuRaju 🧘‍♂️",
              "author_url": "",
              "post_date": "2025-04-28T14:51:09.500000",
              "content": "<p><a href=\"https://www.kaggle.com/xukongji\" target=\"_blank\">@xukongji</a> whats your local cv? before filter large loss and after?</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3188976,
              "author_name": "XuKong Ji",
              "author_url": "",
              "post_date": "2025-04-28T15:04:16.137000",
              "content": "<p>I train full data. without local cv</p>",
              "votes": 0,
              "replies": []
            }
          ]
        },
        {
          "id": 3199686,
          "author_name": "Pavel Orlov",
          "author_url": "",
          "post_date": "2025-05-11T10:27:48.927000",
          "content": "<p>Looks like it's time to change the 0.8 in the topic title to 0.9?</p>",
          "votes": 0,
          "replies": [
            {
              "id": 3200900,
              "author_name": "XuKong Ji",
              "author_url": "",
              "post_date": "2025-05-13T07:49:44.190000",
              "content": "<p>Hard to move one forward step😂</p>",
              "votes": 0,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 3185187,
      "author_name": "XuKong Ji",
      "author_url": "",
      "post_date": "2025-04-23T01:28:41.717000",
      "content": "<p>Update. I used all training data to train a model and my pb score improves to 0.816. It's time to tune mel spec params/random seeds/different models. So happy hhh…😃</p>",
      "votes": 2,
      "replies": [
        {
          "id": 3185230,
          "author_name": "Tim",
          "author_url": "",
          "post_date": "2025-04-23T03:11:15.283000",
          "content": "<p>Do you have some kind of metric for early stopping or are you just using a fixed number of epochs/iterations? I wouldn't know when to stop when using the whole data for training.</p>",
          "votes": 0,
          "replies": [
            {
              "id": 3185321,
              "author_name": "XuKong Ji",
              "author_url": "",
              "post_date": "2025-04-23T06:49:37.833000",
              "content": "<p>Without early  stopping, I train for 30 epochs and submit the last epoch model.</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3185612,
              "author_name": "Tim",
              "author_url": "",
              "post_date": "2025-04-23T15:22:36.017000",
              "content": "<p>I'll try that as well. Thanks.</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3186736,
              "author_name": "Devasy Patel23",
              "author_url": "",
              "post_date": "2025-04-25T05:31:40.433000",
              "content": "<p>I tried that too but it hurt my model and got only .801</p>\n<p>compared to 0.806 on normal 10 epochs </p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3187762,
              "author_name": "XuKong Ji",
              "author_url": "",
              "post_date": "2025-04-26T13:36:57.273000",
              "content": "<p>I never tune epochs using 30epochs all of the way. Maybe you can try EMA or SWA to reduce randomness between epochs.</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3200828,
              "author_name": "Meisa0",
              "author_url": "",
              "post_date": "2025-05-13T05:40:29.240000",
              "content": "<p><a href=\"https://www.kaggle.com/xukongji\" target=\"_blank\">@xukongji</a> 　What is the values of the learning rate, weight decay, and scheduler settings for the optimizer?</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3200901,
              "author_name": "XuKong Ji",
              "author_url": "",
              "post_date": "2025-05-13T07:51:23.730000",
              "content": "<p>I use lr=5e-4, weight_decay=1e-5, cosine_schedule_with_warmup</p>",
              "votes": 1,
              "replies": []
            },
            {
              "id": 3200918,
              "author_name": "Meisa0",
              "author_url": "",
              "post_date": "2025-05-13T08:21:15.853000",
              "content": "<p>thank you for your quick reply!!</p>",
              "votes": 0,
              "replies": []
            }
          ]
        },
        {
          "id": 3186737,
          "author_name": "Devasy Patel23",
          "author_url": "",
          "post_date": "2025-04-25T05:33:45.670000",
          "content": "<p>All training data as in ?</p>\n<ul>\n<li>no folds?</li>\n<li>more then 5 sec chunks from each recording?</li>\n<li>pseudolabels?</li>\n</ul>",
          "votes": 0,
          "replies": [
            {
              "id": 3187766,
              "author_name": "XuKong Ji",
              "author_url": "",
              "post_date": "2025-04-26T13:38:31.047000",
              "content": "<ul>\n<li>Right. using all data to train.</li>\n<li>random 5 seconds.</li>\n<li>no pseudo labels.</li>\n</ul>",
              "votes": 2,
              "replies": []
            }
          ]
        },
        {
          "id": 3187671,
          "author_name": "Liu Zhongliang",
          "author_url": "",
          "post_date": "2025-04-26T11:12:02.540000",
          "content": "<p>Does “used all training data” mean that there is no validation and all the labeled data are used for training?</p>",
          "votes": 0,
          "replies": [
            {
              "id": 3187738,
              "author_name": "XuKong Ji",
              "author_url": "",
              "post_date": "2025-04-26T13:03:50.337000",
              "content": "<p>That's right. </p>",
              "votes": 0,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 3184098,
      "author_name": "Yassine Alouini",
      "author_url": "",
      "post_date": "2025-04-21T16:35:26.203000",
      "content": "<p>According to what I have read, you might get some boost for a single model if you:</p>\n<ul>\n<li>tweak a bit the melspectrogram base parameters</li>\n<li>try various backbones </li>\n<li>tweak training hyperparameters</li>\n</ul>\n<p>Best of luck!</p>",
      "votes": 2,
      "replies": [
        {
          "id": 3184337,
          "author_name": "XuKong Ji",
          "author_url": "",
          "post_date": "2025-04-22T02:38:50.190000",
          "content": "<p>Thanks a lot and good suggestion!  I still use efficientnet_b0. I will not change model until it reach 0.8 pb score because many public notebook reach this score with this model.</p>",
          "votes": 3,
          "replies": [
            {
              "id": 3184574,
              "author_name": "Yang Wei Hao",
              "author_url": "",
              "post_date": "2025-04-22T08:56:20.920000",
              "content": "<p>do you use tta on predict? maybe you should try label smooth.</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3185181,
              "author_name": "XuKong Ji",
              "author_url": "",
              "post_date": "2025-04-23T01:12:25.607000",
              "content": "<p>Not yet. Now I switch to bce loss and use prediction smoth</p>",
              "votes": 1,
              "replies": []
            },
            {
              "id": 3186070,
              "author_name": "Yassine Alouini",
              "author_url": "",
              "post_date": "2025-04-24T07:01:41.037000",
              "content": "<p>Yes, changing the loss is a good option as well. Best of luck <a href=\"https://www.kaggle.com/xukongji\" target=\"_blank\">@xukongji</a>. 🫡</p>",
              "votes": 0,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 3199108,
      "author_name": "Sonu Jha",
      "author_url": "",
      "post_date": "2025-05-10T13:23:51.750000",
      "content": "<p>AM I doing right? Is there any way I can do it more effeciently ?</p>\n<ul>\n<li>For data preprocessing change, we update the melspec parameter and run preprocessing pipeline. ~35 minutes to run </li>\n<li>Train whole model - 2:30 hours </li>\n<li>Make submission - 1 hours approx </li>\n<li>For every experiment, it is taking 4 hours. </li>\n</ul>",
      "votes": 0,
      "replies": [
        {
          "id": 3199170,
          "author_name": "XuKong Ji",
          "author_url": "",
          "post_date": "2025-05-10T14:54:31.963000",
          "content": "<p>Training time is close to me.<br>\nMy submission takes almost 13mins(efficient_b0, single model)</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 3190770,
      "author_name": "qminh211",
      "author_url": "",
      "post_date": "2025-05-01T04:21:02.713000",
      "content": "<p>Hey man,<br>\nCan I ask 3 chanels are mel spec, delta, delta-delta or sth else?<br>\nThank you.</p>",
      "votes": 0,
      "replies": [
        {
          "id": 3199169,
          "author_name": "XuKong Ji",
          "author_url": "",
          "post_date": "2025-05-10T14:52:11.127000",
          "content": "<p>just melspec</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 3188999,
      "author_name": "Ahmed Elsayed",
      "author_url": "",
      "post_date": "2025-04-28T15:39:55.493000",
      "content": "<p>Hey, Dude!<br>\nI was working with 1 input channel, and I had an 82.2 LB score (single-fold).<br>\nWhen I adapted my code to the 3 channels, sadly, it dropped to 79.8. This is because I need to refine the parameters to suit the 3 channels, right?</p>",
      "votes": 0,
      "replies": [
        {
          "id": 3189251,
          "author_name": "XuKong Ji",
          "author_url": "",
          "post_date": "2025-04-29T02:52:01.187000",
          "content": "<p>In my exps, 3channel is better than 1channel. If you train 3channel you should submit with 3channel.</p>",
          "votes": 0,
          "replies": [
            {
              "id": 3189259,
              "author_name": "Tim",
              "author_url": "",
              "post_date": "2025-04-29T03:06:20.013000",
              "content": "<p>Are you using different spectrograms for each channel, e.g., each with a different power?</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3189316,
              "author_name": "XuKong Ji",
              "author_url": "",
              "post_date": "2025-04-29T04:53:00.493000",
              "content": "<p>Not yet.    </p>",
              "votes": 0,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 3185137,
      "author_name": "VampireDataNerd",
      "author_url": "",
      "post_date": "2025-04-22T22:26:17.403000",
      "content": "<p>Good Post!! Very Nice.</p>",
      "votes": 0,
      "replies": [
        {
          "id": 3185403,
          "author_name": "XuKong Ji",
          "author_url": "",
          "post_date": "2025-04-23T09:12:45.870000",
          "content": "<p>Thanks a lot my friend</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 3184344,
      "author_name": "XuKong Ji",
      "author_url": "",
      "post_date": "2025-04-22T02:42:21.967000",
      "content": "<p>Update. I switch celoss -&gt; bceloss + batch128-&gt;64 + Adam-&gt;AdamW + train with secondary label. And I get single model(one of the best val score model in 5fold models) pb score changes from 0.78-&gt;0.786</p>",
      "votes": 0,
      "replies": [
        {
          "id": 3184355,
          "author_name": "XuKong Ji",
          "author_url": "",
          "post_date": "2025-04-22T02:48:03.207000",
          "content": "<p>Update. Refer to public notebook:<a href=\"https://www.kaggle.com/code/tomkkk/change-secondary-labels-in-train-csv\" target=\"_blank\">https://www.kaggle.com/code/tomkkk/change-secondary-labels-in-train-csv</a> , I add prediction smoth code.<br>\nI get pb score: 0.786-&gt;0.797，quite close to 0.80😁</p>",
          "votes": 1,
          "replies": [
            {
              "id": 3184468,
              "author_name": "XuKong Ji",
              "author_url": "",
              "post_date": "2025-04-22T06:04:33.627000",
              "content": "<p>Update.Change batch 64-&gt;32, now I reach pb score 0.80 </p>",
              "votes": 3,
              "replies": []
            },
            {
              "id": 3184474,
              "author_name": "Whisper Last",
              "author_url": "",
              "post_date": "2025-04-22T06:12:39.073000",
              "content": "<p>wow, it seems like small batch helps.</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3184524,
              "author_name": "XuKong Ji",
              "author_url": "",
              "post_date": "2025-04-22T08:00:42.007000",
              "content": "<p>Maybe model with small batch can jump out local optimal point. or train a longer steps … It's hard to say</p>",
              "votes": 1,
              "replies": []
            },
            {
              "id": 3184677,
              "author_name": "XuKong Ji",
              "author_url": "",
              "post_date": "2025-04-22T11:08:31.247000",
              "content": "<p>Update. I tried focal loss, but it hurts model performance in my validation set, I guess I should clean dataset first.</p>",
              "votes": 1,
              "replies": []
            },
            {
              "id": 3184719,
              "author_name": "XuKong Ji",
              "author_url": "",
              "post_date": "2025-04-22T12:10:40.170000",
              "content": "<p>Update. Use vanilla efficientnet_b0+dropout0.2 -&gt;0.804</p>",
              "votes": 1,
              "replies": []
            },
            {
              "id": 3185228,
              "author_name": "Tim",
              "author_url": "",
              "post_date": "2025-04-23T03:07:06.637000",
              "content": "<p>I thought about cleaning as well, but I'm not sure how to do so. I'll also try a smaller batch size, because currently I'm using 256. </p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3185405,
              "author_name": "XuKong Ji",
              "author_url": "",
              "post_date": "2025-04-23T09:16:11.333000",
              "content": "<p>You can cut off human voice part in the data. This notebook provides a good method for detecting human voice segment: <a href=\"https://www.kaggle.com/code/kdmitrie/bc25-separation-voice-from-data/notebook#Some-recordings-contain-human-voice\" target=\"_blank\">https://www.kaggle.com/code/kdmitrie/bc25-separation-voice-from-data/notebook#Some-recordings-contain-human-voice</a></p>",
              "votes": 1,
              "replies": []
            },
            {
              "id": 3186735,
              "author_name": "Devasy Patel23",
              "author_url": "",
              "post_date": "2025-04-25T05:30:16.043000",
              "content": "<p>how do you cut those out, I'm using silero-vad timestamps and running a sliding window.</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3186927,
              "author_name": "XuKong Ji",
              "author_url": "",
              "post_date": "2025-04-25T09:55:54.210000",
              "content": "<p>I am still trying.</p>",
              "votes": 0,
              "replies": []
            }
          ]
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "3183742": "My best single model can only reach0.78 pb score.\nNow:\nThanks all for all yours suggestion. Now I Already reach 0.8.\nThis post will record my improvement progress.",
    "3187752": "Some trying in those days:\n    1.filter top 3% loss in backward propgation. 0.81x ~0.824 (not stable, cannot repeat)\n    2.focal loss without data clean. 0.824->0.81~\n    3.cut off humvoice segments. 0.824-> 0.79~\n    4.replace humvoice segments as zeros. 0.824->0.81x\n    5.limit the longgest segment portion of hum voice to below 50%. 0.816->0.821\n    6.average 1.and 5. ->0.838",
    "3183938": "So my current model is not too good either (0.819 pb), but it's at least >0.8. Most of the improvements came from optimizing the spectrogram parameters and adding augmentations. I augmented both, the waveform data (change speed, pitch shift, scale volume, ring shift and gaussian noise) and the spectrograms (time and frequency masking). I also used mixup (linear on the spectrograms and stft mixup). ",
    "3183767": "You can try some data augmentation (audio, image), and also try using mixup, and use bce_loss to do multilabel tasks, and then tweak some hyperparameters like batch size, n_mel, nfft, lr, epoch, etc.\n\nAnd then there's the more esoteric stuff, namely the random seed, who might make my model crash in the first few rounds of training.\n\nGood luck !",
    "3189972": "It's so weird, so unstable, we need more luckiness!",
    "3185322": "Update. I use some loss trick to prevent overfitting in dirty data, Now i get pb score 0.824",
    "3185187": "Update. I used all training data to train a model and my pb score improves to 0.816. It's time to tune mel spec params/random seeds/different models. So happy hhh...😃",
    "3184098": "According to what I have read, you might get some boost for a single model if you:\n\n- tweak a bit the melspectrogram base parameters\n- try various backbones \n- tweak training hyperparameters\n\nBest of luck!",
    "3199108": "AM I doing right? Is there any way I can do it more effeciently ?\n\n- For data preprocessing change, we update the melspec parameter and run preprocessing pipeline. ~35 minutes to run \n- Train whole model - 2:30 hours \n- Make submission - 1 hours approx \n- For every experiment, it is taking 4 hours. ",
    "3190770": "Hey man,\nCan I ask 3 chanels are mel spec, delta, delta-delta or sth else?\nThank you.",
    "3188999": "Hey, Dude!\nI was working with 1 input channel, and I had an 82.2 LB score (single-fold).\nWhen I adapted my code to the 3 channels, sadly, it dropped to 79.8. This is because I need to refine the parameters to suit the 3 channels, right?",
    "3185137": "Good Post!! Very Nice.",
    "3184344": "Update. I switch celoss -> bceloss + batch128->64 + Adam->AdamW + train with secondary label. And I get single model(one of the best val score model in 5fold models) pb score changes from 0.78->0.786"
  }
}