{
  "id": 393664,
  "title": "[LB: 0.78] BirdCLEF 2023 Baseline 🐦",
  "url": "/competitions/birdclef-2023/discussion/393664",
  "author_name": "",
  "post_date": "2023-03-10T11:11:01.901564700Z",
  "votes": 35,
  "comment_count": 9,
  "views": 0,
  "content": "<p><img src=\"https://storage.googleapis.com/kaggle-competitions/kaggle/44224/logos/header.png?t=2023-03-06-18-30-53\"></p>\n<p>Greetings fellow Kagglers!</p>\n<p>As we all know, the Bird Call identification competition is heating up faster than expected due to <strong>Kaggle Models</strong>, baseline score is <code>~0.72</code> with no training. But due to missing classes, it can't seem to reach competitive performance. Furthermore, a notebook that could train and infer with a competitive score is still missing. </p>\n<p>I've published a notebook that demonstrates how to achieve a decent score without relying on Kaggle's pre-trained models. And the best part? These notebooks aren't just for bird calls – they can be used for any audio classification task with minimal code changes. And you can train in all the devices available on Kaggle (e.g TPU-VM/GPU/TPU)</p>\n<h2>Notebooks</h2>\n<ul>\n<li>Train: <a href=\"https://www.kaggle.com/awsaf49/birdclef23-effnet-fsr-cutmixup-train/edit\" target=\"_blank\">BirdCLEF23: EffNet + FSR + CutMixUp [Train]</a></li>\n<li>Infer: <a href=\"https://www.kaggle.com/awsaf49/birdclef23-effnet-fsr-cutmixup-infer/edit\" target=\"_blank\">BirdCLEF23: EffNet + FSR + CutMixUp [Infer]</a></li>\n</ul>\n<h2>Sample Images</h2>\n<p><img src=\"https://i.postimg.cc/2S5s8WXN/sample-image.png\"></p>\n<h2>Key Points</h2>\n<p>In these notebooks, the following topics will be covered,</p>\n<ul>\n<li><strong>Audio Processing</strong>: Specifically optimized for training on GPU/TPU/TPU-VM. It takes only ~1 min to train for one epoch.</li>\n<li><strong>Spectrogram Feature Extraction</strong>: Extracting features on-the-fly from audio instead of using pre-computed features. </li>\n<li><strong>Audio Augmentation</strong>: Applying techniques like TimeShift, CutMixUp, and Noise to increase the variety of our training data. </li>\n<li><strong>Filter Stride Reduction (FSR)</strong>: An interesting technique to improve performance by reducing the stride in the Stem block of the model. It's like giving our models a little extra caffeine to get them through the day.</li>\n<li><strong>Submission on a CPU</strong>: Finally, as per competition requirements, I've included a submission method that can be completed on a CPU within a tight 2-hour time limit. </li>\n</ul>\n<h2>Time</h2>\n<ul>\n<li><strong>Training Time</strong>: ~1min per epoch | ~30min for one fold</li>\n<li><strong>Testing Time</strong>: ~1hr 30min | one fold</li>\n</ul>\n<h2>Result</h2>\n<p>Model: effnet-b2</p>\n<table>\n<thead>\n<tr>\n<th><strong>Metrics</strong></th>\n<th><strong>Duration (sec)</strong></th>\n<th><strong>cmAP</strong></th>\n<th><strong>AUC (PR curve)</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>CV</strong> (1fold)</td>\n<td>10</td>\n<td>0.88</td>\n<td>0.81</td>\n</tr>\n<tr>\n<td><strong>LB</strong> (fold0)</td>\n<td>5</td>\n<td>0.78</td>\n<td>-</td>\n</tr>\n</tbody>\n</table>\n<h2>Experiment Tracking</h2>\n<p><a href=\"https://wandb.ai/\" target=\"_blank\">Weights &amp; Biases</a> is used for this purpose. You can check <a href=\"https://wandb.ai/awsaf49/birdclef-2023-public\" target=\"_blank\">here</a> for all the experiments conducted by the notebook.<br>\n<img src=\"https://i.postimg.cc/SNV0hddG/wandb-discusison.png\">*</p>\n<h2>Notes</h2>\n<p>This competition brings additional challenges,</p>\n<ul>\n<li>As only <strong>CPU</strong> submission is allowed. It took nearly ~1.5 hrs to run a single fold model so it will be difficult to do ensemble.</li>\n<li>Cross Validation is also tricky as some classes have only <strong>one</strong> sample. And there's the classic Long-Tail class imbalance problem so it is important to tackle this issue to ensure model is performing for all the classes.</li>\n</ul>",
  "messages": [
    {
      "id": "2176053",
      "postDate": "03/10/2023 11:11:01",
      "content": "<p><img src=\"https://storage.googleapis.com/kaggle-competitions/kaggle/44224/logos/header.png?t=2023-03-06-18-30-53\"></p>\n<p>Greetings fellow Kagglers!</p>\n<p>As we all know, the Bird Call identification competition is heating up faster than expected due to <strong>Kaggle Models</strong>, baseline score is <code>~0.72</code> with no training. But due to missing classes, it can't seem to reach competitive performance. Furthermore, a notebook that could train and infer with a competitive score is still missing. </p>\n<p>I've published a notebook that demonstrates how to achieve a decent score without relying on Kaggle's pre-trained models. And the best part? These notebooks aren't just for bird calls – they can be used for any audio classification task with minimal code changes. And you can train in all the devices available on Kaggle (e.g TPU-VM/GPU/TPU)</p>\n<h2>Notebooks</h2>\n<ul>\n<li>Train: <a href=\"https://www.kaggle.com/awsaf49/birdclef23-effnet-fsr-cutmixup-train/edit\" target=\"_blank\">BirdCLEF23: EffNet + FSR + CutMixUp [Train]</a></li>\n<li>Infer: <a href=\"https://www.kaggle.com/awsaf49/birdclef23-effnet-fsr-cutmixup-infer/edit\" target=\"_blank\">BirdCLEF23: EffNet + FSR + CutMixUp [Infer]</a></li>\n</ul>\n<h2>Sample Images</h2>\n<p><img src=\"https://i.postimg.cc/2S5s8WXN/sample-image.png\"></p>\n<h2>Key Points</h2>\n<p>In these notebooks, the following topics will be covered,</p>\n<ul>\n<li><strong>Audio Processing</strong>: Specifically optimized for training on GPU/TPU/TPU-VM. It takes only ~1 min to train for one epoch.</li>\n<li><strong>Spectrogram Feature Extraction</strong>: Extracting features on-the-fly from audio instead of using pre-computed features. </li>\n<li><strong>Audio Augmentation</strong>: Applying techniques like TimeShift, CutMixUp, and Noise to increase the variety of our training data. </li>\n<li><strong>Filter Stride Reduction (FSR)</strong>: An interesting technique to improve performance by reducing the stride in the Stem block of the model. It's like giving our models a little extra caffeine to get them through the day.</li>\n<li><strong>Submission on a CPU</strong>: Finally, as per competition requirements, I've included a submission method that can be completed on a CPU within a tight 2-hour time limit. </li>\n</ul>\n<h2>Time</h2>\n<ul>\n<li><strong>Training Time</strong>: ~1min per epoch | ~30min for one fold</li>\n<li><strong>Testing Time</strong>: ~1hr 30min | one fold</li>\n</ul>\n<h2>Result</h2>\n<p>Model: effnet-b2</p>\n<table>\n<thead>\n<tr>\n<th><strong>Metrics</strong></th>\n<th><strong>Duration (sec)</strong></th>\n<th><strong>cmAP</strong></th>\n<th><strong>AUC (PR curve)</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>CV</strong> (1fold)</td>\n<td>10</td>\n<td>0.88</td>\n<td>0.81</td>\n</tr>\n<tr>\n<td><strong>LB</strong> (fold0)</td>\n<td>5</td>\n<td>0.78</td>\n<td>-</td>\n</tr>\n</tbody>\n</table>\n<h2>Experiment Tracking</h2>\n<p><a href=\"https://wandb.ai/\" target=\"_blank\">Weights &amp; Biases</a> is used for this purpose. You can check <a href=\"https://wandb.ai/awsaf49/birdclef-2023-public\" target=\"_blank\">here</a> for all the experiments conducted by the notebook.<br>\n<img src=\"https://i.postimg.cc/SNV0hddG/wandb-discusison.png\">*</p>\n<h2>Notes</h2>\n<p>This competition brings additional challenges,</p>\n<ul>\n<li>As only <strong>CPU</strong> submission is allowed. It took nearly ~1.5 hrs to run a single fold model so it will be difficult to do ensemble.</li>\n<li>Cross Validation is also tricky as some classes have only <strong>one</strong> sample. And there's the classic Long-Tail class imbalance problem so it is important to tackle this issue to ensure model is performing for all the classes.</li>\n</ul>",
      "rawMarkdown": "<img src=\"https://storage.googleapis.com/kaggle-competitions/kaggle/44224/logos/header.png?t=2023-03-06-18-30-53\">\n\nGreetings fellow Kagglers!\n\nAs we all know, the Bird Call identification competition is heating up faster than expected due to **Kaggle Models**, baseline score is `~0.72` with no training. But due to missing classes, it can't seem to reach competitive performance. Furthermore, a notebook that could train and infer with a competitive score is still missing. \n\nI've published a notebook that demonstrates how to achieve a decent score without relying on Kaggle's pre-trained models. And the best part? These notebooks aren't just for bird calls – they can be used for any audio classification task with minimal code changes. And you can train in all the devices available on Kaggle (e.g TPU-VM/GPU/TPU)\n\n## Notebooks\n* Train: [BirdCLEF23: EffNet + FSR + CutMixUp [Train]](https://www.kaggle.com/awsaf49/birdclef23-effnet-fsr-cutmixup-train/edit)\n* Infer: [BirdCLEF23: EffNet + FSR + CutMixUp [Infer]](https://www.kaggle.com/awsaf49/birdclef23-effnet-fsr-cutmixup-infer/edit)\n\n## Sample Images\n<img src=\"https://i.postimg.cc/2S5s8WXN/sample-image.png\" width=\"600\">\n\n## Key Points\nIn these notebooks, the following topics will be covered,\n* **Audio Processing**: Specifically optimized for training on GPU/TPU/TPU-VM. It takes only ~1 min to train for one epoch.\n* **Spectrogram Feature Extraction**: Extracting features on-the-fly from audio instead of using pre-computed features. \n* **Audio Augmentation**: Applying techniques like TimeShift, CutMixUp, and Noise to increase the variety of our training data. \n* **Filter Stride Reduction (FSR)**: An interesting technique to improve performance by reducing the stride in the Stem block of the model. It's like giving our models a little extra caffeine to get them through the day.\n* **Submission on a CPU**: Finally, as per competition requirements, I've included a submission method that can be completed on a CPU within a tight 2-hour time limit. \n\n## Time\n* **Training Time**: ~1min per epoch | ~30min for one fold\n* **Testing Time**: ~1hr 30min | one fold\n\n## Result\nModel: effnet-b2\n\n| **Metrics** | **Duration (sec)** | **cmAP** | **AUC (PR curve)** |\n| :---------: | :----------------------------: | :------: | :----------------: |\n| **CV** (1fold)    | 10                             | 0.88    | 0.81              |\n| **LB** (fold0)     | 5                              | 0.78    | -                  |\n\n## Experiment Tracking\n[Weights & Biases](https://wandb.ai/) is used for this purpose. You can check [here](https://wandb.ai/awsaf49/birdclef-2023-public) for all the experiments conducted by the notebook.\n<img src=\"https://i.postimg.cc/SNV0hddG/wandb-discusison.png\">*\n\n## Notes\nThis competition brings additional challenges,\n* As only **CPU** submission is allowed. It took nearly ~1.5 hrs to run a single fold model so it will be difficult to do ensemble.\n* Cross Validation is also tricky as some classes have only **one** sample. And there's the classic Long-Tail class imbalance problem so it is important to tackle this issue to ensure model is performing for all the classes.",
      "votes": null
    },
    {
      "id": "2176382",
      "postDate": "03/10/2023 15:53:06",
      "content": "<p>I created a pipeline for inference and it took 24 minutes for effb0. </p>",
      "rawMarkdown": "I created a pipeline for inference and it took 24 minutes for effb0.",
      "votes": null
    },
    {
      "id": "2176418",
      "postDate": "03/10/2023 16:28:50",
      "content": "<ol>\n<li>Did you use vanilla effnetb0 or stride-reduced effnetb0?</li>\n<li>24 mins for one fold?</li>\n</ol>",
      "rawMarkdown": "1. Did you use vanilla effnetb0 or stride-reduced effnetb0?\n2. 24 mins for one fold?",
      "votes": null
    },
    {
      "id": "2176456",
      "postDate": "03/10/2023 17:03:47",
      "content": "<p>Yes 24 minutes for 1 fold, used vanilla effnetb0 from timm, no stride-reduced</p>",
      "rawMarkdown": "Yes 24 minutes for 1 fold, used vanilla effnetb0 from timm, no stride-reduced",
      "votes": null
    },
    {
      "id": "2176475",
      "postDate": "03/10/2023 17:11:16",
      "content": "<p>Then it kinda makes sense. Stride Reduction is computationally expensive</p>",
      "rawMarkdown": "Then it kinda makes sense. Stride Reduction is computationally expensive",
      "votes": null
    },
    {
      "id": "2176495",
      "postDate": "03/10/2023 17:24:47",
      "content": "<p>Took 24 minutes but my cv is 0.84 but my lb is 0.71, need to check my code.</p>",
      "rawMarkdown": "Took 24 minutes but my cv is 0.84 but my lb is 0.71, need to check my code.",
      "votes": null
    },
    {
      "id": "2176699",
      "postDate": "03/10/2023 21:11:13",
      "content": "<p>Super helpful notebooks, really appreciate all the info.</p>",
      "rawMarkdown": "Super helpful notebooks, really appreciate all the info.",
      "votes": null
    },
    {
      "id": "2181285",
      "postDate": "03/14/2023 12:43:33",
      "content": "<h2>Update 14 March 2023</h2>\n<p>A few tweaks improved the score</p>\n<ul>\n<li>Reducing audio duration in train</li>\n<li>Min Max Normalization</li>\n<li>Upsampling minority class</li>\n<li>CV Filter - Ensures all classses exist on train fold.</li>\n</ul>\n<h3>Result</h3>\n<blockquote>\n  <p>CV: 0.88 - LB: 0.78</p>\n</blockquote>\n<h3>Note</h3>\n<ul>\n<li>CV Vs LB gap is quite high. This could be due to 10 sec train vs 5 sec infer duration.</li>\n<li>Filter Stride Reduction (FSR) improves score by <code>3%</code> but it doesn't reflect on LB, as LB is improved by <code>1%</code></li>\n</ul>",
      "rawMarkdown": "## Update 14 March 2023\nA few tweaks improved the score\n* Reducing audio duration in train\n* Min Max Normalization\n* Upsampling minority class\n* CV Filter - Ensures all classses exist on train fold.\n### Result\n> CV: 0.88 - LB: 0.78\n\n### Note\n* CV Vs LB gap is quite high. This could be due to 10 sec train vs 5 sec infer duration.\n* Filter Stride Reduction (FSR) improves score by `3%` but it doesn't reflect on LB, as LB is improved by `1%`",
      "votes": null
    },
    {
      "id": "2200627",
      "postDate": "03/28/2023 16:58:25",
      "content": "<blockquote>\n  <p>Ensures all classses exist on train fold</p>\n</blockquote>\n<p>Do you mean that when splitting the data between train/validation you made sure that each class had at least 1 recording in the train set? </p>\n<p>What about in cases where there is only 1 recording for a class?</p>",
      "rawMarkdown": "> Ensures all classses exist on train fold\n\nDo you mean that when splitting the data between train/validation you made sure that each class had at least 1 recording in the train set? \n\nWhat about in cases where there is only 1 recording for a class?",
      "votes": null
    },
    {
      "id": "2200829",
      "postDate": "03/28/2023 20:19:33",
      "content": "<blockquote>\n  <p>Do you mean that when splitting the data between train/validation you made sure that each class had at least 1 recording in the train set? </p>\n</blockquote>\n<ul>\n<li>Yes</li>\n</ul>\n<blockquote>\n  <p>What about in cases where there is only 1 recording for a class?</p>\n</blockquote>\n<ul>\n<li>Then there will be no samples in validation for that class</li>\n</ul>",
      "rawMarkdown": "> Do you mean that when splitting the data between train/validation you made sure that each class had at least 1 recording in the train set? \n\n- Yes\n\n> What about in cases where there is only 1 recording for a class?\n\n- Then there will be no samples in validation for that class",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 2176382,
      "author_name": "ragnar123",
      "author_url": "",
      "post_date": "03/10/2023 15:53:06",
      "content": "<p>I created a pipeline for inference and it took 24 minutes for effb0. </p>",
      "votes": null,
      "replies": [
        {
          "id": 2176418,
          "author_name": "awsaf49",
          "author_url": "",
          "post_date": "03/10/2023 16:28:50",
          "content": "<ol>\n<li>Did you use vanilla effnetb0 or stride-reduced effnetb0?</li>\n<li>24 mins for one fold?</li>\n</ol>",
          "votes": null,
          "replies": [
            {
              "id": 2176456,
              "author_name": "ragnar123",
              "author_url": "",
              "post_date": "03/10/2023 17:03:47",
              "content": "<p>Yes 24 minutes for 1 fold, used vanilla effnetb0 from timm, no stride-reduced</p>",
              "votes": null,
              "replies": [
                {
                  "id": 2176475,
                  "author_name": "awsaf49",
                  "author_url": "",
                  "post_date": "03/10/2023 17:11:16",
                  "content": "<p>Then it kinda makes sense. Stride Reduction is computationally expensive</p>",
                  "votes": null,
                  "replies": [
                    {
                      "id": 2176495,
                      "author_name": "ragnar123",
                      "author_url": "",
                      "post_date": "03/10/2023 17:24:47",
                      "content": "<p>Took 24 minutes but my cv is 0.84 but my lb is 0.71, need to check my code.</p>",
                      "votes": null,
                      "replies": []
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "id": 2176699,
      "author_name": "mahlonrakes",
      "author_url": "",
      "post_date": "03/10/2023 21:11:13",
      "content": "<p>Super helpful notebooks, really appreciate all the info.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 2181285,
      "author_name": "awsaf49",
      "author_url": "",
      "post_date": "03/14/2023 12:43:33",
      "content": "<h2>Update 14 March 2023</h2>\n<p>A few tweaks improved the score</p>\n<ul>\n<li>Reducing audio duration in train</li>\n<li>Min Max Normalization</li>\n<li>Upsampling minority class</li>\n<li>CV Filter - Ensures all classses exist on train fold.</li>\n</ul>\n<h3>Result</h3>\n<blockquote>\n  <p>CV: 0.88 - LB: 0.78</p>\n</blockquote>\n<h3>Note</h3>\n<ul>\n<li>CV Vs LB gap is quite high. This could be due to 10 sec train vs 5 sec infer duration.</li>\n<li>Filter Stride Reduction (FSR) improves score by <code>3%</code> but it doesn't reflect on LB, as LB is improved by <code>1%</code></li>\n</ul>",
      "votes": null,
      "replies": [
        {
          "id": 2200627,
          "author_name": "robbynevels",
          "author_url": "",
          "post_date": "03/28/2023 16:58:25",
          "content": "<blockquote>\n  <p>Ensures all classses exist on train fold</p>\n</blockquote>\n<p>Do you mean that when splitting the data between train/validation you made sure that each class had at least 1 recording in the train set? </p>\n<p>What about in cases where there is only 1 recording for a class?</p>",
          "votes": null,
          "replies": [
            {
              "id": 2200829,
              "author_name": "awsaf49",
              "author_url": "",
              "post_date": "03/28/2023 20:19:33",
              "content": "<blockquote>\n  <p>Do you mean that when splitting the data between train/validation you made sure that each class had at least 1 recording in the train set? </p>\n</blockquote>\n<ul>\n<li>Yes</li>\n</ul>\n<blockquote>\n  <p>What about in cases where there is only 1 recording for a class?</p>\n</blockquote>\n<ul>\n<li>Then there will be no samples in validation for that class</li>\n</ul>",
              "votes": null,
              "replies": []
            }
          ]
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "2176053": "<img src=\"https://storage.googleapis.com/kaggle-competitions/kaggle/44224/logos/header.png?t=2023-03-06-18-30-53\">\n\nGreetings fellow Kagglers!\n\nAs we all know, the Bird Call identification competition is heating up faster than expected due to **Kaggle Models**, baseline score is `~0.72` with no training. But due to missing classes, it can't seem to reach competitive performance. Furthermore, a notebook that could train and infer with a competitive score is still missing. \n\nI've published a notebook that demonstrates how to achieve a decent score without relying on Kaggle's pre-trained models. And the best part? These notebooks aren't just for bird calls – they can be used for any audio classification task with minimal code changes. And you can train in all the devices available on Kaggle (e.g TPU-VM/GPU/TPU)\n\n## Notebooks\n* Train: [BirdCLEF23: EffNet + FSR + CutMixUp [Train]](https://www.kaggle.com/awsaf49/birdclef23-effnet-fsr-cutmixup-train/edit)\n* Infer: [BirdCLEF23: EffNet + FSR + CutMixUp [Infer]](https://www.kaggle.com/awsaf49/birdclef23-effnet-fsr-cutmixup-infer/edit)\n\n## Sample Images\n<img src=\"https://i.postimg.cc/2S5s8WXN/sample-image.png\" width=\"600\">\n\n## Key Points\nIn these notebooks, the following topics will be covered,\n* **Audio Processing**: Specifically optimized for training on GPU/TPU/TPU-VM. It takes only ~1 min to train for one epoch.\n* **Spectrogram Feature Extraction**: Extracting features on-the-fly from audio instead of using pre-computed features. \n* **Audio Augmentation**: Applying techniques like TimeShift, CutMixUp, and Noise to increase the variety of our training data. \n* **Filter Stride Reduction (FSR)**: An interesting technique to improve performance by reducing the stride in the Stem block of the model. It's like giving our models a little extra caffeine to get them through the day.\n* **Submission on a CPU**: Finally, as per competition requirements, I've included a submission method that can be completed on a CPU within a tight 2-hour time limit. \n\n## Time\n* **Training Time**: ~1min per epoch | ~30min for one fold\n* **Testing Time**: ~1hr 30min | one fold\n\n## Result\nModel: effnet-b2\n\n| **Metrics** | **Duration (sec)** | **cmAP** | **AUC (PR curve)** |\n| :---------: | :----------------------------: | :------: | :----------------: |\n| **CV** (1fold)    | 10                             | 0.88    | 0.81              |\n| **LB** (fold0)     | 5                              | 0.78    | -                  |\n\n## Experiment Tracking\n[Weights & Biases](https://wandb.ai/) is used for this purpose. You can check [here](https://wandb.ai/awsaf49/birdclef-2023-public) for all the experiments conducted by the notebook.\n<img src=\"https://i.postimg.cc/SNV0hddG/wandb-discusison.png\">*\n\n## Notes\nThis competition brings additional challenges,\n* As only **CPU** submission is allowed. It took nearly ~1.5 hrs to run a single fold model so it will be difficult to do ensemble.\n* Cross Validation is also tricky as some classes have only **one** sample. And there's the classic Long-Tail class imbalance problem so it is important to tackle this issue to ensure model is performing for all the classes.",
    "2176382": "I created a pipeline for inference and it took 24 minutes for effb0.",
    "2176418": "1. Did you use vanilla effnetb0 or stride-reduced effnetb0?\n2. 24 mins for one fold?",
    "2176456": "Yes 24 minutes for 1 fold, used vanilla effnetb0 from timm, no stride-reduced",
    "2176475": "Then it kinda makes sense. Stride Reduction is computationally expensive",
    "2176495": "Took 24 minutes but my cv is 0.84 but my lb is 0.71, need to check my code.",
    "2176699": "Super helpful notebooks, really appreciate all the info.",
    "2181285": "## Update 14 March 2023\nA few tweaks improved the score\n* Reducing audio duration in train\n* Min Max Normalization\n* Upsampling minority class\n* CV Filter - Ensures all classses exist on train fold.\n### Result\n> CV: 0.88 - LB: 0.78\n\n### Note\n* CV Vs LB gap is quite high. This could be due to 10 sec train vs 5 sec infer duration.\n* Filter Stride Reduction (FSR) improves score by `3%` but it doesn't reflect on LB, as LB is improved by `1%`",
    "2200627": "> Ensures all classses exist on train fold\n\nDo you mean that when splitting the data between train/validation you made sure that each class had at least 1 recording in the train set? \n\nWhat about in cases where there is only 1 recording for a class?",
    "2200829": "> Do you mean that when splitting the data between train/validation you made sure that each class had at least 1 recording in the train set? \n\n- Yes\n\n> What about in cases where there is only 1 recording for a class?\n\n- Then there will be no samples in validation for that class"
  },
  "source": "meta"
}