{
  "id": 73934,
  "title": "Understanding the top of the LB",
  "url": "/competitions/human-protein-atlas-image-classification/discussion/73934",
  "author_name": "",
  "post_date": "2018-12-06T20:22:19.900060100Z",
  "votes": 21,
  "comment_count": 18,
  "views": 0,
  "content": "<p>A pretty steep fall in score from 1st to 100th: I'm curious as to where people with a score above 0.5 see their edge coming from. No obligation to give details but would be interested in knowing the general area, I think it's a pretty interesting competition with a lot of possibility for very diverse yet equally strong solutions.</p>\n\n<p>Here are a few possibilities:</p>\n\n<ol>\n<li>Addressing class imbalance with a model per class</li>\n<li>Addressing class imbalance via sampling techiniques</li>\n<li>Addressing class imbalance via the loss function</li>\n<li>Addressing class imbalance via augmentations</li>\n<li>Stacking</li>\n<li>Self-built custom model architecture</li>\n<li>Research paper model architecture (e.g. GapNet)</li>\n<li>Training with larger (i.e. above 512) image sizes</li>\n<li>Using the HPA data</li>\n<li>Other external data</li>\n<li>Something to do with the reported train/test distribution shift</li>\n<li>Thresholding</li>\n<li>Massive compute power</li>\n<li>LB probing/over-fitting/submitted the leaked file</li>\n<li>CV design</li>\n<li>Something else</li>\n</ol>\n\n<p>Let me know if you want a category added.</p>\n\n<p>Mark</p>",
  "messages": [
    {
      "id": "434703",
      "postDate": "12/06/2018 20:22:19",
      "content": "<p>A pretty steep fall in score from 1st to 100th: I'm curious as to where people with a score above 0.5 see their edge coming from. No obligation to give details but would be interested in knowing the general area, I think it's a pretty interesting competition with a lot of possibility for very diverse yet equally strong solutions.</p>\n\n<p>Here are a few possibilities:</p>\n\n<ol>\n<li>Addressing class imbalance with a model per class</li>\n<li>Addressing class imbalance via sampling techiniques</li>\n<li>Addressing class imbalance via the loss function</li>\n<li>Addressing class imbalance via augmentations</li>\n<li>Stacking</li>\n<li>Self-built custom model architecture</li>\n<li>Research paper model architecture (e.g. GapNet)</li>\n<li>Training with larger (i.e. above 512) image sizes</li>\n<li>Using the HPA data</li>\n<li>Other external data</li>\n<li>Something to do with the reported train/test distribution shift</li>\n<li>Thresholding</li>\n<li>Massive compute power</li>\n<li>LB probing/over-fitting/submitted the leaked file</li>\n<li>CV design</li>\n<li>Something else</li>\n</ol>\n\n<p>Let me know if you want a category added.</p>\n\n<p>Mark</p>",
      "rawMarkdown": "A pretty steep fall in score from 1st to 100th: I'm curious as to where people with a score above 0.5 see their edge coming from. No obligation to give details but would be interested in knowing the general area, I think it's a pretty interesting competition with a lot of possibility for very diverse yet equally strong solutions.\n\nHere are a few possibilities:\n\n1.  Addressing class imbalance with a model per class\n2.  Addressing class imbalance via sampling techiniques\n3.  Addressing class imbalance via the loss function\n4.  Addressing class imbalance via augmentations\n5.  Stacking\n6. Self-built custom model architecture\n7. Research paper model architecture (e.g. GapNet)\n8.  Training with larger (i.e. above 512) image sizes\n9.  Using the HPA data\n10. Other external data\n11.  Something to do with the reported train/test distribution shift\n12. Thresholding\n13. Massive compute power\n14. LB probing/over-fitting/submitted the leaked file\n15. CV design\n16. Something else\n\nLet me know if you want a category added.\n\nMark",
      "votes": null
    },
    {
      "id": "435410",
      "postDate": "12/08/2018 02:01:43",
      "content": "<p>Maybe object detection.\nIf I knew how to automatically extract each individual cell from the images and make it its own object, I would try that. Each cell in the images should constitute an example of the complete set of labels for that image, so one could theoretically turn one labeled image into several to several dozens (some images have more cells than others). Then maybe try some of the super resolution methods on the pixel-wise smaller single cell examples and see if those preserve information properly in this domain.</p>",
      "rawMarkdown": "Maybe object detection.\nIf I knew how to automatically extract each individual cell from the images and make it its own object, I would try that. Each cell in the images should constitute an example of the complete set of labels for that image, so one could theoretically turn one labeled image into several to several dozens (some images have more cells than others). Then maybe try some of the super resolution methods on the pixel-wise smaller single cell examples and see if those preserve information properly in this domain.",
      "votes": null
    },
    {
      "id": "435469",
      "postDate": "12/08/2018 04:29:08",
      "content": "<p>Paper Notes: A Review on Multi-label Learning Algorithms\n<a href=\"Https://www.cnblogs.com/liaohuiqiang/p/9339996.html\">Https://www.cnblogs.com/liaohuiqiang/p/9339996.html</a></p>\n\n<p>When a document is tagged as an entertainment label, it is unlikely to be politically relevant. Effective mining of the correlation between tags is the key to the success of multi-tag learning. According to the strength of correlation mining, multi-label algorithms can be divided into three categories.\nFirst-order strategy: Ignore the correlation with other tags, such as decomposing multiple tags into multiple independent binary classification problems (simple and efficient).\nSecond-order strategy: Consider pairwise associations between tags, such as sorting related and unrelated tags.\nHigher-order strategy: Consider the association between multiple tags, such as considering the impact of all other tags on each tag (the effect is optimal).</p>",
      "rawMarkdown": "Paper Notes: A Review on Multi-label Learning Algorithms\nHttps://www.cnblogs.com/liaohuiqiang/p/9339996.html\n\nWhen a document is tagged as an entertainment label, it is unlikely to be politically relevant. Effective mining of the correlation between tags is the key to the success of multi-tag learning. According to the strength of correlation mining, multi-label algorithms can be divided into three categories.\nFirst-order strategy: Ignore the correlation with other tags, such as decomposing multiple tags into multiple independent binary classification problems (simple and efficient).\nSecond-order strategy: Consider pairwise associations between tags, such as sorting related and unrelated tags.\nHigher-order strategy: Consider the association between multiple tags, such as considering the impact of all other tags on each tag (the effect is optimal).",
      "votes": null
    },
    {
      "id": "435472",
      "postDate": "12/08/2018 04:31:33",
      "content": "<p>I think most of people still use First-order strategy, so am I. \nnext,  I will search some method to use Second-order strategy....\nif you just use Second-order strategy or Higher-order strategy, would you share some idea? thanks!</p>",
      "rawMarkdown": "I think most of people still use First-order strategy, so am I. \nnext,  I will search some method to use Second-order strategy....\nif you just use Second-order strategy or Higher-order strategy, would you share some idea? thanks!",
      "votes": null
    },
    {
      "id": "435516",
      "postDate": "12/08/2018 06:24:14",
      "content": "<p>I agree with you,but nobody talk about it and show a good result </p>",
      "rawMarkdown": "I agree with you,but nobody talk about it and show a good result",
      "votes": null
    },
    {
      "id": "435520",
      "postDate": "12/08/2018 06:35:29",
      "content": "<p>hill  Qiang！you mean to train 28 models ,just do binary classification problems? </p>",
      "rawMarkdown": "hill  Qiang！you mean to train 28 models ,just do binary classification problems?",
      "votes": null
    },
    {
      "id": "435525",
      "postDate": "12/08/2018 06:51:27",
      "content": "<p><a href=\"https://www.kaggle.com/allunia/protein-atlas-exploration-and-baseline.it\">https://www.kaggle.com/allunia/protein-atlas-exploration-and-baseline.it</a> is disscussed in the link,the associations between tags is not strong</p>",
      "rawMarkdown": "https://www.kaggle.com/allunia/protein-atlas-exploration-and-baseline.it is disscussed in the link,the associations between tags is not strong",
      "votes": null
    },
    {
      "id": "436410",
      "postDate": "12/10/2018 08:42:07",
      "content": "<p>Hey guys,\nWhat annotation tool are using for labelling the images?</p>",
      "rawMarkdown": "Hey guys,\nWhat annotation tool are using for labelling the images?",
      "votes": null
    },
    {
      "id": "436430",
      "postDate": "12/10/2018 09:46:04",
      "content": "<p>I'll just leave this link: <a href=\"https://www.kaggle.com/c/avito-demand-prediction/discussion/59871\">https://www.kaggle.com/c/avito-demand-prediction/discussion/59871</a>\nI am not implying anything ;)</p>",
      "rawMarkdown": "I'll just leave this link: https://www.kaggle.com/c/avito-demand-prediction/discussion/59871\nI am not implying anything ;)",
      "votes": null
    },
    {
      "id": "437407",
      "postDate": "12/11/2018 21:16:59",
      "content": "<p>Hey Mark, thank you for pushing kaggle to clear up the leak!</p>\n\n<p>I think a lot of people were agonizing over how to download the external data and what will happen to the leaked images, now it's much clearer what's happening.</p>\n\n<p>I am using some of your points:</p>\n\n<ul>\n<li>3) in having Focalloss as my loss-function</li>\n<li>9) <a href=\"https://www.kaggle.com/c/human-protein-atlas-image-classification/discussion/69984#432870\">external HPA data as suggested by TomomiMoriyama</a></li>\n<li>12) still working on that and it seems very unreliable right now </li>\n<li>14) Leaked file for my best submission and I think this is the case for most 0.55+ submissions</li>\n<li>15) <a href=\"https://www.kaggle.com/c/human-protein-atlas-image-classification/discussion/67819\">Multilabel Stratification as suggested by Trent and Brian</a></li>\n</ul>\n\n<p>Even though my current best submission is ranked pretty high I don't think it will hold up on the private leaderboard (I just wanted to see how far I can get with using the leaked Image list TomomiMoriyama posted)</p>\n\n<p>As I got a lot of ideas from other kaggle users I'm gonna mention them:</p>\n\n<p><a href=\"https://www.kaggle.com/tomomimoriyama\">@TomomiMoriyama</a>,\n<a href=\"https://www.kaggle.com/ldm314\">@Brian</a>,\n<a href=\"https://www.kaggle.com/trentb\">@Trent</a>,\n<a href=\"https://www.kaggle.com/iafoss\">@Iafoss</a>,\n<a href=\"https://www.kaggle.com/hortonhearsafoo\">@William Horton</a></p>\n\n<p>Thank you guys!</p>",
      "rawMarkdown": "Hey Mark, thank you for pushing kaggle to clear up the leak!\n\nI think a lot of people were agonizing over how to download the external data and what will happen to the leaked images, now it's much clearer what's happening.\n\nI am using some of your points:\n\n-  3) in having Focalloss as my loss-function\n-  9) [external HPA data as suggested by TomomiMoriyama](https://www.kaggle.com/c/human-protein-atlas-image-classification/discussion/69984#432870)\n-  12) still working on that and it seems very unreliable right now \n-  14) Leaked file for my best submission and I think this is the case for most 0.55+ submissions\n-  15) [Multilabel Stratification as suggested by Trent and Brian](https://www.kaggle.com/c/human-protein-atlas-image-classification/discussion/67819)\n\nEven though my current best submission is ranked pretty high I don't think it will hold up on the private leaderboard (I just wanted to see how far I can get with using the leaked Image list TomomiMoriyama posted)\n\nAs I got a lot of ideas from other kaggle users I'm gonna mention them:\n\n[@TomomiMoriyama](https://www.kaggle.com/tomomimoriyama),\n[@Brian](https://www.kaggle.com/ldm314),\n[@Trent](https://www.kaggle.com/trentb),\n[@Iafoss](https://www.kaggle.com/iafoss),\n[@William Horton](https://www.kaggle.com/hortonhearsafoo)\n\nThank you guys!",
      "votes": null
    },
    {
      "id": "437648",
      "postDate": "12/12/2018 09:11:42",
      "content": "<p>Hey DollofCuty,</p>\n\n<p>Thanks for this. Which base model do you use and how many epochs do you typically train for? For ages I was using a resnet18 (light, scales pretty well) but have just switched to a SEResNext50 which converges very fast but is pretty painful at 512 (30 mins per epoch over 5 fold). </p>\n\n<p>Also, are you stacking?</p>",
      "rawMarkdown": "Hey DollofCuty,\n\nThanks for this. Which base model do you use and how many epochs do you typically train for? For ages I was using a resnet18 (light, scales pretty well) but have just switched to a SEResNext50 which converges very fast but is pretty painful at 512 (30 mins per epoch over 5 fold). \n\nAlso, are you stacking?",
      "votes": null
    },
    {
      "id": "437651",
      "postDate": "12/12/2018 09:15:24",
      "content": "<p>Hi Dmytro - thanks for this! Definitely a little cryptic! I guess you are either referring to a large stack or extracting image vectors? If the latter how would you do this? I thought of training an AE and then flattening the middle encoding and using as features in a lgbm along with other model predictions.</p>",
      "rawMarkdown": "Hi Dmytro - thanks for this! Definitely a little cryptic! I guess you are either referring to a large stack or extracting image vectors? If the latter how would you do this? I thought of training an AE and then flattening the middle encoding and using as features in a lgbm along with other model predictions.",
      "votes": null
    },
    {
      "id": "437685",
      "postDate": "12/12/2018 10:09:04",
      "content": "<p>I don't believe anyone is labelling images for this competition. \nThe images provided are labelled in the train.csv file. When using external data you'll need to write a script to add the new images' labels to a similar csv file. For some guidance on this visit <a href=\"https://www.kaggle.com/c/human-protein-atlas-image-classification/discussion/69984\">https://www.kaggle.com/c/human-protein-atlas-image-classification/discussion/69984</a> </p>",
      "rawMarkdown": "I don't believe anyone is labelling images for this competition. \nThe images provided are labelled in the train.csv file. When using external data you'll need to write a script to add the new images' labels to a similar csv file. For some guidance on this visit https://www.kaggle.com/c/human-protein-atlas-image-classification/discussion/69984",
      "votes": null
    },
    {
      "id": "437869",
      "postDate": "12/12/2018 17:01:54",
      "content": "<p>I used a single model resnet50 architecture for my last submissions and resnet34 before that.</p>\n\n<p>resnet50 seems to work great but training takes a long time, so I'm thinking about switching to something lighter for now.</p>\n\n<p>I train about 50 epochs over different image sizes and it takes about 40 mins per epoch with sz=512 which is painful to sit through </p>\n\n<p>No I don't stack</p>\n\n<p>SEResNext50 looks great, hopefully my hardware won't be a bottleneck when trying it</p>",
      "rawMarkdown": "I used a single model resnet50 architecture for my last submissions and resnet34 before that.\n\nresnet50 seems to work great but training takes a long time, so I'm thinking about switching to something lighter for now.\n\nI train about 50 epochs over different image sizes and it takes about 40 mins per epoch with sz=512 which is painful to sit through \n\nNo I don't stack\n\nSEResNext50 looks great, hopefully my hardware won't be a bottleneck when trying it",
      "votes": null
    },
    {
      "id": "438637",
      "postDate": "12/14/2018 01:08:59",
      "content": "<p>do you use the seresnext implementation from titu1994 repository? I get OOM consistently on it.</p>",
      "rawMarkdown": "do you use the seresnext implementation from titu1994 repository? I get OOM consistently on it.",
      "votes": null
    },
    {
      "id": "438865",
      "postDate": "12/14/2018 09:57:05",
      "content": "<p>I just started my first training runs with it but Cadene's implementation in pytorch: <a href=\"https://github.com/Cadene/pretrained-models.pytorch\">https://github.com/Cadene/pretrained-models.pytorch</a>\nworks fine for me </p>",
      "rawMarkdown": "I just started my first training runs with it but Cadene's implementation in pytorch: https://github.com/Cadene/pretrained-models.pytorch\nworks fine for me",
      "votes": null
    },
    {
      "id": "439844",
      "postDate": "12/16/2018 14:07:51",
      "content": "<p>I was wondering if there is a difference between the external dataset and the leaked dataset? Also, I was wondering if you get any boost in performance for training with different image sizes</p>",
      "rawMarkdown": "I was wondering if there is a difference between the external dataset and the leaked dataset? Also, I was wondering if you get any boost in performance for training with different image sizes",
      "votes": null
    },
    {
      "id": "440018",
      "postDate": "12/16/2018 21:48:16",
      "content": "<p>what I mean by external dataset is all the pictures from the HPA website with the corresponding labels to our 28 classes (there are some download scripts in the external data thread)</p>\n\n<p>leaked images are images from the external dataset that were matched with our test images so you basically know the correct prediction. (see <a href=\"https://www.kaggle.com/c/human-protein-atlas-image-classification/discussion/73395\">leak discussion</a>)</p>\n\n<p>I get a significant boost from 224px to 512px but I can't try larger right now because of my hardware</p>",
      "rawMarkdown": "what I mean by external dataset is all the pictures from the HPA website with the corresponding labels to our 28 classes (there are some download scripts in the external data thread)\n\nleaked images are images from the external dataset that were matched with our test images so you basically know the correct prediction. (see [leak discussion](https://www.kaggle.com/c/human-protein-atlas-image-classification/discussion/73395))\n\nI get a significant boost from 224px to 512px but I can't try larger right now because of my hardware",
      "votes": null
    },
    {
      "id": "446064",
      "postDate": "12/27/2018 12:51:27",
      "content": "<p>If we finish with a decent result, we will share everything in details.\nAt the moment I am actually puzzled by the first public LB place result, because it is either super-interesting or super-overfitted.</p>",
      "rawMarkdown": "If we finish with a decent result, we will share everything in details.\nAt the moment I am actually puzzled by the first public LB place result, because it is either super-interesting or super-overfitted.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 435410,
      "author_name": "interneuron",
      "author_url": "",
      "post_date": "12/08/2018 02:01:43",
      "content": "<p>Maybe object detection.\nIf I knew how to automatically extract each individual cell from the images and make it its own object, I would try that. Each cell in the images should constitute an example of the complete set of labels for that image, so one could theoretically turn one labeled image into several to several dozens (some images have more cells than others). Then maybe try some of the super resolution methods on the pixel-wise smaller single cell examples and see if those preserve information properly in this domain.</p>",
      "votes": null,
      "replies": [
        {
          "id": 435516,
          "author_name": "xu666bird",
          "author_url": "",
          "post_date": "12/08/2018 06:24:14",
          "content": "<p>I agree with you,but nobody talk about it and show a good result </p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 435469,
      "author_name": "crilinux",
      "author_url": "",
      "post_date": "12/08/2018 04:29:08",
      "content": "<p>Paper Notes: A Review on Multi-label Learning Algorithms\n<a href=\"Https://www.cnblogs.com/liaohuiqiang/p/9339996.html\">Https://www.cnblogs.com/liaohuiqiang/p/9339996.html</a></p>\n\n<p>When a document is tagged as an entertainment label, it is unlikely to be politically relevant. Effective mining of the correlation between tags is the key to the success of multi-tag learning. According to the strength of correlation mining, multi-label algorithms can be divided into three categories.\nFirst-order strategy: Ignore the correlation with other tags, such as decomposing multiple tags into multiple independent binary classification problems (simple and efficient).\nSecond-order strategy: Consider pairwise associations between tags, such as sorting related and unrelated tags.\nHigher-order strategy: Consider the association between multiple tags, such as considering the impact of all other tags on each tag (the effect is optimal).</p>",
      "votes": null,
      "replies": [
        {
          "id": 435472,
          "author_name": "crilinux",
          "author_url": "",
          "post_date": "12/08/2018 04:31:33",
          "content": "<p>I think most of people still use First-order strategy, so am I. \nnext,  I will search some method to use Second-order strategy....\nif you just use Second-order strategy or Higher-order strategy, would you share some idea? thanks!</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 435520,
          "author_name": "xu666bird",
          "author_url": "",
          "post_date": "12/08/2018 06:35:29",
          "content": "<p>hill  Qiang！you mean to train 28 models ,just do binary classification problems? </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 435525,
          "author_name": "xu666bird",
          "author_url": "",
          "post_date": "12/08/2018 06:51:27",
          "content": "<p><a href=\"https://www.kaggle.com/allunia/protein-atlas-exploration-and-baseline.it\">https://www.kaggle.com/allunia/protein-atlas-exploration-and-baseline.it</a> is disscussed in the link,the associations between tags is not strong</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 436410,
      "author_name": "sujjju",
      "author_url": "",
      "post_date": "12/10/2018 08:42:07",
      "content": "<p>Hey guys,\nWhat annotation tool are using for labelling the images?</p>",
      "votes": null,
      "replies": [
        {
          "id": 437685,
          "author_name": "chrisoos",
          "author_url": "",
          "post_date": "12/12/2018 10:09:04",
          "content": "<p>I don't believe anyone is labelling images for this competition. \nThe images provided are labelled in the train.csv file. When using external data you'll need to write a script to add the new images' labels to a similar csv file. For some guidance on this visit <a href=\"https://www.kaggle.com/c/human-protein-atlas-image-classification/discussion/69984\">https://www.kaggle.com/c/human-protein-atlas-image-classification/discussion/69984</a> </p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 436430,
      "author_name": "hokmund",
      "author_url": "",
      "post_date": "12/10/2018 09:46:04",
      "content": "<p>I'll just leave this link: <a href=\"https://www.kaggle.com/c/avito-demand-prediction/discussion/59871\">https://www.kaggle.com/c/avito-demand-prediction/discussion/59871</a>\nI am not implying anything ;)</p>",
      "votes": null,
      "replies": [
        {
          "id": 437651,
          "author_name": "maw501",
          "author_url": "",
          "post_date": "12/12/2018 09:15:24",
          "content": "<p>Hi Dmytro - thanks for this! Definitely a little cryptic! I guess you are either referring to a large stack or extracting image vectors? If the latter how would you do this? I thought of training an AE and then flattening the middle encoding and using as features in a lgbm along with other model predictions.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 446064,
          "author_name": "hokmund",
          "author_url": "",
          "post_date": "12/27/2018 12:51:27",
          "content": "<p>If we finish with a decent result, we will share everything in details.\nAt the moment I am actually puzzled by the first public LB place result, because it is either super-interesting or super-overfitted.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 437407,
      "author_name": "dollofcuty",
      "author_url": "",
      "post_date": "12/11/2018 21:16:59",
      "content": "<p>Hey Mark, thank you for pushing kaggle to clear up the leak!</p>\n\n<p>I think a lot of people were agonizing over how to download the external data and what will happen to the leaked images, now it's much clearer what's happening.</p>\n\n<p>I am using some of your points:</p>\n\n<ul>\n<li>3) in having Focalloss as my loss-function</li>\n<li>9) <a href=\"https://www.kaggle.com/c/human-protein-atlas-image-classification/discussion/69984#432870\">external HPA data as suggested by TomomiMoriyama</a></li>\n<li>12) still working on that and it seems very unreliable right now </li>\n<li>14) Leaked file for my best submission and I think this is the case for most 0.55+ submissions</li>\n<li>15) <a href=\"https://www.kaggle.com/c/human-protein-atlas-image-classification/discussion/67819\">Multilabel Stratification as suggested by Trent and Brian</a></li>\n</ul>\n\n<p>Even though my current best submission is ranked pretty high I don't think it will hold up on the private leaderboard (I just wanted to see how far I can get with using the leaked Image list TomomiMoriyama posted)</p>\n\n<p>As I got a lot of ideas from other kaggle users I'm gonna mention them:</p>\n\n<p><a href=\"https://www.kaggle.com/tomomimoriyama\">@TomomiMoriyama</a>,\n<a href=\"https://www.kaggle.com/ldm314\">@Brian</a>,\n<a href=\"https://www.kaggle.com/trentb\">@Trent</a>,\n<a href=\"https://www.kaggle.com/iafoss\">@Iafoss</a>,\n<a href=\"https://www.kaggle.com/hortonhearsafoo\">@William Horton</a></p>\n\n<p>Thank you guys!</p>",
      "votes": null,
      "replies": [
        {
          "id": 437648,
          "author_name": "maw501",
          "author_url": "",
          "post_date": "12/12/2018 09:11:42",
          "content": "<p>Hey DollofCuty,</p>\n\n<p>Thanks for this. Which base model do you use and how many epochs do you typically train for? For ages I was using a resnet18 (light, scales pretty well) but have just switched to a SEResNext50 which converges very fast but is pretty painful at 512 (30 mins per epoch over 5 fold). </p>\n\n<p>Also, are you stacking?</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 437869,
          "author_name": "dollofcuty",
          "author_url": "",
          "post_date": "12/12/2018 17:01:54",
          "content": "<p>I used a single model resnet50 architecture for my last submissions and resnet34 before that.</p>\n\n<p>resnet50 seems to work great but training takes a long time, so I'm thinking about switching to something lighter for now.</p>\n\n<p>I train about 50 epochs over different image sizes and it takes about 40 mins per epoch with sz=512 which is painful to sit through </p>\n\n<p>No I don't stack</p>\n\n<p>SEResNext50 looks great, hopefully my hardware won't be a bottleneck when trying it</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 438637,
          "author_name": "moshel",
          "author_url": "",
          "post_date": "12/14/2018 01:08:59",
          "content": "<p>do you use the seresnext implementation from titu1994 repository? I get OOM consistently on it.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 438865,
          "author_name": "dollofcuty",
          "author_url": "",
          "post_date": "12/14/2018 09:57:05",
          "content": "<p>I just started my first training runs with it but Cadene's implementation in pytorch: <a href=\"https://github.com/Cadene/pretrained-models.pytorch\">https://github.com/Cadene/pretrained-models.pytorch</a>\nworks fine for me </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 439844,
          "author_name": "sushifan",
          "author_url": "",
          "post_date": "12/16/2018 14:07:51",
          "content": "<p>I was wondering if there is a difference between the external dataset and the leaked dataset? Also, I was wondering if you get any boost in performance for training with different image sizes</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 440018,
          "author_name": "dollofcuty",
          "author_url": "",
          "post_date": "12/16/2018 21:48:16",
          "content": "<p>what I mean by external dataset is all the pictures from the HPA website with the corresponding labels to our 28 classes (there are some download scripts in the external data thread)</p>\n\n<p>leaked images are images from the external dataset that were matched with our test images so you basically know the correct prediction. (see <a href=\"https://www.kaggle.com/c/human-protein-atlas-image-classification/discussion/73395\">leak discussion</a>)</p>\n\n<p>I get a significant boost from 224px to 512px but I can't try larger right now because of my hardware</p>",
          "votes": null,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "434703": "A pretty steep fall in score from 1st to 100th: I'm curious as to where people with a score above 0.5 see their edge coming from. No obligation to give details but would be interested in knowing the general area, I think it's a pretty interesting competition with a lot of possibility for very diverse yet equally strong solutions.\n\nHere are a few possibilities:\n\n1.  Addressing class imbalance with a model per class\n2.  Addressing class imbalance via sampling techiniques\n3.  Addressing class imbalance via the loss function\n4.  Addressing class imbalance via augmentations\n5.  Stacking\n6. Self-built custom model architecture\n7. Research paper model architecture (e.g. GapNet)\n8.  Training with larger (i.e. above 512) image sizes\n9.  Using the HPA data\n10. Other external data\n11.  Something to do with the reported train/test distribution shift\n12. Thresholding\n13. Massive compute power\n14. LB probing/over-fitting/submitted the leaked file\n15. CV design\n16. Something else\n\nLet me know if you want a category added.\n\nMark",
    "435410": "Maybe object detection.\nIf I knew how to automatically extract each individual cell from the images and make it its own object, I would try that. Each cell in the images should constitute an example of the complete set of labels for that image, so one could theoretically turn one labeled image into several to several dozens (some images have more cells than others). Then maybe try some of the super resolution methods on the pixel-wise smaller single cell examples and see if those preserve information properly in this domain.",
    "435469": "Paper Notes: A Review on Multi-label Learning Algorithms\nHttps://www.cnblogs.com/liaohuiqiang/p/9339996.html\n\nWhen a document is tagged as an entertainment label, it is unlikely to be politically relevant. Effective mining of the correlation between tags is the key to the success of multi-tag learning. According to the strength of correlation mining, multi-label algorithms can be divided into three categories.\nFirst-order strategy: Ignore the correlation with other tags, such as decomposing multiple tags into multiple independent binary classification problems (simple and efficient).\nSecond-order strategy: Consider pairwise associations between tags, such as sorting related and unrelated tags.\nHigher-order strategy: Consider the association between multiple tags, such as considering the impact of all other tags on each tag (the effect is optimal).",
    "435472": "I think most of people still use First-order strategy, so am I. \nnext,  I will search some method to use Second-order strategy....\nif you just use Second-order strategy or Higher-order strategy, would you share some idea? thanks!",
    "435516": "I agree with you,but nobody talk about it and show a good result",
    "435520": "hill  Qiang！you mean to train 28 models ,just do binary classification problems?",
    "435525": "https://www.kaggle.com/allunia/protein-atlas-exploration-and-baseline.it is disscussed in the link,the associations between tags is not strong",
    "436410": "Hey guys,\nWhat annotation tool are using for labelling the images?",
    "436430": "I'll just leave this link: https://www.kaggle.com/c/avito-demand-prediction/discussion/59871\nI am not implying anything ;)",
    "437407": "Hey Mark, thank you for pushing kaggle to clear up the leak!\n\nI think a lot of people were agonizing over how to download the external data and what will happen to the leaked images, now it's much clearer what's happening.\n\nI am using some of your points:\n\n-  3) in having Focalloss as my loss-function\n-  9) [external HPA data as suggested by TomomiMoriyama](https://www.kaggle.com/c/human-protein-atlas-image-classification/discussion/69984#432870)\n-  12) still working on that and it seems very unreliable right now \n-  14) Leaked file for my best submission and I think this is the case for most 0.55+ submissions\n-  15) [Multilabel Stratification as suggested by Trent and Brian](https://www.kaggle.com/c/human-protein-atlas-image-classification/discussion/67819)\n\nEven though my current best submission is ranked pretty high I don't think it will hold up on the private leaderboard (I just wanted to see how far I can get with using the leaked Image list TomomiMoriyama posted)\n\nAs I got a lot of ideas from other kaggle users I'm gonna mention them:\n\n[@TomomiMoriyama](https://www.kaggle.com/tomomimoriyama),\n[@Brian](https://www.kaggle.com/ldm314),\n[@Trent](https://www.kaggle.com/trentb),\n[@Iafoss](https://www.kaggle.com/iafoss),\n[@William Horton](https://www.kaggle.com/hortonhearsafoo)\n\nThank you guys!",
    "437648": "Hey DollofCuty,\n\nThanks for this. Which base model do you use and how many epochs do you typically train for? For ages I was using a resnet18 (light, scales pretty well) but have just switched to a SEResNext50 which converges very fast but is pretty painful at 512 (30 mins per epoch over 5 fold). \n\nAlso, are you stacking?",
    "437651": "Hi Dmytro - thanks for this! Definitely a little cryptic! I guess you are either referring to a large stack or extracting image vectors? If the latter how would you do this? I thought of training an AE and then flattening the middle encoding and using as features in a lgbm along with other model predictions.",
    "437685": "I don't believe anyone is labelling images for this competition. \nThe images provided are labelled in the train.csv file. When using external data you'll need to write a script to add the new images' labels to a similar csv file. For some guidance on this visit https://www.kaggle.com/c/human-protein-atlas-image-classification/discussion/69984",
    "437869": "I used a single model resnet50 architecture for my last submissions and resnet34 before that.\n\nresnet50 seems to work great but training takes a long time, so I'm thinking about switching to something lighter for now.\n\nI train about 50 epochs over different image sizes and it takes about 40 mins per epoch with sz=512 which is painful to sit through \n\nNo I don't stack\n\nSEResNext50 looks great, hopefully my hardware won't be a bottleneck when trying it",
    "438637": "do you use the seresnext implementation from titu1994 repository? I get OOM consistently on it.",
    "438865": "I just started my first training runs with it but Cadene's implementation in pytorch: https://github.com/Cadene/pretrained-models.pytorch\nworks fine for me",
    "439844": "I was wondering if there is a difference between the external dataset and the leaked dataset? Also, I was wondering if you get any boost in performance for training with different image sizes",
    "440018": "what I mean by external dataset is all the pictures from the HPA website with the corresponding labels to our 28 classes (there are some download scripts in the external data thread)\n\nleaked images are images from the external dataset that were matched with our test images so you basically know the correct prediction. (see [leak discussion](https://www.kaggle.com/c/human-protein-atlas-image-classification/discussion/73395))\n\nI get a significant boost from 224px to 512px but I can't try larger right now because of my hardware",
    "446064": "If we finish with a decent result, we will share everything in details.\nAt the moment I am actually puzzled by the first public LB place result, because it is either super-interesting or super-overfitted."
  },
  "source": "meta"
}