{
  "id": 128161,
  "title": "GridMask implementation",
  "url": "/competitions/bengaliai-cv19/discussion/128161",
  "author_name": "",
  "post_date": "2020-01-29T10:04:22.574089Z",
  "votes": 75,
  "comment_count": 20,
  "views": 0,
  "content": "<h2>GridMask</h2>\n\n<p><a href=\"https://arxiv.org/abs/2001.04086\">https://arxiv.org/abs/2001.04086</a></p>\n\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F448347%2F2184811fc18555da73a64277ab5016a1%2F2020-01-30%2011.33.43.png?generation=1580351647542803&amp;alt=media\" alt=\"\"></p>\n\n<h2>Implementation &amp; Demo</h2>\n\n<p><a href=\"https://www.kaggle.com/haqishen/gridmask\">https://www.kaggle.com/haqishen/gridmask</a></p>\n\n<h2>Output</h2>\n\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F448347%2F0916989aab4b5915c6d052893b125f00%2F1.png?generation=1580292219766034&amp;alt=media\" alt=\"\"></p>\n\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F448347%2Fc4e1c0ad186ddb522e80d95f3c92dcee%2F2.png?generation=1580292232578384&amp;alt=media\" alt=\"\"></p>",
  "messages": [
    {
      "id": "731968",
      "postDate": "01/29/2020 10:04:22",
      "content": "<h2>GridMask</h2>\n\n<p><a href=\"https://arxiv.org/abs/2001.04086\">https://arxiv.org/abs/2001.04086</a></p>\n\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F448347%2F2184811fc18555da73a64277ab5016a1%2F2020-01-30%2011.33.43.png?generation=1580351647542803&amp;alt=media\" alt=\"\"></p>\n\n<h2>Implementation &amp; Demo</h2>\n\n<p><a href=\"https://www.kaggle.com/haqishen/gridmask\">https://www.kaggle.com/haqishen/gridmask</a></p>\n\n<h2>Output</h2>\n\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F448347%2F0916989aab4b5915c6d052893b125f00%2F1.png?generation=1580292219766034&amp;alt=media\" alt=\"\"></p>\n\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F448347%2Fc4e1c0ad186ddb522e80d95f3c92dcee%2F2.png?generation=1580292232578384&amp;alt=media\" alt=\"\"></p>",
      "rawMarkdown": "## GridMask\n\nhttps://arxiv.org/abs/2001.04086\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F448347%2F2184811fc18555da73a64277ab5016a1%2F2020-01-30%2011.33.43.png?generation=1580351647542803&amp;alt=media)\n\n\n## Implementation &amp; Demo\n\nhttps://www.kaggle.com/haqishen/gridmask\n\n## Output\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F448347%2F0916989aab4b5915c6d052893b125f00%2F1.png?generation=1580292219766034&amp;alt=media)\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F448347%2Fc4e1c0ad186ddb522e80d95f3c92dcee%2F2.png?generation=1580292232578384&amp;alt=media)",
      "votes": null
    },
    {
      "id": "731973",
      "postDate": "01/29/2020 10:21:42",
      "content": "<p>Thanks for your sharing!!!</p>",
      "rawMarkdown": "Thanks for your sharing!!!",
      "votes": null
    },
    {
      "id": "732059",
      "postDate": "01/29/2020 12:41:44",
      "content": "<p>Excellent!!Thank you!!</p>",
      "rawMarkdown": "Excellent!!Thank you!!",
      "votes": null
    },
    {
      "id": "732203",
      "postDate": "01/29/2020 15:10:08",
      "content": "<p>Nice work!!!</p>",
      "rawMarkdown": "Nice work!!!",
      "votes": null
    },
    {
      "id": "732413",
      "postDate": "01/29/2020 19:39:12",
      "content": "<p>Excellent👍 </p>",
      "rawMarkdown": "Excellent👍",
      "votes": null
    },
    {
      "id": "732741",
      "postDate": "01/30/2020 07:31:26",
      "content": "<p>Good job 💯 </p>",
      "rawMarkdown": "Good job 💯",
      "votes": null
    },
    {
      "id": "733003",
      "postDate": "01/30/2020 14:49:50",
      "content": "<p>This is like sprinkles: <a href=\"https://medium.com/@lessw/progressive-sprinkles-a-new-data-augmentation-for-cnns-and-helps-achieve-new-98-nih-malaria-6056965f671a\">https://medium.com/@lessw/progressive-sprinkles-a-new-data-augmentation-for-cnns-and-helps-achieve-new-98-nih-malaria-6056965f671a</a>\nthanks for sharing though</p>",
      "rawMarkdown": "This is like sprinkles: https://medium.com/@lessw/progressive-sprinkles-a-new-data-augmentation-for-cnns-and-helps-achieve-new-98-nih-malaria-6056965f671a\nthanks for sharing though",
      "votes": null
    },
    {
      "id": "734364",
      "postDate": "02/01/2020 11:09:49",
      "content": "<p>Thank you for your sharing!</p>",
      "rawMarkdown": "Thank you for your sharing!",
      "votes": null
    },
    {
      "id": "737111",
      "postDate": "02/04/2020 23:35:01",
      "content": "<p>Thanks for sharing <a href=\"/haqishen\">@haqishen</a> !</p>",
      "rawMarkdown": "Thanks for sharing @haqishen !",
      "votes": null
    },
    {
      "id": "737511",
      "postDate": "02/05/2020 12:56:59",
      "content": "<p>i'm trying gridmask but from my experiment gridmask converge super slow :( anyone facing the same problem?</p>",
      "rawMarkdown": "i'm trying gridmask but from my experiment gridmask converge super slow :( anyone facing the same problem?",
      "votes": null
    },
    {
      "id": "737599",
      "postDate": "02/05/2020 15:03:49",
      "content": "<p>My code works fine for me.\nCould you attach some images that applied GridMask here?</p>",
      "rawMarkdown": "My code works fine for me.\nCould you attach some images that applied GridMask here?",
      "votes": null
    },
    {
      "id": "737615",
      "postDate": "02/05/2020 15:22:19",
      "content": "<p>my images look fine - your implement is great :D but maybe i'm too greedy by setting big parameters. for same recall score, i can see the training loss is around 3x-4x compared to without gridmask. big regularizer will call for longer training epoches</p>",
      "rawMarkdown": "my images look fine - your implement is great :D but maybe i'm too greedy by setting big parameters. for same recall score, i can see the training loss is around 3x-4x compared to without gridmask. big regularizer will call for longer training epoches",
      "votes": null
    },
    {
      "id": "738265",
      "postDate": "02/06/2020 10:39:23",
      "content": "<p>Great work!</p>",
      "rawMarkdown": "Great work!",
      "votes": null
    },
    {
      "id": "738731",
      "postDate": "02/06/2020 23:42:20",
      "content": "<p>Thanks for sharing!!👍 </p>",
      "rawMarkdown": "Thanks for sharing!!👍",
      "votes": null
    },
    {
      "id": "741401",
      "postDate": "02/10/2020 15:33:40",
      "content": "<p>After a series of experiments, I'm quite confident that with some specific parameter setting, GridMask can improve the model performance on this dataset.\nIt will surely be part of my final solution.</p>",
      "rawMarkdown": "After a series of experiments, I'm quite confident that with some specific parameter setting, GridMask can improve the model performance on this dataset.\nIt will surely be part of my final solution.",
      "votes": null
    },
    {
      "id": "742177",
      "postDate": "02/11/2020 06:03:24",
      "content": "<p>Thanks for the kernel. I will use it .</p>",
      "rawMarkdown": "Thanks for the kernel. I will use it .",
      "votes": null
    },
    {
      "id": "742989",
      "postDate": "02/11/2020 17:23:44",
      "content": "<p><a href=\"/haqishen\">@haqishen</a> Did it give better results than mixup/cutmix for you ?</p>",
      "rawMarkdown": "haqishen Did it give better results than mixup/cutmix for you ?",
      "votes": null
    },
    {
      "id": "744630",
      "postDate": "02/13/2020 02:18:43",
      "content": "<p>I wonder if GridMask still work under mixup/cutmix.I did't make it work(model: se-resnext-50 augement with mixup(0.4)/cutmix(0.8-1) cv:0.971(Gridmask)/0.9737(shear rotate shift scale))) 😨 </p>",
      "rawMarkdown": "I wonder if GridMask still work under mixup/cutmix.I did't make it work(model: se-resnext-50 augement with mixup(0.4)/cutmix(0.8-1) cv:0.971(Gridmask)/0.9737(shear rotate shift scale))) 😨",
      "votes": null
    },
    {
      "id": "750012",
      "postDate": "02/19/2020 04:07:27",
      "content": "<p>Can you explain what \"big parameters\" and \"big regularizer\" mean? Thanks!</p>",
      "rawMarkdown": "Can you explain what \"big parameters\" and \"big regularizer\" mean? Thanks!",
      "votes": null
    },
    {
      "id": "785889",
      "postDate": "03/25/2020 13:50:34",
      "content": "<p>Thx for your great work. BTW, I would like to ask how to create our own transform class in albumentations?\nSpecifically, I'm quite confused about functions such as 'get_params_dependent_on_targets', 'get_transform_init_args_names', etc. \nAnd I haven't found answer in albumentations documents.</p>",
      "rawMarkdown": "Thx for your great work. BTW, I would like to ask how to create our own transform class in albumentations?\nSpecifically, I'm quite confused about functions such as 'get_params_dependent_on_targets', 'get_transform_init_args_names', etc. \nAnd I haven't found answer in albumentations documents.",
      "votes": null
    },
    {
      "id": "785927",
      "postDate": "03/25/2020 14:16:32",
      "content": "<p>Ah... I found my answer in the source code.\nIn case someone else meets the same problem, they should read source code in transforms_interface.py</p>",
      "rawMarkdown": "Ah... I found my answer in the source code.\nIn case someone else meets the same problem, they should read source code in transforms_interface.py",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 731973,
      "author_name": "hesene",
      "author_url": "",
      "post_date": "01/29/2020 10:21:42",
      "content": "<p>Thanks for your sharing!!!</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 732059,
      "author_name": "changewow",
      "author_url": "",
      "post_date": "01/29/2020 12:41:44",
      "content": "<p>Excellent!!Thank you!!</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 732203,
      "author_name": "victormenuzzo",
      "author_url": "",
      "post_date": "01/29/2020 15:10:08",
      "content": "<p>Nice work!!!</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 732413,
      "author_name": "nitwmanish",
      "author_url": "",
      "post_date": "01/29/2020 19:39:12",
      "content": "<p>Excellent👍 </p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 732741,
      "author_name": "dasmehdixtr",
      "author_url": "",
      "post_date": "01/30/2020 07:31:26",
      "content": "<p>Good job 💯 </p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 733003,
      "author_name": "timetraveller98",
      "author_url": "",
      "post_date": "01/30/2020 14:49:50",
      "content": "<p>This is like sprinkles: <a href=\"https://medium.com/@lessw/progressive-sprinkles-a-new-data-augmentation-for-cnns-and-helps-achieve-new-98-nih-malaria-6056965f671a\">https://medium.com/@lessw/progressive-sprinkles-a-new-data-augmentation-for-cnns-and-helps-achieve-new-98-nih-malaria-6056965f671a</a>\nthanks for sharing though</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 734364,
      "author_name": "liang23333",
      "author_url": "",
      "post_date": "02/01/2020 11:09:49",
      "content": "<p>Thank you for your sharing!</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 737111,
      "author_name": "rohitagarwal",
      "author_url": "",
      "post_date": "02/04/2020 23:35:01",
      "content": "<p>Thanks for sharing <a href=\"/haqishen\">@haqishen</a> !</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 737511,
      "author_name": "moewie94",
      "author_url": "",
      "post_date": "02/05/2020 12:56:59",
      "content": "<p>i'm trying gridmask but from my experiment gridmask converge super slow :( anyone facing the same problem?</p>",
      "votes": null,
      "replies": [
        {
          "id": 737599,
          "author_name": "haqishen",
          "author_url": "",
          "post_date": "02/05/2020 15:03:49",
          "content": "<p>My code works fine for me.\nCould you attach some images that applied GridMask here?</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 737615,
          "author_name": "moewie94",
          "author_url": "",
          "post_date": "02/05/2020 15:22:19",
          "content": "<p>my images look fine - your implement is great :D but maybe i'm too greedy by setting big parameters. for same recall score, i can see the training loss is around 3x-4x compared to without gridmask. big regularizer will call for longer training epoches</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 750012,
          "author_name": "zhangyang",
          "author_url": "",
          "post_date": "02/19/2020 04:07:27",
          "content": "<p>Can you explain what \"big parameters\" and \"big regularizer\" mean? Thanks!</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 738265,
      "author_name": "",
      "author_url": "",
      "post_date": "02/06/2020 10:39:23",
      "content": "<p>Great work!</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 738731,
      "author_name": "yuanlin08",
      "author_url": "",
      "post_date": "02/06/2020 23:42:20",
      "content": "<p>Thanks for sharing!!👍 </p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 741401,
      "author_name": "haqishen",
      "author_url": "",
      "post_date": "02/10/2020 15:33:40",
      "content": "<p>After a series of experiments, I'm quite confident that with some specific parameter setting, GridMask can improve the model performance on this dataset.\nIt will surely be part of my final solution.</p>",
      "votes": null,
      "replies": [
        {
          "id": 742989,
          "author_name": "vladvdv",
          "author_url": "",
          "post_date": "02/11/2020 17:23:44",
          "content": "<p><a href=\"/haqishen\">@haqishen</a> Did it give better results than mixup/cutmix for you ?</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 742177,
      "author_name": "virajbagal",
      "author_url": "",
      "post_date": "02/11/2020 06:03:24",
      "content": "<p>Thanks for the kernel. I will use it .</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 744630,
      "author_name": "a457435687",
      "author_url": "",
      "post_date": "02/13/2020 02:18:43",
      "content": "<p>I wonder if GridMask still work under mixup/cutmix.I did't make it work(model: se-resnext-50 augement with mixup(0.4)/cutmix(0.8-1) cv:0.971(Gridmask)/0.9737(shear rotate shift scale))) 😨 </p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 785889,
      "author_name": "jeffwang987",
      "author_url": "",
      "post_date": "03/25/2020 13:50:34",
      "content": "<p>Thx for your great work. BTW, I would like to ask how to create our own transform class in albumentations?\nSpecifically, I'm quite confused about functions such as 'get_params_dependent_on_targets', 'get_transform_init_args_names', etc. \nAnd I haven't found answer in albumentations documents.</p>",
      "votes": null,
      "replies": [
        {
          "id": 785927,
          "author_name": "jeffwang987",
          "author_url": "",
          "post_date": "03/25/2020 14:16:32",
          "content": "<p>Ah... I found my answer in the source code.\nIn case someone else meets the same problem, they should read source code in transforms_interface.py</p>",
          "votes": null,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "731968": "## GridMask\n\nhttps://arxiv.org/abs/2001.04086\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F448347%2F2184811fc18555da73a64277ab5016a1%2F2020-01-30%2011.33.43.png?generation=1580351647542803&amp;alt=media)\n\n\n## Implementation &amp; Demo\n\nhttps://www.kaggle.com/haqishen/gridmask\n\n## Output\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F448347%2F0916989aab4b5915c6d052893b125f00%2F1.png?generation=1580292219766034&amp;alt=media)\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F448347%2Fc4e1c0ad186ddb522e80d95f3c92dcee%2F2.png?generation=1580292232578384&amp;alt=media)",
    "731973": "Thanks for your sharing!!!",
    "732059": "Excellent!!Thank you!!",
    "732203": "Nice work!!!",
    "732413": "Excellent👍",
    "732741": "Good job 💯",
    "733003": "This is like sprinkles: https://medium.com/@lessw/progressive-sprinkles-a-new-data-augmentation-for-cnns-and-helps-achieve-new-98-nih-malaria-6056965f671a\nthanks for sharing though",
    "734364": "Thank you for your sharing!",
    "737111": "Thanks for sharing @haqishen !",
    "737511": "i'm trying gridmask but from my experiment gridmask converge super slow :( anyone facing the same problem?",
    "737599": "My code works fine for me.\nCould you attach some images that applied GridMask here?",
    "737615": "my images look fine - your implement is great :D but maybe i'm too greedy by setting big parameters. for same recall score, i can see the training loss is around 3x-4x compared to without gridmask. big regularizer will call for longer training epoches",
    "738265": "Great work!",
    "738731": "Thanks for sharing!!👍",
    "741401": "After a series of experiments, I'm quite confident that with some specific parameter setting, GridMask can improve the model performance on this dataset.\nIt will surely be part of my final solution.",
    "742177": "Thanks for the kernel. I will use it .",
    "742989": "haqishen Did it give better results than mixup/cutmix for you ?",
    "744630": "I wonder if GridMask still work under mixup/cutmix.I did't make it work(model: se-resnext-50 augement with mixup(0.4)/cutmix(0.8-1) cv:0.971(Gridmask)/0.9737(shear rotate shift scale))) 😨",
    "750012": "Can you explain what \"big parameters\" and \"big regularizer\" mean? Thanks!",
    "785889": "Thx for your great work. BTW, I would like to ask how to create our own transform class in albumentations?\nSpecifically, I'm quite confused about functions such as 'get_params_dependent_on_targets', 'get_transform_init_args_names', etc. \nAnd I haven't found answer in albumentations documents.",
    "785927": "Ah... I found my answer in the source code.\nIn case someone else meets the same problem, they should read source code in transforms_interface.py"
  },
  "source": "meta"
}