{
  "id": 128914,
  "title": "[pytorch] Tricks for Image Classification......",
  "url": "/competitions/bengaliai-cv19/discussion/128914",
  "author_name": "MachineLP",
  "post_date": "2020-02-04T08:01:39.728000",
  "votes": 61,
  "comment_count": 17,
  "views": 0,
  "content": "<h2>data augmentation</h2>\n\n<blockquote>\n  <p>auto-augment：<a href=\"https://github.com/DeepVoltaire/AutoAugment/blob/master/autoaugment.py\">https://github.com/DeepVoltaire/AutoAugment/blob/master/autoaugment.py</a>\n  fast-autoaugment: <a href=\"https://github.com/kakaobrain/fast-autoaugment\">https://github.com/kakaobrain/fast-autoaugment</a>\n  augmix: <a href=\"https://github.com/google-research/augmix\">https://github.com/google-research/augmix</a>\n  mixup/cutout: <a href=\"https://github.com/PistonY/torch-toolbox\">https://github.com/PistonY/torch-toolbox</a></p>\n</blockquote>\n\n<h2>model</h2>\n\n<blockquote>\n  <p>pretrained-models.pytorch: <a href=\"https://github.com/Cadene/pretrained-models.pytorch\">https://github.com/Cadene/pretrained-models.pytorch</a></p>\n</blockquote>\n\n<h2>metric learning</h2>\n\n<blockquote>\n  <p>pytorch-metric-learning: <a href=\"https://github.com/KevinMusgrave/pytorch-metric-learning\">https://github.com/KevinMusgrave/pytorch-metric-learning</a>\n  top_k_optimization: <a href=\"https://github.com/BG2CRW/top_k_optimization\">https://github.com/BG2CRW/top_k_optimization</a></p>\n</blockquote>\n\n<h2>loss</h2>\n\n<blockquote>\n  <p>Class-balanced-loss-pytorch: <a href=\"https://github.com/vandit15/Class-balanced-loss-pytorch\">https://github.com/vandit15/Class-balanced-loss-pytorch</a></p>\n</blockquote>\n\n<h1>framework</h1>\n\n<blockquote>\n  <p>pytorch_image_classification: <a href=\"https://github.com/hysts/pytorch_image_classification\">https://github.com/hysts/pytorch_image_classification</a></p>\n</blockquote>\n\n<p>......</p>",
  "messages": [
    {
      "id": 736456,
      "postDate": "2020-02-04T08:01:39.730Z",
      "content": "<h2>data augmentation</h2>\n\n<blockquote>\n  <p>auto-augment：<a href=\"https://github.com/DeepVoltaire/AutoAugment/blob/master/autoaugment.py\">https://github.com/DeepVoltaire/AutoAugment/blob/master/autoaugment.py</a>\n  fast-autoaugment: <a href=\"https://github.com/kakaobrain/fast-autoaugment\">https://github.com/kakaobrain/fast-autoaugment</a>\n  augmix: <a href=\"https://github.com/google-research/augmix\">https://github.com/google-research/augmix</a>\n  mixup/cutout: <a href=\"https://github.com/PistonY/torch-toolbox\">https://github.com/PistonY/torch-toolbox</a></p>\n</blockquote>\n\n<h2>model</h2>\n\n<blockquote>\n  <p>pretrained-models.pytorch: <a href=\"https://github.com/Cadene/pretrained-models.pytorch\">https://github.com/Cadene/pretrained-models.pytorch</a></p>\n</blockquote>\n\n<h2>metric learning</h2>\n\n<blockquote>\n  <p>pytorch-metric-learning: <a href=\"https://github.com/KevinMusgrave/pytorch-metric-learning\">https://github.com/KevinMusgrave/pytorch-metric-learning</a>\n  top_k_optimization: <a href=\"https://github.com/BG2CRW/top_k_optimization\">https://github.com/BG2CRW/top_k_optimization</a></p>\n</blockquote>\n\n<h2>loss</h2>\n\n<blockquote>\n  <p>Class-balanced-loss-pytorch: <a href=\"https://github.com/vandit15/Class-balanced-loss-pytorch\">https://github.com/vandit15/Class-balanced-loss-pytorch</a></p>\n</blockquote>\n\n<h1>framework</h1>\n\n<blockquote>\n  <p>pytorch_image_classification: <a href=\"https://github.com/hysts/pytorch_image_classification\">https://github.com/hysts/pytorch_image_classification</a></p>\n</blockquote>\n\n<p>......</p>",
      "rawMarkdown": "## data augmentation\n&gt; auto-augment：https://github.com/DeepVoltaire/AutoAugment/blob/master/autoaugment.py\n&gt; fast-autoaugment: https://github.com/kakaobrain/fast-autoaugment\n&gt; augmix: https://github.com/google-research/augmix\n&gt; mixup/cutout: https://github.com/PistonY/torch-toolbox\n\n## model\n&gt; pretrained-models.pytorch: https://github.com/Cadene/pretrained-models.pytorch\n\n## metric learning\n&gt; pytorch-metric-learning: https://github.com/KevinMusgrave/pytorch-metric-learning\n&gt; top_k_optimization: https://github.com/BG2CRW/top_k_optimization\n\n## loss\n&gt; Class-balanced-loss-pytorch: https://github.com/vandit15/Class-balanced-loss-pytorch\n\n# framework\n&gt; pytorch_image_classification: https://github.com/hysts/pytorch_image_classification\n\n......",
      "votes": 61
    },
    {
      "id": 736459,
      "postDate": "2020-02-04T08:06:10.357Z",
      "content": "<p>update:\n[pytorch] ohem loss implementation: <a href=\"https://www.kaggle.com/c/bengaliai-cv19/discussion/128637\">https://www.kaggle.com/c/bengaliai-cv19/discussion/128637</a>\n[pytorch] focal loss + ohem implementation: <a href=\"https://www.kaggle.com/c/bengaliai-cv19/discussion/128665\">https://www.kaggle.com/c/bengaliai-cv19/discussion/128665</a>\nmixup/cutmix with label smoothing: <a href=\"https://www.kaggle.com/c/bengaliai-cv19/discussion/128115\">https://www.kaggle.com/c/bengaliai-cv19/discussion/128115</a>\nmixup/cutmix is all you need: <a href=\"https://www.kaggle.com/c/bengaliai-cv19/discussion/126504\">https://www.kaggle.com/c/bengaliai-cv19/discussion/126504</a></p>",
      "rawMarkdown": "update:\n[pytorch] ohem loss implementation: https://www.kaggle.com/c/bengaliai-cv19/discussion/128637\n[pytorch] focal loss + ohem implementation: https://www.kaggle.com/c/bengaliai-cv19/discussion/128665\nmixup/cutmix with label smoothing: https://www.kaggle.com/c/bengaliai-cv19/discussion/128115\nmixup/cutmix is all you need: https://www.kaggle.com/c/bengaliai-cv19/discussion/126504",
      "votes": 5,
      "replies": [
        {
          "id": 744005,
          "postDate": "2020-02-12T13:19:56.270Z",
          "content": "<p>awsome</p>",
          "rawMarkdown": "awsome",
          "votes": 1
        }
      ]
    },
    {
      "id": 736984,
      "postDate": "2020-02-04T19:12:50.817Z",
      "content": "<p>One of my take-aways from this competition: I probably should get into PyTorch seriously for computer vision tasks. There seems to be a lot more resource than for Keras.</p>",
      "rawMarkdown": "One of my take-aways from this competition: I probably should get into PyTorch seriously for computer vision tasks. There seems to be a lot more resource than for Keras.",
      "votes": 4,
      "replies": [
        {
          "id": 737129,
          "postDate": "2020-02-05T00:11:10.630Z",
          "content": "<p>I have a mix feelings of this. From the very beginning of this competition I see very strong community support for PyTorch. A lots of pytorch geeks share ideas and open-source implementation of various SOTA approach. So to build a quick promising prototype using pytorch and getting a really decent score is becoming really easy day to day, one evidence for this is the new competitor who just came very late and score high so quickly. </p>",
          "rawMarkdown": "I have a mix feelings of this. From the very beginning of this competition I see very strong community support for PyTorch. A lots of pytorch geeks share ideas and open-source implementation of various SOTA approach. So to build a quick promising prototype using pytorch and getting a really decent score is becoming really easy day to day, one evidence for this is the new competitor who just came very late and score high so quickly. "
        },
        {
          "id": 737135,
          "postDate": "2020-02-05T00:27:47.170Z",
          "content": "<p>For this comp specifically pytorch is better since submitting needs to be as quick as possible.</p>",
          "rawMarkdown": "For this comp specifically pytorch is better since submitting needs to be as quick as possible.",
          "votes": 1
        },
        {
          "id": 737315,
          "postDate": "2020-02-05T07:15:56.170Z",
          "content": "<p>PyTorch seems pretty interesting to implement SOTA solutions indeed. But there are also some costs to that, having implemented a lot of my methods / classes in Keras and having to switch would take some time. Probably a great exercise though! :)</p>",
          "rawMarkdown": "PyTorch seems pretty interesting to implement SOTA solutions indeed. But there are also some costs to that, having implemented a lot of my methods / classes in Keras and having to switch would take some time. Probably a great exercise though! :)",
          "votes": 1
        },
        {
          "id": 740988,
          "postDate": "2020-02-10T03:52:41.700Z",
          "content": "<p><a href=\"/maxlenormand\">@maxlenormand</a> Also I feel exactly the same. It looks like customization is harder in Keras as it has higher level of abstractions.</p>",
          "rawMarkdown": "@maxlenormand Also I feel exactly the same. It looks like customization is harder in Keras as it has higher level of abstractions.",
          "votes": 2
        }
      ]
    },
    {
      "id": 736894,
      "postDate": "2020-02-04T17:18:00.510Z",
      "content": "<p>Gridmask augmentation: <a href=\"https://www.kaggle.com/haqishen/gridmask\">https://www.kaggle.com/haqishen/gridmask</a></p>",
      "rawMarkdown": "Gridmask augmentation: https://www.kaggle.com/haqishen/gridmask",
      "votes": 1
    },
    {
      "id": 736460,
      "postDate": "2020-02-04T08:06:57.747Z",
      "content": "<p>did you try augmix?? </p>",
      "rawMarkdown": "did you try augmix?? ",
      "votes": 1,
      "replies": [
        {
          "id": 736469,
          "postDate": "2020-02-04T08:22:53.140Z",
          "content": "<p>yes</p>",
          "rawMarkdown": "yes",
          "votes": 3
        },
        {
          "id": 738699,
          "postDate": "2020-02-06T22:00:38.207Z",
          "content": "<p><a href=\"/machinelp\">@machinelp</a> did you use augmix with JSD loss? or simply Crossentropy?</p>",
          "rawMarkdown": "@machinelp did you use augmix with JSD loss? or simply Crossentropy?"
        }
      ]
    },
    {
      "id": 956846,
      "postDate": "2020-08-03T20:44:27.057Z",
      "content": "<p>Hello Guys. I choose ResNet for İmage Classification. I thınk you should check thıs code\n<a href=\"https://github.com/batuhan3526/ResNet50_on_Cifar_100_Without_Transfer_Learning\">https://github.com/batuhan3526/ResNet50_on_Cifar_100_Without_Transfer_Learning</a></p>",
      "rawMarkdown": "Hello Guys. I choose ResNet for İmage Classification. I thınk you should check thıs code\nhttps://github.com/batuhan3526/ResNet50_on_Cifar_100_Without_Transfer_Learning"
    },
    {
      "id": 737455,
      "postDate": "2020-02-05T11:15:59.320Z",
      "content": "<p>Thanks a lot <a href=\"/machinelp\">@machinelp</a> for taking the pain to compile all these resources in a single place, this is very helpful</p>",
      "rawMarkdown": "Thanks a lot @machinelp for taking the pain to compile all these resources in a single place, this is very helpful"
    },
    {
      "id": 739566,
      "postDate": "2020-02-08T01:16:55.167Z",
      "rawMarkdown": "",
      "votes": 1,
      "isDeleted": true
    },
    {
      "id": 1906384,
      "postDate": "2022-08-19T20:36:38.177Z",
      "content": "<p>Thanks for the valuable summary!</p>",
      "rawMarkdown": "Thanks for the valuable summary!",
      "votes": 5
    },
    {
      "id": 736890,
      "postDate": "2020-02-04T17:11:11.163Z",
      "content": "<p>Thank you for the nice summaries</p>",
      "rawMarkdown": "Thank you for the nice summaries",
      "votes": 1
    },
    {
      "id": 738326,
      "postDate": "2020-02-06T11:46:58.380Z",
      "content": "<p>thanks a lot</p>",
      "rawMarkdown": "thanks a lot",
      "votes": 2
    }
  ],
  "comments": [
    {
      "id": 736459,
      "author_name": "MachineLP",
      "author_url": "",
      "post_date": "2020-02-04T08:06:10.357000",
      "content": "<p>update:\n[pytorch] ohem loss implementation: <a href=\"https://www.kaggle.com/c/bengaliai-cv19/discussion/128637\">https://www.kaggle.com/c/bengaliai-cv19/discussion/128637</a>\n[pytorch] focal loss + ohem implementation: <a href=\"https://www.kaggle.com/c/bengaliai-cv19/discussion/128665\">https://www.kaggle.com/c/bengaliai-cv19/discussion/128665</a>\nmixup/cutmix with label smoothing: <a href=\"https://www.kaggle.com/c/bengaliai-cv19/discussion/128115\">https://www.kaggle.com/c/bengaliai-cv19/discussion/128115</a>\nmixup/cutmix is all you need: <a href=\"https://www.kaggle.com/c/bengaliai-cv19/discussion/126504\">https://www.kaggle.com/c/bengaliai-cv19/discussion/126504</a></p>",
      "votes": 5,
      "replies": [
        {
          "id": 744005,
          "author_name": "Goblin Alchemist",
          "author_url": "",
          "post_date": "2020-02-12T13:19:56.270000",
          "content": "<p>awsome</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 736984,
      "author_name": "Maxime Lenormand",
      "author_url": "",
      "post_date": "2020-02-04T19:12:50.817000",
      "content": "<p>One of my take-aways from this competition: I probably should get into PyTorch seriously for computer vision tasks. There seems to be a lot more resource than for Keras.</p>",
      "votes": 4,
      "replies": [
        {
          "id": 737129,
          "author_name": "Innat",
          "author_url": "",
          "post_date": "2020-02-05T00:11:10.630000",
          "content": "<p>I have a mix feelings of this. From the very beginning of this competition I see very strong community support for PyTorch. A lots of pytorch geeks share ideas and open-source implementation of various SOTA approach. So to build a quick promising prototype using pytorch and getting a really decent score is becoming really easy day to day, one evidence for this is the new competitor who just came very late and score high so quickly. </p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 737135,
          "author_name": "GreatGameDota",
          "author_url": "",
          "post_date": "2020-02-05T00:27:47.170000",
          "content": "<p>For this comp specifically pytorch is better since submitting needs to be as quick as possible.</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 737315,
          "author_name": "Maxime Lenormand",
          "author_url": "",
          "post_date": "2020-02-05T07:15:56.170000",
          "content": "<p>PyTorch seems pretty interesting to implement SOTA solutions indeed. But there are also some costs to that, having implemented a lot of my methods / classes in Keras and having to switch would take some time. Probably a great exercise though! :)</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 740988,
          "author_name": "Kaushal Shah",
          "author_url": "",
          "post_date": "2020-02-10T03:52:41.700000",
          "content": "<p><a href=\"/maxlenormand\">@maxlenormand</a> Also I feel exactly the same. It looks like customization is harder in Keras as it has higher level of abstractions.</p>",
          "votes": 2,
          "replies": []
        }
      ]
    },
    {
      "id": 736894,
      "author_name": "GreatGameDota",
      "author_url": "",
      "post_date": "2020-02-04T17:18:00.510000",
      "content": "<p>Gridmask augmentation: <a href=\"https://www.kaggle.com/haqishen/gridmask\">https://www.kaggle.com/haqishen/gridmask</a></p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 736460,
      "author_name": "Mobassir",
      "author_url": "",
      "post_date": "2020-02-04T08:06:57.747000",
      "content": "<p>did you try augmix?? </p>",
      "votes": 1,
      "replies": [
        {
          "id": 736469,
          "author_name": "MachineLP",
          "author_url": "",
          "post_date": "2020-02-04T08:22:53.140000",
          "content": "<p>yes</p>",
          "votes": 3,
          "replies": []
        },
        {
          "id": 738699,
          "author_name": "Yann Majewski",
          "author_url": "",
          "post_date": "2020-02-06T22:00:38.207000",
          "content": "<p><a href=\"/machinelp\">@machinelp</a> did you use augmix with JSD loss? or simply Crossentropy?</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 956846,
      "author_name": "batu bayraktar",
      "author_url": "",
      "post_date": "2020-08-03T20:44:27.057000",
      "content": "<p>Hello Guys. I choose ResNet for İmage Classification. I thınk you should check thıs code\n<a href=\"https://github.com/batuhan3526/ResNet50_on_Cifar_100_Without_Transfer_Learning\">https://github.com/batuhan3526/ResNet50_on_Cifar_100_Without_Transfer_Learning</a></p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 737455,
      "author_name": "Rohit Agarwal",
      "author_url": "",
      "post_date": "2020-02-05T11:15:59.320000",
      "content": "<p>Thanks a lot <a href=\"/machinelp\">@machinelp</a> for taking the pain to compile all these resources in a single place, this is very helpful</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 739566,
      "author_name": "",
      "author_url": "",
      "post_date": "2020-02-08T01:16:55.167000",
      "content": "",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1906384,
      "author_name": "Mahmud Ahad Abedin Fardin",
      "author_url": "",
      "post_date": "2022-08-19T20:36:38.177000",
      "content": "<p>Thanks for the valuable summary!</p>",
      "votes": 5,
      "replies": []
    },
    {
      "id": 736890,
      "author_name": "Soonhwan Kwon",
      "author_url": "",
      "post_date": "2020-02-04T17:11:11.163000",
      "content": "<p>Thank you for the nice summaries</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 738326,
      "author_name": "Convophile",
      "author_url": "",
      "post_date": "2020-02-06T11:46:58.380000",
      "content": "<p>thanks a lot</p>",
      "votes": 2,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "736456": "## data augmentation\n&gt; auto-augment：https://github.com/DeepVoltaire/AutoAugment/blob/master/autoaugment.py\n&gt; fast-autoaugment: https://github.com/kakaobrain/fast-autoaugment\n&gt; augmix: https://github.com/google-research/augmix\n&gt; mixup/cutout: https://github.com/PistonY/torch-toolbox\n\n## model\n&gt; pretrained-models.pytorch: https://github.com/Cadene/pretrained-models.pytorch\n\n## metric learning\n&gt; pytorch-metric-learning: https://github.com/KevinMusgrave/pytorch-metric-learning\n&gt; top_k_optimization: https://github.com/BG2CRW/top_k_optimization\n\n## loss\n&gt; Class-balanced-loss-pytorch: https://github.com/vandit15/Class-balanced-loss-pytorch\n\n# framework\n&gt; pytorch_image_classification: https://github.com/hysts/pytorch_image_classification\n\n......",
    "736459": "update:\n[pytorch] ohem loss implementation: https://www.kaggle.com/c/bengaliai-cv19/discussion/128637\n[pytorch] focal loss + ohem implementation: https://www.kaggle.com/c/bengaliai-cv19/discussion/128665\nmixup/cutmix with label smoothing: https://www.kaggle.com/c/bengaliai-cv19/discussion/128115\nmixup/cutmix is all you need: https://www.kaggle.com/c/bengaliai-cv19/discussion/126504",
    "736984": "One of my take-aways from this competition: I probably should get into PyTorch seriously for computer vision tasks. There seems to be a lot more resource than for Keras.",
    "736894": "Gridmask augmentation: https://www.kaggle.com/haqishen/gridmask",
    "736460": "did you try augmix?? ",
    "956846": "Hello Guys. I choose ResNet for İmage Classification. I thınk you should check thıs code\nhttps://github.com/batuhan3526/ResNet50_on_Cifar_100_Without_Transfer_Learning",
    "737455": "Thanks a lot @machinelp for taking the pain to compile all these resources in a single place, this is very helpful",
    "739566": "",
    "1906384": "Thanks for the valuable summary!",
    "736890": "Thank you for the nice summaries",
    "738326": "thanks a lot"
  }
}