{
  "id": 354590,
  "title": "[Private LB 20th]How did I reach 0.82 from 0.68 on the public LB?",
  "url": "/competitions/hubmap-organ-segmentation/discussion/354590",
  "author_name": "Chinartist",
  "post_date": "2022-09-23T02:11:02.709000",
  "votes": 25,
  "comment_count": 17,
  "views": 0,
  "content": "<p>I'm very inexperienced because It's my first time to compete as a kaggler, and I have learnt so  much from this competition! I will share some tricks which really work in my experiments. Following sores mentioned are reached by single model(5 folds).</p>\n<h2>Expriments process</h2>\n<h3>0.68</h3>\n<p><strong>backbone</strong>: resnext-50<br>\n<strong>image size</strong>: (256,256)<br>\n<strong>tile</strong>: True<br>\n<strong>threshold</strong>: kidney=0.225,<br>\n    prostate=0.225,<br>\n    largeintestine=0.225,<br>\n    spleen=0.225,<br>\n    lung=0.225<br>\n<strong>cutmix</strong>: True<br>\nWe just used unext without any other tricks. And we tiled the original size into 1024 and then resized 1024 to 256.</p>\n<h3>0.76</h3>\n<p>Thanks for the sharing  from <a href=\"url\" target=\"_blank\">https://www.kaggle.com/hengck23</a> who really helped us.<br>\n<strong>backbone</strong>: mit-b2<br>\n<strong>image size</strong>: (768,768)<br>\n<strong>tile</strong> False<br>\n<strong>threshold</strong>: kidney=0.225,<br>\n    prostate=0.225,<br>\n    largeintestine=0.225,<br>\n    spleen=0.225,<br>\n    lung=0.225</p>\n<h3>0.79</h3>\n<p><strong>backbone</strong>: mit-b2<br>\n<strong>image size</strong>: (768,768)<br>\n<strong>tile</strong> False<br>\n<strong>threshold</strong>: kidney=0.225,<br>\n    prostate=0.225,<br>\n    largeintestine=0.225,<br>\n    spleen=0.1,<br>\n    <strong>lung</strong>=0.1<br>\n<strong>cutout</strong>: True<br>\ncutout can help accelerate Training and  improve your scores! A better threshold can bring very much improvement.</p>\n<h3>0.80</h3>\n<p><strong>backbone</strong>: mit-b2<br>\n<strong>image size</strong>: (768,768)<br>\n<strong>tile</strong> False<br>\n<strong>threshold</strong>:  kidney=0.225,<br>\n    prostate=0.225,<br>\n    largeintestine=0.225,<br>\n    spleen=0.1,<br>\n    lung=0.1<br>\n<strong>cutout</strong>: True<br>\n<strong>multiple initialization</strong>: True<br>\n<strong>stain tools</strong>: True<br>\nMultiple initialization is helpful to model ensembling!</p>\n<pre><code>init = [xavier_uniform_init,xavier_normal_init,he_init,kiming_init,orthogonal_init]\nmodel.aux.apply(init[fold%len(init)])\nmodel.head.apply(init[fold%len(init)])\nmodel.logit.apply(init[fold%len(init)])\n</code></pre>\n<h3>0.81</h3>\n<p><strong>backbone</strong>: mit-b2<br>\n<strong>image size</strong>: (768,768)<br>\n<strong>tile</strong> False<br>\n<strong>threshold</strong>:  kidney=0.225,<br>\n    prostate=0.225,<br>\n    largeintestine=0.225,<br>\n    spleen=0.1,<br>\n    lung=0.1<br>\n<strong>cutout</strong>: True<br>\n<strong>multiple initialization</strong>: True<br>\n<strong>pseudo label</strong>: True<br>\n<strong>stain tools</strong>: True<br>\nWe only use the pseudo label for lung while using the pseudo label for other organs will be harmful to model.</p>\n<h3>0.82</h3>\n<p><strong>backbone</strong>: coat<br>\n<strong>image size</strong>: (1024,1024)<br>\n<strong>tile</strong> False<br>\n<strong>threshold</strong>:  kidney=0.45,<br>\n    prostate=0.45,<br>\n    largeintestine=0.5,<br>\n    spleen=0.2,<br>\n    lung=0.1<br>\n<strong>cutout</strong>: True<br>\n<strong>multiple initialization</strong>: True<br>\n<strong>pseudo label</strong>: True<br>\n<strong>stain tools</strong>: True<br>\nThanks for the sharing from <a href=\"url\" target=\"_blank\">https://www.kaggle.com/hengck23</a> again!</p>\n<h3>Other experiments</h3>\n<p>We have spent too much time experimenting on cutmix which means we paste the label copied from another sample so that we don't have enough time to do more helpful experiments just like I have mentioned. We are anxious that cutmix will work well but the truth is that it is harmful to training. However, we used self-cutmix for model ensemble and the probability is 100% which means some models are trained on very different data. In this way, the harm can be controlled and it's helpful for ensembling.</p>\n<h4>I really want to know how to reach 0.83 or 0.84? Select the best models from dozens models you have trained? Find better thresholds for different organs? Larger image size like 1536?</h4>\n<p>Updating……………</p>",
  "messages": [
    {
      "id": 1951305,
      "postDate": "2022-09-23T02:11:02.710Z",
      "content": "<p>I'm very inexperienced because It's my first time to compete as a kaggler, and I have learnt so  much from this competition! I will share some tricks which really work in my experiments. Following sores mentioned are reached by single model(5 folds).</p>\n<h2>Expriments process</h2>\n<h3>0.68</h3>\n<p><strong>backbone</strong>: resnext-50<br>\n<strong>image size</strong>: (256,256)<br>\n<strong>tile</strong>: True<br>\n<strong>threshold</strong>: kidney=0.225,<br>\n    prostate=0.225,<br>\n    largeintestine=0.225,<br>\n    spleen=0.225,<br>\n    lung=0.225<br>\n<strong>cutmix</strong>: True<br>\nWe just used unext without any other tricks. And we tiled the original size into 1024 and then resized 1024 to 256.</p>\n<h3>0.76</h3>\n<p>Thanks for the sharing  from <a href=\"url\" target=\"_blank\">https://www.kaggle.com/hengck23</a> who really helped us.<br>\n<strong>backbone</strong>: mit-b2<br>\n<strong>image size</strong>: (768,768)<br>\n<strong>tile</strong> False<br>\n<strong>threshold</strong>: kidney=0.225,<br>\n    prostate=0.225,<br>\n    largeintestine=0.225,<br>\n    spleen=0.225,<br>\n    lung=0.225</p>\n<h3>0.79</h3>\n<p><strong>backbone</strong>: mit-b2<br>\n<strong>image size</strong>: (768,768)<br>\n<strong>tile</strong> False<br>\n<strong>threshold</strong>: kidney=0.225,<br>\n    prostate=0.225,<br>\n    largeintestine=0.225,<br>\n    spleen=0.1,<br>\n    <strong>lung</strong>=0.1<br>\n<strong>cutout</strong>: True<br>\ncutout can help accelerate Training and  improve your scores! A better threshold can bring very much improvement.</p>\n<h3>0.80</h3>\n<p><strong>backbone</strong>: mit-b2<br>\n<strong>image size</strong>: (768,768)<br>\n<strong>tile</strong> False<br>\n<strong>threshold</strong>:  kidney=0.225,<br>\n    prostate=0.225,<br>\n    largeintestine=0.225,<br>\n    spleen=0.1,<br>\n    lung=0.1<br>\n<strong>cutout</strong>: True<br>\n<strong>multiple initialization</strong>: True<br>\n<strong>stain tools</strong>: True<br>\nMultiple initialization is helpful to model ensembling!</p>\n<pre><code>init = [xavier_uniform_init,xavier_normal_init,he_init,kiming_init,orthogonal_init]\nmodel.aux.apply(init[fold%len(init)])\nmodel.head.apply(init[fold%len(init)])\nmodel.logit.apply(init[fold%len(init)])\n</code></pre>\n<h3>0.81</h3>\n<p><strong>backbone</strong>: mit-b2<br>\n<strong>image size</strong>: (768,768)<br>\n<strong>tile</strong> False<br>\n<strong>threshold</strong>:  kidney=0.225,<br>\n    prostate=0.225,<br>\n    largeintestine=0.225,<br>\n    spleen=0.1,<br>\n    lung=0.1<br>\n<strong>cutout</strong>: True<br>\n<strong>multiple initialization</strong>: True<br>\n<strong>pseudo label</strong>: True<br>\n<strong>stain tools</strong>: True<br>\nWe only use the pseudo label for lung while using the pseudo label for other organs will be harmful to model.</p>\n<h3>0.82</h3>\n<p><strong>backbone</strong>: coat<br>\n<strong>image size</strong>: (1024,1024)<br>\n<strong>tile</strong> False<br>\n<strong>threshold</strong>:  kidney=0.45,<br>\n    prostate=0.45,<br>\n    largeintestine=0.5,<br>\n    spleen=0.2,<br>\n    lung=0.1<br>\n<strong>cutout</strong>: True<br>\n<strong>multiple initialization</strong>: True<br>\n<strong>pseudo label</strong>: True<br>\n<strong>stain tools</strong>: True<br>\nThanks for the sharing from <a href=\"url\" target=\"_blank\">https://www.kaggle.com/hengck23</a> again!</p>\n<h3>Other experiments</h3>\n<p>We have spent too much time experimenting on cutmix which means we paste the label copied from another sample so that we don't have enough time to do more helpful experiments just like I have mentioned. We are anxious that cutmix will work well but the truth is that it is harmful to training. However, we used self-cutmix for model ensemble and the probability is 100% which means some models are trained on very different data. In this way, the harm can be controlled and it's helpful for ensembling.</p>\n<h4>I really want to know how to reach 0.83 or 0.84? Select the best models from dozens models you have trained? Find better thresholds for different organs? Larger image size like 1536?</h4>\n<p>Updating……………</p>",
      "rawMarkdown": "I'm very inexperienced because It's my first time to compete as a kaggler, and I have learnt so  much from this competition! I will share some tricks which really work in my experiments. Following sores mentioned are reached by single model(5 folds).\n## Expriments process\n### 0.68\n**backbone**: resnext-50\n**image size**: (256,256)\n**tile**: True\n**threshold**: kidney=0.225,\n    prostate=0.225,\n    largeintestine=0.225,\n    spleen=0.225,\n    lung=0.225\n**cutmix**: True\nWe just used unext without any other tricks. And we tiled the original size into 1024 and then resized 1024 to 256.\n### 0.76\nThanks for the sharing  from [https://www.kaggle.com/hengck23](url) who really helped us.\n**backbone**: mit-b2\n**image size**: (768,768)\n**tile** False\n**threshold**: kidney=0.225,\n    prostate=0.225,\n    largeintestine=0.225,\n    spleen=0.225,\n    lung=0.225\n### 0.79 \n**backbone**: mit-b2\n**image size**: (768,768)\n**tile** False\n**threshold**: kidney=0.225,\n    prostate=0.225,\n    largeintestine=0.225,\n    spleen=0.1,\n    **lung**=0.1\n**cutout**: True\ncutout can help accelerate Training and  improve your scores! A better threshold can bring very much improvement.\n### 0.80 \n**backbone**: mit-b2\n**image size**: (768,768)\n**tile** False\n**threshold**:  kidney=0.225,\n    prostate=0.225,\n    largeintestine=0.225,\n    spleen=0.1,\n    lung=0.1\n**cutout**: True\n**multiple initialization**: True\n**stain tools**: True\nMultiple initialization is helpful to model ensembling!\n\n    init = [xavier_uniform_init,xavier_normal_init,he_init,kiming_init,orthogonal_init]\n    model.aux.apply(init[fold%len(init)])\n    model.head.apply(init[fold%len(init)])\n    model.logit.apply(init[fold%len(init)])\n### 0.81\n**backbone**: mit-b2\n**image size**: (768,768)\n**tile** False\n**threshold**:  kidney=0.225,\n    prostate=0.225,\n    largeintestine=0.225,\n    spleen=0.1,\n    lung=0.1\n**cutout**: True\n**multiple initialization**: True\n**pseudo label**: True\n**stain tools**: True\nWe only use the pseudo label for lung while using the pseudo label for other organs will be harmful to model.\n### 0.82\n**backbone**: coat\n**image size**: (1024,1024)\n**tile** False\n**threshold**:  kidney=0.45,\n    prostate=0.45,\n    largeintestine=0.5,\n    spleen=0.2,\n    lung=0.1\n**cutout**: True\n**multiple initialization**: True\n**pseudo label**: True\n**stain tools**: True\nThanks for the sharing from [https://www.kaggle.com/hengck23](url) again!\n### Other experiments\nWe have spent too much time experimenting on cutmix which means we paste the label copied from another sample so that we don't have enough time to do more helpful experiments just like I have mentioned. We are anxious that cutmix will work well but the truth is that it is harmful to training. However, we used self-cutmix for model ensemble and the probability is 100% which means some models are trained on very different data. In this way, the harm can be controlled and it's helpful for ensembling.\n#### I really want to know how to reach 0.83 or 0.84? Select the best models from dozens models you have trained? Find better thresholds for different organs? Larger image size like 1536?\nUpdating...............",
      "votes": 25
    },
    {
      "id": 1951449,
      "postDate": "2022-09-23T04:26:04.477Z",
      "content": "<p>For me, get 0.83 in pb just use 768 and 1024 ensemble. But in lb is 0.81,  but some submiision with 0.82 can reach 0.82 in lb, so i chose the wront.</p>",
      "rawMarkdown": "For me, get 0.83 in pb just use 768 and 1024 ensemble. But in lb is 0.81,  but some submiision with 0.82 can reach 0.82 in lb, so i chose the wront.",
      "votes": 1,
      "replies": [
        {
          "id": 1951457,
          "postDate": "2022-09-23T04:32:29.473Z",
          "content": "<p>Thanks for sharing! I have thought about  use 1536 and 1024 ensemble but we don't have enough time to do more experiments😭. What a pity!</p>",
          "rawMarkdown": "Thanks for sharing! I have thought about  use 1536 and 1024 ensemble but we don't have enough time to do more experiments😭. What a pity!"
        }
      ]
    },
    {
      "id": 1951322,
      "postDate": "2022-09-23T02:20:54.747Z",
      "content": "<p>I used the stain tools for tranfer learning, and 50% stained data will be used while training and validing.<a href=\"url\" target=\"_blank\">https://www.kaggle.com/code/chinartist/resize-to-1024-stain/data</a></p>",
      "rawMarkdown": "I used the stain tools for tranfer learning, and 50% stained data will be used while training and validing.[https://www.kaggle.com/code/chinartist/resize-to-1024-stain/data](url)",
      "votes": 1
    },
    {
      "id": 1972593,
      "postDate": "2022-10-05T08:27:03.127Z",
      "content": "<blockquote>\n  <p>0.68<br>\n  backbone: resnext-50<br>\n  image size: (256,256)<br>\n  tile: True<br>\n  threshold: kidney=0.225,<br>\n  prostate=0.225,<br>\n  largeintestine=0.225,<br>\n  spleen=0.225,<br>\n  lung=0.225<br>\n  We just used unext without any other tricks. And we tiled the original size into 1024 and then resized 1024 to 256.</p>\n</blockquote>\n<p>Did you get this score without any color augmentation and pixel size modification?<br>\nI have tried heavy augmentation and pixel size modification and etc… but I can't score LB 0.65+.</p>",
      "rawMarkdown": "> 0.68\nbackbone: resnext-50\nimage size: (256,256)\ntile: True\nthreshold: kidney=0.225,\nprostate=0.225,\nlargeintestine=0.225,\nspleen=0.225,\nlung=0.225\nWe just used unext without any other tricks. And we tiled the original size into 1024 and then resized 1024 to 256.\n\nDid you get this score without any color augmentation and pixel size modification?\nI have tried heavy augmentation and pixel size modification and etc... but I can't score LB 0.65+.",
      "replies": [
        {
          "id": 1972605,
          "postDate": "2022-10-05T08:39:50.567Z",
          "content": "<p>You can try cutmix</p>",
          "rawMarkdown": "You can try cutmix"
        }
      ]
    },
    {
      "id": 1954240,
      "postDate": "2022-09-25T05:33:43.337Z",
      "content": "<p>Hello, I used the same training method as you in the first experiment (tile 256 and 5-folds), but I can only achieve a score of 0.58. Did you randomly divide the data into 5 folds and then do the training? Can you share your specific training method? I'm new to image segmentation, so I don't know what went wrong.</p>",
      "rawMarkdown": "Hello, I used the same training method as you in the first experiment (tile 256 and 5-folds), but I can only achieve a score of 0.58. Did you randomly divide the data into 5 folds and then do the training? Can you share your specific training method? I'm new to image segmentation, so I don't know what went wrong.",
      "replies": [
        {
          "id": 1954251,
          "postDate": "2022-09-25T06:05:20.933Z",
          "content": "<p>In fact, I used my cutmix in the first experiment which would improve a lot when the score was not high. But when I begin other experiments, my cutmix performered so pooly that I didn't want to use it anymore. If you want to reach 0.68 in the first experiment, you may need cutmix. Some contestants has found cutmix may over fit their train set so you should be careful.</p>",
          "rawMarkdown": "In fact, I used my cutmix in the first experiment which would improve a lot when the score was not high. But when I begin other experiments, my cutmix performered so pooly that I didn't want to use it anymore. If you want to reach 0.68 in the first experiment, you may need cutmix. Some contestants has found cutmix may over fit their train set so you should be careful."
        }
      ]
    },
    {
      "id": 1952231,
      "postDate": "2022-09-23T14:12:36.403Z",
      "content": "<p>Accordding to the third place resolution, I just have found why my cutmix performs very poorly. Instead of only selecting the masked part of another example, we should randomly select a part. I guess the resolution of us will over fit the hpa dataset.</p>",
      "rawMarkdown": "Accordding to the third place resolution, I just have found why my cutmix performs very poorly. Instead of only selecting the masked part of another example, we should randomly select a part. I guess the resolution of us will over fit the hpa dataset.",
      "replies": [
        {
          "id": 1952271,
          "postDate": "2022-09-23T14:36:50.860Z",
          "content": "<p>I missed the problem too, cutmix does overfit hpa for me.</p>",
          "rawMarkdown": "I missed the problem too, cutmix does overfit hpa for me."
        },
        {
          "id": 1972591,
          "postDate": "2022-10-05T08:24:34.340Z",
          "rawMarkdown": "",
          "isDeleted": true
        }
      ]
    },
    {
      "id": 1951897,
      "postDate": "2022-09-23T10:08:39.310Z",
      "content": "<p>Thanks for sharing the experiment process 😃.<br>\nI'm curious about the multiple initialization approach for model ensembling.<br>\nIs there any reference for this kind of method?</p>",
      "rawMarkdown": "Thanks for sharing the experiment process 😃.\nI'm curious about the multiple initialization approach for model ensembling.\nIs there any reference for this kind of method?",
      "replies": [
        {
          "id": 1952123,
          "postDate": "2022-09-23T13:04:53.407Z",
          "content": "<p>I'm not sure if anyone has advanced reserch on this. It just works very well.</p>",
          "rawMarkdown": "I'm not sure if anyone has advanced reserch on this. It just works very well.",
          "votes": 1
        }
      ]
    },
    {
      "id": 1951446,
      "postDate": "2022-09-23T04:23:09.333Z",
      "content": "<p>Maybe  cutmix will destroy the texture which may be important for training? </p>",
      "rawMarkdown": "Maybe  cutmix will destroy the texture which may be important for training? ",
      "replies": [
        {
          "id": 1951448,
          "postDate": "2022-09-23T04:24:56.347Z",
          "content": "<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F8569374%2F8f2f99a9af1303c1e0ee3a8958018ef4%2Foutput.png?generation=1663907208170410&amp;alt=media\" alt=\"\"></p>",
          "rawMarkdown": "![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F8569374%2F8f2f99a9af1303c1e0ee3a8958018ef4%2Foutput.png?generation=1663907208170410&alt=media)"
        },
        {
          "id": 1951519,
          "postDate": "2022-09-23T05:43:08.187Z",
          "content": "<p>Congratulation on the silver! one quick question<br>\nIs that <code>transformed image</code> output of cutmix?</p>",
          "rawMarkdown": "Congratulation on the silver! one quick question\nIs that `transformed image` output of cutmix?"
        },
        {
          "id": 1951660,
          "postDate": "2022-09-23T07:14:07.973Z",
          "content": "<p>Yes, just copy and paste on the same image.</p>",
          "rawMarkdown": "Yes, just copy and paste on the same image."
        }
      ]
    },
    {
      "id": 1951354,
      "postDate": "2022-09-23T02:50:48.127Z",
      "content": "<p>Very well-explained experiments. Thanks for sharing your knowledge.</p>",
      "rawMarkdown": "Very well-explained experiments. Thanks for sharing your knowledge."
    }
  ],
  "comments": [
    {
      "id": 1951449,
      "author_name": "Ksana",
      "author_url": "",
      "post_date": "2022-09-23T04:26:04.477000",
      "content": "<p>For me, get 0.83 in pb just use 768 and 1024 ensemble. But in lb is 0.81,  but some submiision with 0.82 can reach 0.82 in lb, so i chose the wront.</p>",
      "votes": 1,
      "replies": [
        {
          "id": 1951457,
          "author_name": "Chinartist",
          "author_url": "",
          "post_date": "2022-09-23T04:32:29.473000",
          "content": "<p>Thanks for sharing! I have thought about  use 1536 and 1024 ensemble but we don't have enough time to do more experiments😭. What a pity!</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1951322,
      "author_name": "Chinartist",
      "author_url": "",
      "post_date": "2022-09-23T02:20:54.747000",
      "content": "<p>I used the stain tools for tranfer learning, and 50% stained data will be used while training and validing.<a href=\"url\" target=\"_blank\">https://www.kaggle.com/code/chinartist/resize-to-1024-stain/data</a></p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1972593,
      "author_name": "yoshoo",
      "author_url": "",
      "post_date": "2022-10-05T08:27:03.127000",
      "content": "<blockquote>\n  <p>0.68<br>\n  backbone: resnext-50<br>\n  image size: (256,256)<br>\n  tile: True<br>\n  threshold: kidney=0.225,<br>\n  prostate=0.225,<br>\n  largeintestine=0.225,<br>\n  spleen=0.225,<br>\n  lung=0.225<br>\n  We just used unext without any other tricks. And we tiled the original size into 1024 and then resized 1024 to 256.</p>\n</blockquote>\n<p>Did you get this score without any color augmentation and pixel size modification?<br>\nI have tried heavy augmentation and pixel size modification and etc… but I can't score LB 0.65+.</p>",
      "votes": 0,
      "replies": [
        {
          "id": 1972605,
          "author_name": "Chinartist",
          "author_url": "",
          "post_date": "2022-10-05T08:39:50.567000",
          "content": "<p>You can try cutmix</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1954240,
      "author_name": "yuans hug",
      "author_url": "",
      "post_date": "2022-09-25T05:33:43.337000",
      "content": "<p>Hello, I used the same training method as you in the first experiment (tile 256 and 5-folds), but I can only achieve a score of 0.58. Did you randomly divide the data into 5 folds and then do the training? Can you share your specific training method? I'm new to image segmentation, so I don't know what went wrong.</p>",
      "votes": 0,
      "replies": [
        {
          "id": 1954251,
          "author_name": "Chinartist",
          "author_url": "",
          "post_date": "2022-09-25T06:05:20.933000",
          "content": "<p>In fact, I used my cutmix in the first experiment which would improve a lot when the score was not high. But when I begin other experiments, my cutmix performered so pooly that I didn't want to use it anymore. If you want to reach 0.68 in the first experiment, you may need cutmix. Some contestants has found cutmix may over fit their train set so you should be careful.</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1952231,
      "author_name": "Chinartist",
      "author_url": "",
      "post_date": "2022-09-23T14:12:36.403000",
      "content": "<p>Accordding to the third place resolution, I just have found why my cutmix performs very poorly. Instead of only selecting the masked part of another example, we should randomly select a part. I guess the resolution of us will over fit the hpa dataset.</p>",
      "votes": 0,
      "replies": [
        {
          "id": 1952271,
          "author_name": "Ksana",
          "author_url": "",
          "post_date": "2022-09-23T14:36:50.860000",
          "content": "<p>I missed the problem too, cutmix does overfit hpa for me.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1972591,
          "author_name": "",
          "author_url": "",
          "post_date": "2022-10-05T08:24:34.340000",
          "content": "",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1951897,
      "author_name": "Kuo-Hsin Tu",
      "author_url": "",
      "post_date": "2022-09-23T10:08:39.310000",
      "content": "<p>Thanks for sharing the experiment process 😃.<br>\nI'm curious about the multiple initialization approach for model ensembling.<br>\nIs there any reference for this kind of method?</p>",
      "votes": 0,
      "replies": [
        {
          "id": 1952123,
          "author_name": "Chinartist",
          "author_url": "",
          "post_date": "2022-09-23T13:04:53.407000",
          "content": "<p>I'm not sure if anyone has advanced reserch on this. It just works very well.</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 1951446,
      "author_name": "Chinartist",
      "author_url": "",
      "post_date": "2022-09-23T04:23:09.333000",
      "content": "<p>Maybe  cutmix will destroy the texture which may be important for training? </p>",
      "votes": 0,
      "replies": [
        {
          "id": 1951448,
          "author_name": "Chinartist",
          "author_url": "",
          "post_date": "2022-09-23T04:24:56.347000",
          "content": "<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F8569374%2F8f2f99a9af1303c1e0ee3a8958018ef4%2Foutput.png?generation=1663907208170410&amp;alt=media\" alt=\"\"></p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1951519,
          "author_name": "somuSan",
          "author_url": "",
          "post_date": "2022-09-23T05:43:08.187000",
          "content": "<p>Congratulation on the silver! one quick question<br>\nIs that <code>transformed image</code> output of cutmix?</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1951660,
          "author_name": "Chinartist",
          "author_url": "",
          "post_date": "2022-09-23T07:14:07.973000",
          "content": "<p>Yes, just copy and paste on the same image.</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1951354,
      "author_name": "Mugdha Hardikar",
      "author_url": "",
      "post_date": "2022-09-23T02:50:48.127000",
      "content": "<p>Very well-explained experiments. Thanks for sharing your knowledge.</p>",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "1951305": "I'm very inexperienced because It's my first time to compete as a kaggler, and I have learnt so  much from this competition! I will share some tricks which really work in my experiments. Following sores mentioned are reached by single model(5 folds).\n## Expriments process\n### 0.68\n**backbone**: resnext-50\n**image size**: (256,256)\n**tile**: True\n**threshold**: kidney=0.225,\n    prostate=0.225,\n    largeintestine=0.225,\n    spleen=0.225,\n    lung=0.225\n**cutmix**: True\nWe just used unext without any other tricks. And we tiled the original size into 1024 and then resized 1024 to 256.\n### 0.76\nThanks for the sharing  from [https://www.kaggle.com/hengck23](url) who really helped us.\n**backbone**: mit-b2\n**image size**: (768,768)\n**tile** False\n**threshold**: kidney=0.225,\n    prostate=0.225,\n    largeintestine=0.225,\n    spleen=0.225,\n    lung=0.225\n### 0.79 \n**backbone**: mit-b2\n**image size**: (768,768)\n**tile** False\n**threshold**: kidney=0.225,\n    prostate=0.225,\n    largeintestine=0.225,\n    spleen=0.1,\n    **lung**=0.1\n**cutout**: True\ncutout can help accelerate Training and  improve your scores! A better threshold can bring very much improvement.\n### 0.80 \n**backbone**: mit-b2\n**image size**: (768,768)\n**tile** False\n**threshold**:  kidney=0.225,\n    prostate=0.225,\n    largeintestine=0.225,\n    spleen=0.1,\n    lung=0.1\n**cutout**: True\n**multiple initialization**: True\n**stain tools**: True\nMultiple initialization is helpful to model ensembling!\n\n    init = [xavier_uniform_init,xavier_normal_init,he_init,kiming_init,orthogonal_init]\n    model.aux.apply(init[fold%len(init)])\n    model.head.apply(init[fold%len(init)])\n    model.logit.apply(init[fold%len(init)])\n### 0.81\n**backbone**: mit-b2\n**image size**: (768,768)\n**tile** False\n**threshold**:  kidney=0.225,\n    prostate=0.225,\n    largeintestine=0.225,\n    spleen=0.1,\n    lung=0.1\n**cutout**: True\n**multiple initialization**: True\n**pseudo label**: True\n**stain tools**: True\nWe only use the pseudo label for lung while using the pseudo label for other organs will be harmful to model.\n### 0.82\n**backbone**: coat\n**image size**: (1024,1024)\n**tile** False\n**threshold**:  kidney=0.45,\n    prostate=0.45,\n    largeintestine=0.5,\n    spleen=0.2,\n    lung=0.1\n**cutout**: True\n**multiple initialization**: True\n**pseudo label**: True\n**stain tools**: True\nThanks for the sharing from [https://www.kaggle.com/hengck23](url) again!\n### Other experiments\nWe have spent too much time experimenting on cutmix which means we paste the label copied from another sample so that we don't have enough time to do more helpful experiments just like I have mentioned. We are anxious that cutmix will work well but the truth is that it is harmful to training. However, we used self-cutmix for model ensemble and the probability is 100% which means some models are trained on very different data. In this way, the harm can be controlled and it's helpful for ensembling.\n#### I really want to know how to reach 0.83 or 0.84? Select the best models from dozens models you have trained? Find better thresholds for different organs? Larger image size like 1536?\nUpdating...............",
    "1951449": "For me, get 0.83 in pb just use 768 and 1024 ensemble. But in lb is 0.81,  but some submiision with 0.82 can reach 0.82 in lb, so i chose the wront.",
    "1951322": "I used the stain tools for tranfer learning, and 50% stained data will be used while training and validing.[https://www.kaggle.com/code/chinartist/resize-to-1024-stain/data](url)",
    "1972593": "> 0.68\nbackbone: resnext-50\nimage size: (256,256)\ntile: True\nthreshold: kidney=0.225,\nprostate=0.225,\nlargeintestine=0.225,\nspleen=0.225,\nlung=0.225\nWe just used unext without any other tricks. And we tiled the original size into 1024 and then resized 1024 to 256.\n\nDid you get this score without any color augmentation and pixel size modification?\nI have tried heavy augmentation and pixel size modification and etc... but I can't score LB 0.65+.",
    "1954240": "Hello, I used the same training method as you in the first experiment (tile 256 and 5-folds), but I can only achieve a score of 0.58. Did you randomly divide the data into 5 folds and then do the training? Can you share your specific training method? I'm new to image segmentation, so I don't know what went wrong.",
    "1952231": "Accordding to the third place resolution, I just have found why my cutmix performs very poorly. Instead of only selecting the masked part of another example, we should randomly select a part. I guess the resolution of us will over fit the hpa dataset.",
    "1951897": "Thanks for sharing the experiment process 😃.\nI'm curious about the multiple initialization approach for model ensembling.\nIs there any reference for this kind of method?",
    "1951446": "Maybe  cutmix will destroy the texture which may be important for training? ",
    "1951354": "Very well-explained experiments. Thanks for sharing your knowledge."
  }
}