{
  "id": 144549,
  "title": "167th Place Solution with code",
  "url": "/competitions/bengaliai-cv19/writeups/zunaed-rafi-167th-place-solution-with-code",
  "author_name": "",
  "post_date": "2020-04-19T15:04:52.427984500Z",
  "votes": 4,
  "comment_count": 2,
  "views": 0,
  "content": "<p>Thank you very much to the competition organizers at Kaggle, to Bengali.ai community for organizing the competition. Many thanks to everyone who discussed the competition on the Forum. With each competition, I have been learning a lot from the forum and notebook kernels. And finally congrats to all the winners and teams that participated in this competition! My solution summary is given below:</p>\n\n<p><strong>Dataset:</strong>\n•   Image Size: 137x236 ( No preprocessing )\n<strong>Augmentation:</strong>\n•   CutMix\n<strong>Model:</strong>\n•   EfficientNet-B5 with three heads</p>\n\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F1532763%2F9fdbc2230f1ca5639dd271f093bada56%2Fmodel_diagram.PNG?generation=1587308567296419&amp;alt=media\" alt=\"\"></p>\n\n<p><strong>Training:</strong>\n•   5 fold Configuration\n•   Data split on the basis of grapheme root labels\n•   Loss: Cross Entropy Loss\n•   Optimizer: Over9000\n•   Scheduler: Reduce On Plateau\n•   Gradient Accumulation\n•   Batch Size 100\n•   Initial Learning Rate 0.03\n<strong>Inference:</strong>\n•   Best Average recall checkpoints were used\n•   Simple Average of the outputs from 5 folds\n•   Inference kernel: <a href=\"https://www.kaggle.com/mohammadzunaed/efficientnet-b5-inference-kernel-pytorch?scriptVersionId=32245517\">https://www.kaggle.com/mohammadzunaed/efficientnet-b5-inference-kernel-pytorch?scriptVersionId=32245517</a> \n<strong>Things that did not work for me:</strong>\n•   Preprocessing\n•   GridMask, Cutout, AugMix\n•   Label Smoothing Criterions\n•   Single head instead of three heads\n•   Activation functions and Convolutional layers in the heads\n<strong>Github Link:</strong>\n<a href=\"https://github.com/Rafizunaed/Kaggle-Bengali.AI-Handwritten-Grapheme-Classification.git\">https://github.com/Rafizunaed/Kaggle-Bengali.AI-Handwritten-Grapheme-Classification.git</a></p>",
  "messages": [
    {
      "id": "813310",
      "postDate": "04/19/2020 15:04:52",
      "content": "<p>Thank you very much to the competition organizers at Kaggle, to Bengali.ai community for organizing the competition. Many thanks to everyone who discussed the competition on the Forum. With each competition, I have been learning a lot from the forum and notebook kernels. And finally congrats to all the winners and teams that participated in this competition! My solution summary is given below:</p>\n\n<p><strong>Dataset:</strong>\n•   Image Size: 137x236 ( No preprocessing )\n<strong>Augmentation:</strong>\n•   CutMix\n<strong>Model:</strong>\n•   EfficientNet-B5 with three heads</p>\n\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F1532763%2F9fdbc2230f1ca5639dd271f093bada56%2Fmodel_diagram.PNG?generation=1587308567296419&amp;alt=media\" alt=\"\"></p>\n\n<p><strong>Training:</strong>\n•   5 fold Configuration\n•   Data split on the basis of grapheme root labels\n•   Loss: Cross Entropy Loss\n•   Optimizer: Over9000\n•   Scheduler: Reduce On Plateau\n•   Gradient Accumulation\n•   Batch Size 100\n•   Initial Learning Rate 0.03\n<strong>Inference:</strong>\n•   Best Average recall checkpoints were used\n•   Simple Average of the outputs from 5 folds\n•   Inference kernel: <a href=\"https://www.kaggle.com/mohammadzunaed/efficientnet-b5-inference-kernel-pytorch?scriptVersionId=32245517\">https://www.kaggle.com/mohammadzunaed/efficientnet-b5-inference-kernel-pytorch?scriptVersionId=32245517</a> \n<strong>Things that did not work for me:</strong>\n•   Preprocessing\n•   GridMask, Cutout, AugMix\n•   Label Smoothing Criterions\n•   Single head instead of three heads\n•   Activation functions and Convolutional layers in the heads\n<strong>Github Link:</strong>\n<a href=\"https://github.com/Rafizunaed/Kaggle-Bengali.AI-Handwritten-Grapheme-Classification.git\">https://github.com/Rafizunaed/Kaggle-Bengali.AI-Handwritten-Grapheme-Classification.git</a></p>",
      "rawMarkdown": "Thank you very much to the competition organizers at Kaggle, to Bengali.ai community for organizing the competition. Many thanks to everyone who discussed the competition on the Forum. With each competition, I have been learning a lot from the forum and notebook kernels. And finally congrats to all the winners and teams that participated in this competition! My solution summary is given below:\n\n**Dataset:**\n•\tImage Size: 137x236 ( No preprocessing )\n**Augmentation:**\n•\tCutMix\n**Model:**\n•\tEfficientNet-B5 with three heads\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F1532763%2F9fdbc2230f1ca5639dd271f093bada56%2Fmodel_diagram.PNG?generation=1587308567296419&amp;alt=media)\n\n**Training:**\n•\t5 fold Configuration\n•\tData split on the basis of grapheme root labels\n•\tLoss: Cross Entropy Loss\n•\tOptimizer: Over9000\n•\tScheduler: Reduce On Plateau\n•\tGradient Accumulation\n•\tBatch Size 100\n•\tInitial Learning Rate 0.03\n**Inference:**\n•\tBest Average recall checkpoints were used\n•\tSimple Average of the outputs from 5 folds\n•\tInference kernel: [https://www.kaggle.com/mohammadzunaed/efficientnet-b5-inference-kernel-pytorch?scriptVersionId=32245517](https://www.kaggle.com/mohammadzunaed/efficientnet-b5-inference-kernel-pytorch?scriptVersionId=32245517) \n**Things that did not work for me:**\n•\tPreprocessing\n•\tGridMask, Cutout, AugMix\n•\tLabel Smoothing Criterions\n•\tSingle head instead of three heads\n•\tActivation functions and Convolutional layers in the heads\n**Github Link:**\n[https://github.com/Rafizunaed/Kaggle-Bengali.AI-Handwritten-Grapheme-Classification.git](https://github.com/Rafizunaed/Kaggle-Bengali.AI-Handwritten-Grapheme-Classification.git)",
      "votes": null
    },
    {
      "id": "813318",
      "postDate": "04/19/2020 15:17:06",
      "content": "<p>Thanks for sharing :)</p>",
      "rawMarkdown": "Thanks for sharing :)",
      "votes": null
    },
    {
      "id": "813385",
      "postDate": "04/19/2020 16:13:45",
      "content": "<p>Nice Work. Thanks for sharing.</p>",
      "rawMarkdown": "Nice Work. Thanks for sharing.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 813318,
      "author_name": "albeffe",
      "author_url": "",
      "post_date": "04/19/2020 15:17:06",
      "content": "<p>Thanks for sharing :)</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 813385,
      "author_name": "rohitsingh9990",
      "author_url": "",
      "post_date": "04/19/2020 16:13:45",
      "content": "<p>Nice Work. Thanks for sharing.</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "813310": "Thank you very much to the competition organizers at Kaggle, to Bengali.ai community for organizing the competition. Many thanks to everyone who discussed the competition on the Forum. With each competition, I have been learning a lot from the forum and notebook kernels. And finally congrats to all the winners and teams that participated in this competition! My solution summary is given below:\n\n**Dataset:**\n•\tImage Size: 137x236 ( No preprocessing )\n**Augmentation:**\n•\tCutMix\n**Model:**\n•\tEfficientNet-B5 with three heads\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F1532763%2F9fdbc2230f1ca5639dd271f093bada56%2Fmodel_diagram.PNG?generation=1587308567296419&amp;alt=media)\n\n**Training:**\n•\t5 fold Configuration\n•\tData split on the basis of grapheme root labels\n•\tLoss: Cross Entropy Loss\n•\tOptimizer: Over9000\n•\tScheduler: Reduce On Plateau\n•\tGradient Accumulation\n•\tBatch Size 100\n•\tInitial Learning Rate 0.03\n**Inference:**\n•\tBest Average recall checkpoints were used\n•\tSimple Average of the outputs from 5 folds\n•\tInference kernel: [https://www.kaggle.com/mohammadzunaed/efficientnet-b5-inference-kernel-pytorch?scriptVersionId=32245517](https://www.kaggle.com/mohammadzunaed/efficientnet-b5-inference-kernel-pytorch?scriptVersionId=32245517) \n**Things that did not work for me:**\n•\tPreprocessing\n•\tGridMask, Cutout, AugMix\n•\tLabel Smoothing Criterions\n•\tSingle head instead of three heads\n•\tActivation functions and Convolutional layers in the heads\n**Github Link:**\n[https://github.com/Rafizunaed/Kaggle-Bengali.AI-Handwritten-Grapheme-Classification.git](https://github.com/Rafizunaed/Kaggle-Bengali.AI-Handwritten-Grapheme-Classification.git)",
    "813318": "Thanks for sharing :)",
    "813385": "Nice Work. Thanks for sharing."
  },
  "source": "meta"
}