{
  "id": 117053,
  "title": "Post processing is the Key!!!!",
  "url": "/competitions/understanding_cloud_organization/discussion/117053",
  "author_name": "",
  "post_date": "2019-11-13T05:55:40.536332500Z",
  "votes": 8,
  "comment_count": 13,
  "views": 0,
  "content": "<p>After training multiple model for more than 2 weeks and bad submission results, Today I realize that post processing is the key. Thanks <a href=\"/cdeotte\">@cdeotte</a>, I got this hint after reading topics you posted in this competition.</p>",
  "messages": [
    {
      "id": "671758",
      "postDate": "11/13/2019 05:55:40",
      "content": "<p>After training multiple model for more than 2 weeks and bad submission results, Today I realize that post processing is the key. Thanks <a href=\"/cdeotte\">@cdeotte</a>, I got this hint after reading topics you posted in this competition.</p>",
      "rawMarkdown": "After training multiple model for more than 2 weeks and bad submission results, Today I realize that post processing is the key. Thanks @cdeotte, I got this hint after reading topics you posted in this competition.",
      "votes": null
    },
    {
      "id": "671764",
      "postDate": "11/13/2019 06:05:52",
      "content": "<p>Wonderful. If you tweak your model (architecture and loss) you can have it output masks without the need for post processing, but I have gotten better results by not restricting my networks too much and instead using post processing too.</p>",
      "rawMarkdown": "Wonderful. If you tweak your model (architecture and loss) you can have it output masks without the need for post processing, but I have gotten better results by not restricting my networks too much and instead using post processing too.",
      "votes": null
    },
    {
      "id": "671780",
      "postDate": "11/13/2019 06:32:27",
      "content": "<p>Use post processing to remove false positives. Eg by size or by max pixel probability </p>",
      "rawMarkdown": "Use post processing to remove false positives. Eg by size or by max pixel probability",
      "votes": null
    },
    {
      "id": "671886",
      "postDate": "11/13/2019 09:19:12",
      "content": "<p>I won't call it the key..\nIt is quite risky to keep tuning the parameter of post-processing for just increasing the public score.\nIn fact, I have kept trying to get rid of post-processing since last week.. But it is pretty hard though..\nBut still, good luck with you</p>",
      "rawMarkdown": "I won't call it the key..\nIt is quite risky to keep tuning the parameter of post-processing for just increasing the public score.\nIn fact, I have kept trying to get rid of post-processing since last week.. But it is pretty hard though..\nBut still, good luck with you",
      "votes": null
    },
    {
      "id": "671924",
      "postDate": "11/13/2019 10:28:09",
      "content": "<p>Thanks <a href=\"/hengck23\">@hengck23</a>, I tried mask by size.. now i will try max pixel probability and best of luck for you!!!!</p>",
      "rawMarkdown": "Thanks @hengck23, I tried mask by size.. now i will try max pixel probability and best of luck for you!!!!",
      "votes": null
    },
    {
      "id": "672106",
      "postDate": "11/13/2019 14:15:35",
      "content": "<p><a href=\"/xiejialun\">@xiejialun</a> I did not tuned any parameter. I just used 3 lines of post processing code from Chris notebook thereby got boost of 0.003X on public LB and my rank improved from top 15% to top 8%. Then I realized that post processing may be key.</p>",
      "rawMarkdown": "xiejialun I did not tuned any parameter. I just used 3 lines of post processing code from Chris notebook thereby got boost of 0.003X on public LB and my rank improved from top 15% to top 8%. Then I realized that post processing may be key.",
      "votes": null
    },
    {
      "id": "672616",
      "postDate": "11/14/2019 02:44:52",
      "content": "<p>I think post-processing is very useful until LB score &lt; 0.670 😂 </p>",
      "rawMarkdown": "I think post-processing is very useful until LB score &lt; 0.670 😂",
      "votes": null
    },
    {
      "id": "672621",
      "postDate": "11/14/2019 02:51:05",
      "content": "<p>I see, since I drop a lot of score in steel competition with threshold tuning. Lol\nGood luck with you! I'm sure yours is fine.</p>",
      "rawMarkdown": "I see, since I drop a lot of score in steel competition with threshold tuning. Lol\nGood luck with you! I'm sure yours is fine.",
      "votes": null
    },
    {
      "id": "672622",
      "postDate": "11/14/2019 02:53:06",
      "content": "<p>If you don't mind, do you mean the pixel threshold part, or the mask size threshold part? Since I do feel I can't get more benefit from mask size threshold. But pixel threshold still impact my score a lot.</p>",
      "rawMarkdown": "If you don't mind, do you mean the pixel threshold part, or the mask size threshold part? Since I do feel I can't get more benefit from mask size threshold. But pixel threshold still impact my score a lot.",
      "votes": null
    },
    {
      "id": "672654",
      "postDate": "11/14/2019 03:41:50",
      "content": "<p>I did mean mask_size 😃  (mask.sum() &lt; 1000)</p>",
      "rawMarkdown": "I did mean mask_size 😃  (mask.sum() &lt; 1000)",
      "votes": null
    },
    {
      "id": "672663",
      "postDate": "11/14/2019 03:53:08",
      "content": "<p>wow.. 1000 is quite small. Mine is 10000 😂.\nYour model did predict quite accurate, good luck with you!</p>",
      "rawMarkdown": "wow.. 1000 is quite small. Mine is 10000 😂.\nYour model did predict quite accurate, good luck with you!",
      "votes": null
    },
    {
      "id": "672677",
      "postDate": "11/14/2019 04:09:52",
      "content": "<p>(mask.sum() &lt; 1000) is just an example. 😂 \nI didn’t use that kind of post-processing. \nGood luck with you, too!</p>",
      "rawMarkdown": "(mask.sum() &lt; 1000) is just an example. 😂 \nI didn’t use that kind of post-processing. \nGood luck with you, too!",
      "votes": null
    },
    {
      "id": "673023",
      "postDate": "11/14/2019 12:12:10",
      "content": "<p>For classify empty mask, I have tried two logic, I think in fact they do the same thing:\n1. if mask.sum()&lt;20000, then mask=0\n2. max_pool(logit_layer)&lt;0.5, then mask=0</p>",
      "rawMarkdown": "For classify empty mask, I have tried two logic, I think in fact they do the same thing:\n1. if mask.sum()&lt;20000, then mask=0\n2. max_pool(logit_layer)&lt;0.5, then mask=0",
      "votes": null
    },
    {
      "id": "673048",
      "postDate": "11/14/2019 12:55:05",
      "content": "<p>Yeah post-processing is the key but first you need a good model I guess</p>",
      "rawMarkdown": "Yeah post-processing is the key but first you need a good model I guess",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 671764,
      "author_name": "cdeotte",
      "author_url": "",
      "post_date": "11/13/2019 06:05:52",
      "content": "<p>Wonderful. If you tweak your model (architecture and loss) you can have it output masks without the need for post processing, but I have gotten better results by not restricting my networks too much and instead using post processing too.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 671780,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "11/13/2019 06:32:27",
      "content": "<p>Use post processing to remove false positives. Eg by size or by max pixel probability </p>",
      "votes": null,
      "replies": [
        {
          "id": 671924,
          "author_name": "raghaw",
          "author_url": "",
          "post_date": "11/13/2019 10:28:09",
          "content": "<p>Thanks <a href=\"/hengck23\">@hengck23</a>, I tried mask by size.. now i will try max pixel probability and best of luck for you!!!!</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 671886,
      "author_name": "xiejialun",
      "author_url": "",
      "post_date": "11/13/2019 09:19:12",
      "content": "<p>I won't call it the key..\nIt is quite risky to keep tuning the parameter of post-processing for just increasing the public score.\nIn fact, I have kept trying to get rid of post-processing since last week.. But it is pretty hard though..\nBut still, good luck with you</p>",
      "votes": null,
      "replies": [
        {
          "id": 672106,
          "author_name": "raghaw",
          "author_url": "",
          "post_date": "11/13/2019 14:15:35",
          "content": "<p><a href=\"/xiejialun\">@xiejialun</a> I did not tuned any parameter. I just used 3 lines of post processing code from Chris notebook thereby got boost of 0.003X on public LB and my rank improved from top 15% to top 8%. Then I realized that post processing may be key.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 672621,
          "author_name": "xiejialun",
          "author_url": "",
          "post_date": "11/14/2019 02:51:05",
          "content": "<p>I see, since I drop a lot of score in steel competition with threshold tuning. Lol\nGood luck with you! I'm sure yours is fine.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 672616,
      "author_name": "limerobot",
      "author_url": "",
      "post_date": "11/14/2019 02:44:52",
      "content": "<p>I think post-processing is very useful until LB score &lt; 0.670 😂 </p>",
      "votes": null,
      "replies": [
        {
          "id": 672622,
          "author_name": "xiejialun",
          "author_url": "",
          "post_date": "11/14/2019 02:53:06",
          "content": "<p>If you don't mind, do you mean the pixel threshold part, or the mask size threshold part? Since I do feel I can't get more benefit from mask size threshold. But pixel threshold still impact my score a lot.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 672654,
          "author_name": "limerobot",
          "author_url": "",
          "post_date": "11/14/2019 03:41:50",
          "content": "<p>I did mean mask_size 😃  (mask.sum() &lt; 1000)</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 672663,
          "author_name": "xiejialun",
          "author_url": "",
          "post_date": "11/14/2019 03:53:08",
          "content": "<p>wow.. 1000 is quite small. Mine is 10000 😂.\nYour model did predict quite accurate, good luck with you!</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 672677,
          "author_name": "limerobot",
          "author_url": "",
          "post_date": "11/14/2019 04:09:52",
          "content": "<p>(mask.sum() &lt; 1000) is just an example. 😂 \nI didn’t use that kind of post-processing. \nGood luck with you, too!</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 673023,
      "author_name": "niuddd",
      "author_url": "",
      "post_date": "11/14/2019 12:12:10",
      "content": "<p>For classify empty mask, I have tried two logic, I think in fact they do the same thing:\n1. if mask.sum()&lt;20000, then mask=0\n2. max_pool(logit_layer)&lt;0.5, then mask=0</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 673048,
      "author_name": "silverstone1903",
      "author_url": "",
      "post_date": "11/14/2019 12:55:05",
      "content": "<p>Yeah post-processing is the key but first you need a good model I guess</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "671758": "After training multiple model for more than 2 weeks and bad submission results, Today I realize that post processing is the key. Thanks @cdeotte, I got this hint after reading topics you posted in this competition.",
    "671764": "Wonderful. If you tweak your model (architecture and loss) you can have it output masks without the need for post processing, but I have gotten better results by not restricting my networks too much and instead using post processing too.",
    "671780": "Use post processing to remove false positives. Eg by size or by max pixel probability",
    "671886": "I won't call it the key..\nIt is quite risky to keep tuning the parameter of post-processing for just increasing the public score.\nIn fact, I have kept trying to get rid of post-processing since last week.. But it is pretty hard though..\nBut still, good luck with you",
    "671924": "Thanks @hengck23, I tried mask by size.. now i will try max pixel probability and best of luck for you!!!!",
    "672106": "xiejialun I did not tuned any parameter. I just used 3 lines of post processing code from Chris notebook thereby got boost of 0.003X on public LB and my rank improved from top 15% to top 8%. Then I realized that post processing may be key.",
    "672616": "I think post-processing is very useful until LB score &lt; 0.670 😂",
    "672621": "I see, since I drop a lot of score in steel competition with threshold tuning. Lol\nGood luck with you! I'm sure yours is fine.",
    "672622": "If you don't mind, do you mean the pixel threshold part, or the mask size threshold part? Since I do feel I can't get more benefit from mask size threshold. But pixel threshold still impact my score a lot.",
    "672654": "I did mean mask_size 😃  (mask.sum() &lt; 1000)",
    "672663": "wow.. 1000 is quite small. Mine is 10000 😂.\nYour model did predict quite accurate, good luck with you!",
    "672677": "(mask.sum() &lt; 1000) is just an example. 😂 \nI didn’t use that kind of post-processing. \nGood luck with you, too!",
    "673023": "For classify empty mask, I have tried two logic, I think in fact they do the same thing:\n1. if mask.sum()&lt;20000, then mask=0\n2. max_pool(logit_layer)&lt;0.5, then mask=0",
    "673048": "Yeah post-processing is the key but first you need a good model I guess"
  },
  "source": "meta"
}